SQL Server 2008数据库总复习题 下载本文

4、在采购管理系统中,需要存储和管理订单数据,一个订单的格式如下:

在这份订单中,包含如下信息:供货方信息、需货方信息、商品信息及订货信息。 (1)请分析订单中包含的实体及其联系,用E-R图表示出来。

分析:在订货业务中,涉及供货商、需货方、商品三个实体。同一个供货商可以供应多种商品,同一种商品可以由多个供货商供应。同时,一个需货方可以从多家供货商那里订货,一个供货商可以为多个需货方供货。 E-R图为: (2)将E-R图转换为等价的关系模型。

5. 在工厂生产中,一个车间可以生产多种产品,一种产品由多个零件组成。同一种零件可以用来组装多个产品,同一种产品可以由多个车间组装。已知车间的属性有车间编号、名称、车间主任,产品的属性有产品编号、产品名称、规格型号、价格,零件的属性有零件编号、零件名称、规格型号。根据以上假设,试作如下设计: (1)画出E-R图。

(2)将E-R图转换为等价的关系模型,并指出每个关系模式的主键和外键。 根据从E-R图到关系模型的转换原则,可以得到如下关系: 车间(车间编号,名称,车间主任)KEY=

车间主任

6.某教学管理系统对教师、学生及课程情况进行管理。系统要求记录学生的学号、姓名、性别、出生日期、专业、照片;教师的编号、姓名、性别、年龄、职称、专业;课程的编号、课程名、学时、类别,另外还要记录学生选课的成绩以及教师授课的效果。一个学生可以选修多门课程,同一编号的课程可以由多个教师讲授,一个教师可以同时承担多门课程的教学。请根据以上描述用E-R图表示出该系统的概念模型,转换为等价的关系模型,并指出每个关系模式的主键和外键。

教师(教师号,姓名,性别,年龄,职称,专业) PK=教师号 课程(课程号,课程名,学时,类别) PK=课程号

学生(学号,姓名,性别,出生日期,专业,照片) PK=学号 授课(教师号,课程号,评价) FK1=教师号,FK2=课程号 选修(学号,课程号,分数) FK1=学号,FK2=课程号

16、有一个“学生-课程”数据库,数据库中包括三个表: (1) “学生”表Student由学号(Sno)、姓名(Sname)、性别(Ssex)、年龄(Sage)、所

在系(Sdept)五个属性组成,可记为: Student(Sno,Sname,Ssex,Sage,Sdept) Sno 为关键字。 (2) “课程”表Course由课程号(Cno)、课程名(Cname)、先修课号(Cpno)、学分(Ccredit)四个属性组成,可记为: Course(Cno,Cname,Cpno,Ccredit) Cno为关键字。 (3) “学生选课”表SC由学号(Sno)、课程号(Cno)、成绩(Grade)三个属性组成,可记为: SC(Sno,Cno,Grade) (SNO, CNO) 为关键字。 完成下列操作: (1)写出创建Student数据库的命令,该数据库的主数据文件逻辑名称为Student_data,物理文件名为Student.mdf,初始大小为1MB,最大尺寸为2MB,增长速度为1mb;数据库的日志文件逻辑名称为Student_log,物理文件名为Student.ldf,初始大小为1MB,最大尺寸为3MB,增长速度为10%。 Create DataBase student ON

(name=student_data,filename=\size=1MB,maxsize=2MB,filegrowth=1MB ) LOG ON

(name=student_log,filename=\ , size=1MB, maxsize=3MB ,fielgrowth=10% )

(2)写出创建 “学生”表Student的命令,表Student是由学号Sno、姓名Sname、性别Ssex、年龄Sage、所在系Sdept五个属性组成,其中学号属性不能为空,并且其值是唯一的。

Create table student

(snonchar(10) not null primary key, Snamenchar(10), Ssexnchar(1), Sage int,

Sdeptnchar(20) )

(3).在student表中查询Sdept是‘计算机’的学生的所有信息,并按Sno降序排列。 Select * from student

where sdept like “计算机%” order by snodesc

(4).在以上三个表中查询Ccredit为5并且Grade大于60的学生的学号、姓名和性别。 select student.Sno,Sname,Ssex from student,course,sc

wherestudent.sno=course.sno and course.cno=sc.cno and ccredit=’5’ and grade=60

Student(Sno,Sname,Ssex,Sage,Sdept)

Course(Cno,Cname,Cpno,Ccredit) Cno为关键字。 SC(Sno,Cno,Grade) (SNO, CNO)

(5). 建立一个由学生姓名和课号组成的视图

Create view v姓名课号 As

Select sname,cno from student,course,sc

Where student.sno=course.sno and course.cno=sc.cno and ccredit=’5’ and grade=60

20. 有一个电影资料库,数据库中含有三个数据表:电影信息、演员信息和电影_演员信息。各表构成见表1-表3。