数据库原理总复习题 联系客服

发布时间 : 星期三 文章数据库原理总复习题更新完毕开始阅读4b325f99910ef12d2bf9e71d

FROM Student

WHERE Sname='刘晨');

16、将一个新学生记录(学号:95020;姓名:陈冬;性别:男;所在系:IS;年龄:18岁)插入Student表中 INSERT

INTO Student

VALUES ('95020', '陈冬', '男', 'IS', 18); 17、将学生95001的年龄改为22岁 UPDATE Student SET Sage=22

WHERE Sno='95001';

18、删除学号为95019的学生记录 DELETE

FROM Student

WHERE Sno=‘95019’;

19、创建一存储过程getDetailByName, 通过输入参数学生姓名(如“章山\),筛选出该学生的基本信息,对不存在此学生姓名的输入值,必须作一检测,打印信息“不存在此学生”。 (1)创建:

Create procedure getDetailByName @name nvarchar(10) AS

IF (SELECT COUNT(*) FROM Student WHERE Sname = @Name) > 0 SELECT *

FROM Student

Where Sname = @Name

ELSE

SELECT 警示 = '不存在姓名为 ' + @Name + ' 的学生资料'

22、创建Student表按学号升序建立唯一索引 Create Unique Index Stusno on Student(Sno) 23、创建Course表按课程号升序建立唯一索引 Create Unique Index Coucno on Course(Cno)

24、创建SC表按学号升序和课程号降序建立唯一索引 Create Unique Index Scno on SC(Sno ASC,Cno DESC) 25、建立信息系学生的视图 Creat View IS_Student AS

Select Sno,Sname,Sage From Student

Where Sdept=”IS” 26、建立所有女生记录的视图

Creat View F_Student(stdnum,name,sex,age,dept) AS

Select * From Student

Where Ssex=”女”

27、创建了一个名为stu_cou数据库,该数据库的主数据文件逻辑名称为“stu_cou_data”,物理

文件名为“stu_cou.mdf”,路径为D:\\sql,初始大小为10MB,最大尺寸为无限大,增长速度为10%;数据库的日志文件逻辑名称为“stu_cou_log”,物理文件名为“stu_cou.ldf”,路径为D:\\sql,初始大小为1MB,最大尺寸为5MB,增长速度为1MB。

Create database stu_cou on primary

(name=stu_cou_data,

filename='d:\\sql\\stu_cou.mdf', size=10,

maxsize=unlimited, filegrowth=10%) log on

(name=stu_cou_log,

filename='d:\\sql\\stu_cou.ldf', size=1, maxsize=5, filegrowth=1)

28、使用sp_addumpdevice创建一个备份设备stucbac,这是一个磁盘文件,其物理名称为

“D:\\sql\\stuc.bak”,将stu_cou数据库备份到该设备上。

Exec sp_addumpdevice ‘disk’,’stucbac’,’ D:\\sql\\stuc.bak’ Backup Database stu_cou to stucbac

30、查询其他系中比IS系任一学生年龄小的学生名单。 Select Sanme,Sage From

Where Sage

where Sdept=’IS’) and Sdept<>’IS’

31、查询student表中的所有信息,将查询结果保存到当前数据库中的新数据表re_stu中。 Select * into re_stu from student

32、查询出所有所有学生的学号、姓名、性别、年龄、所在系,而且请使用中文作为查询结果的各字段的名称。

Select Sno as 学号,Sname as 姓名,Ssex as 性别,Sage as 年龄,Sdept as 所在系 From Student 或者

Select 学号=Sno, 姓名=Sname,性别=Ssex,年龄=Sage, 所在系=Sdept From Student

八、综合题

1、 旅馆的住房管理问题应包括客房管理与收费管理,现在用关系模式收费R(住客姓名,

性别,年龄,地址,客房号,床位号,收费标准,住宿日期,退房日期,预付款)进行记录,假设:(1)旅馆住客中可能存在同名现象。

(2)一个客人可以多次、不同时间到该旅馆住宿。 试回答下列问题:

(1) 关系模式R最高已经达到第几范式?为什么? (2) 如果R不属于3NF,请将R分解成3NF模式集。

解答:(1)显然,该关系模式属于1NF。同时存在非主属性对候选键的部分依赖,所以该关系模式不满足2NF的条件。由此可见,该关系模式最高只达到1NF。

(2)住客信息(住客身份证,住客姓名,性别,年龄,地址),其中主键是住客身份证。 床位信息(客房号,床位号,收费标准),其中主键是(客房号,床位号)。 住宿信息(客房号,床位号,住宿日期,住客身份证,预付款,退房日期),其中主键是(客房号,床位号,住宿日期)。

显然,以上关系三个关系模式都满足2NF。而且,这三个关系模式都不存在非主属性对键的传递函数依赖,因此以上两个关系模式都满足3NF。

2、设有如下实体:

学生:学号、单位、姓名、性别、年龄、选修课程名 课程:编号、课程名、开课单位、任课教师号 教师:教师号、姓名、性别、职称、讲授课程编号 单位:单位名称、电话、教师号、教师名 上述实体中存在如下联系:

(1) 一个学生可选修多门课程,一门课程可为多个学生选修; (2) 一个教师可讲授多们课程,一门课程可为多个教师讲授; (3) 一个单位可有多个教师,一个教师只能属于一个单位。 试完成如下工作:

(1) 分别设计学生选修课和教师任课两个局部信息的结构E-R图。 (2) 将上述设计完成的E-R图合并成一个全局E-R图。 (3) 将该E-R图转换为等价的关系模式表示的数据库逻辑结构。

(1)学生选课局部E—R图如下:

l 单位名称 单位 开课 l 拥有 m m 学生 选修 课程 教师号 学号 姓名 性别 年龄 编号 课程名

教师任课局部E—R图如下: 教师号 姓名 性别 职称 编号 m n 教 师 讲授 课程 m 属于

l

单 位

单位名 电话

(2)、合并的全局E—R图如下:

l m 单位 属于 教师

l m l

拥有 开课 讲授

m m n m n 学生 选修 学生

(3)该全局E—R图转换为等价的关系模型表示的数据库逻辑结构如下: 单位(单位名,电话)

教师(教师号,姓名,性别,职称,单位名) 课程(课程编号,课程名,单位名) 学生(学号,性别,年龄,单位名) 讲授(教师号,课程编号)

3、1. 假设某商业集团数据库中有一关系模式R如下:

R (商店编号,商品编号,数量,部门编号,负责人) 如果规定:(1) 每个商店的每种商品只在一个部门销售; (2) 每个商店的每个部门只有一个负责人; (3) 每个商店的每种商品只有一个库存数量。 试回答下列问题:

(1) 根据上述规定,写出关系模式R的基本函数依赖; (2) 找出关系模式R的候选码;

(3) 试问关系模式R最高已经达到第几范式?为什么? (4) 如果R不属于3NF,请将R分解成3NF模式集。

答:(1) 有三个函数依赖:(商店编号,商品编号) →部门编号

(商店编号,部门编号) →负责人 (商店编号,商品编号) →数量

(2) R的候选码是 (商店编号,商品编号)

(3) 因为R中存在着非主属性“负责人”对候选码 (商店编号、商品编号)的传递函数依赖,所以R属于2NF,R不属于3NF。

(4) 将R分解成:R1 (商店编号,商品编号,数量,部门编号) R2 (商店编号,部门编号,负责人)