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

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

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

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

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

( sno nchar(10) not null primary key, Sname nchar(10), Ssex nchar(1), Sage int,

Sdept nchar(20) )

(3).在student表中查询Sdept是‘计算机’的学生的所有信息,并按Sno降序排列。 Select * from student where sdept like “计算机%” order by sno desc

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

where student.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。

(1) 请建立电影信息表,包括约束要求。 Create table 电影信息

( 影片编号 int identity primary key, 片名 varchar(50), 发行公司 varchar(50),

片长 smallint default 90

类型 char(4) check 类型 in (“惊险”,”言情”,”喜剧”,”科幻”,”其他”) (2) 为“电影_演员信息”表添加外键约束。 Alter table 电影_演员信息 Add constraint uk_ypbm foreign key(影片编号) references 电影信息(影片编号), constraint uk_yybm foreign key(演员编号) references 演员信息(演员编号)

(3)检索出主演过“科幻”类电影的演员的姓名及电影片名。 Select 姓名,片名 from 电影信息,演员信息,电影_演员信息 Where 电影_演员信息.影片编号=电影信息.影片编号 and

电影_演员信息.演员编号=演员信息.影片编号 and 类型=”科幻”

(4)检索出电影长度不小于平均长度的电影片名和发行公司。 Select 片名,发行公司 from 电影信息

Where 片长>(select avg(发行时间) from 电影信息)

21、请使用SQL命令完成以下数据定义或数据操纵 (1). 创建数据库“studentDB”,其主数据文件名称stu_data,物理文件保存在d:\\data下,名称为student.mdf,初始大小5M,最大50M,以1M速度增加;该数据库的日志文件是stu_log,保存在d:\\data下,名称为student.ldf,初始大小2M,以5%速度增加。

Create DataBase studentDB ON

(name=stu_data,filename=\ size=5MB,maxsize=50MB,filegrowth=1MB ) LOG ON

(name=stu_log,filename=\ , size=2MB, fielgrowth=5% )

(2)为16题建立的student表的“姓名”属性创建非惟一的非聚集索引 CREATE NONCLUSTERED INDEX inxm ON student(姓名)

(3) 为16题建立的student表输入以下数据。