发布时间 : 星期三 文章数据库原理总复习题更新完毕开始阅读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 (商店编号,部门编号,负责人)