(1) 创建S表,S#为主键,SN不能为空。
CREATE TABLE S ( S# CHAR(8) PRIMARY KEY, SN AGE );
(2) 创建计算机系学生的视图,该视图的属性列由学号、姓名、课程名和任课教师号组成。
CREATE VIEW computer_student(S#, SN, C#,T#) AS
SELECT S.S#, SN,SC.C#,T# FROM S,SC,T
WHERE S.S#= SC.S# AND SC.C#= T.C# AND DEPT=’计算机’ (3) 检索计算机系年龄在20岁以上的学生学号。
SELECT S# FROM S WHERE AGE>20 AND DEPT=’计算机’ (4) 检索姓王的教师所讲课程的课程号和课程名称。
SELECT C.C#,CN FROM C, T
WHERE C.C#= T.C# AND TN LIKE ‘王%’ (5) 检索张三同学所学课程的成绩,列出SN, C#,GR
SELECT SN,C#,GR FROM S,SC WHERE S.S#= SC.S# AND SN= ’张三’
(6) 检索选修总收入超过1000元的教师所讲课程的学生姓名、课程号和成绩。
SELECT SN,T.C#,GR FROM T,SC,S
WHERE T.C# =SC.C# AND S.S#= SC.S# AND (SAL+COMM)>1000
(7) 检索没有选修C1课程且选修课程数为两门的学生的姓名和平均成绩,并按平均成绩降序排列。
SELECT S.S#,SN,AVG(GR) AS AVGSCORE FROM S,SC WHERE S.S#= SC.S# AND C#<>’C1’ GROUP BY S.S#,SN HAVING COUNT(*)=2 ORDER BY AVG(GR) DESC
(8) 检索选修和张三同学所选课程中任意一门相同的学生姓名,课程名
SELECT SN,CN FROM S,SC,C
WHERE S.S#= SC.S# AND C.C#=SC.C# AND C# IN (SELECT C# FROM S,SC WHERE S.S#= SC.S# AND SN= ’张三’) AND SN<> ’张三’
(9) S1同学选修了C3,将此信息插入SC表中。
或:CN=ANY CHAR(8) NOT NULL, INT,
DEPT VARCHAR(20)
INSERT INTO SC(S#,C#) VALUES(‘S1’,’C3’) 或 INSERT INTO SC VALUES(‘S1’,’C3’) (10) 删除S表中没有选修任何课程的学生的记录。
DELETE FROM S WHERE S# NOT IN(SELECT DISTINCT S# FROM SC)
第4章习题参考答案 一、选择题
1. B 2. B 3. D 4. B 5. C 6. D 7. B 8. D 9. C 二、填空题 1. 超键(或超码)
2. 正确 完备
10. A
3. 属性集X的闭包X + 函数依赖集F的闭包F + 5. {AD→C} φ 7. 无损连接 保持函数依赖
4. 平凡的函数依赖 自反性 6. 2NF 3NF BCNF 8. AB BC BD 10. B→C A→D D→C 12. AD 3NF
9. B→φ B→B B→C B→BC 11. AB 1NF 三、简答题
7. 设有关系模式R(U,F),其中:
U={A,B,C,D,E},F={A→D,E→D,D→B,BC→D,CD→A } ⑴ 求R的候选码。
(2)根据函数依赖关系,确定关系模式R属于第几范式。 (3)将R分解为3NF,并保持无损连接性。 解:
⑴ 由于(CE)+ =ABCDE,C+ =C,E+ =BDE,?R的候选码是CE。 ⑵ 求出最小依赖集F’={A→D,E→D,D→B,BC→D,CD→A } 将R分解的3NF:?={AD,DE,BD,BCD,ACD}
第6章习题参考答案
一、选择题
1. B 2. C 3. C 4. A 5. C 6. B 7. C 8. B 9. D 11. D 12. B 13. B 14. D 二、填空题
1. 数据库的结构设计、数据库的行为设计 2. 新奥尔良法
3. 分析和设计阶段、实现和运行阶段 4. 需求分析
5. 概念结构设计
6. 自顶向下、自底向上
7. 属性冲突、命名冲突、结构冲突 8. 逻辑结构设计 三、设计题
1.一个图书管理系统中有如下信息:
图书:书号,书名,数量,位置
借书人:借书证号,姓名,单位
出版社:出版社名,邮编,地址,电话,E-mail
约定:任何人可借多种书,任何一种书可为多个人所借,借书证号具有唯一性。借书和还书时,要登记相应的借书日期和还书日期;一个出版社可以出版多种书籍,同一本书仅为一个出版社所出版,出版社具有唯一性。
根据以上情况,完成如下设计: (1)构造满足需求的E-R图。
(2)将E-R图转换为等价的关系模式。 (3)指出转换后的每个关系模式的关系键。
9. 确定物理结构、评价物理结构 10. 数据库加载 11. 运行和维护 12. 物理 13. 数据字典 14. 需求分析 15. 载入
10. C
解:(1)满足上述需求的E-R图如图所示。
书 号 书 名 数 量 位 置 邮 编 地 址 借书证号 姓 名 单 位 借书人 m 借阅 借书日期 出版社名 还书日期 n 出版 E-mail n 图书 1 出版社 电 话 (2-3)转换为等价的关系模式及关系键如下; 借书人(借书证号,姓名,单位)
图书(书号,书名,数量,位置,出版社名) 出版社(出版社名,电话,邮编,地址,E-mail) 借阅(借书证号,书号,借书日期,还书日期)。
2.图6-21(a)、(b)和(c)所示给出某企业管理系统三个不同的局部E-R图,将其合并成一个全局E-R图,并设置各个实体以及联系的属性(允许增加认为必要的属性,也可将有关基本实体的属性改为联系的属性)。 职员 设备处 1 零件 n m 拥有 生产 1 管理 n 设备 n 装配 m 零件 m 属于 1 部门 厂商 m 工人 (a) (b) (c) 图6-21 局部的E-R图 各实体构成如下:
部门:部门号,部门名,电话,地址
职员:职员号,职员名,职务(干部/工人),年龄,性别 设备处:单位号,电话,地址
工人:工人编号,姓名,年龄,性别 设备:设备号,名称,位置,价格 零件:零件号,名称,规格,价格
厂商:单位号,名称,电话,地址
解:汇总后的E-R图如图所示。 各类实体的属性为:
部门:部门号,部门名,电话,地址 职工:职工号,职工名,职务,年龄,性别 设备:设备号,名称,规格,价格 零件:零件号,名称,规格,价格
部门 1 工作 n 职工 1 m 生产 管理 n 设备 n 装配 n m 零件
3.某医院病房计算机管理中需要如下信息: 科室:科室名,科室地址,科室电话,医生姓名 病房:病房号,床位号,所属科室名
医生:工作证号,姓名,性别,出生日期,联系电话,职称,所属科室名 病人:病历号,姓名,性别,诊断记录,主管医生,病房号
其中,一个科室有多个病房、多个医生,一个病房只能属于一个科室,一个医生只属于一个科室,但可负责多个病人的诊治,一个病人的主管医生只有一个。 完成如下设计:
(1)设计该计算机管理系统的E-R图; (2)将该E-R图转换为关系模型结构; (3)指出转换结果中每个关系模式的候选码。 解:(1)本题的E-R图如图所示。
病历号 姓 名 性 别 工作证号 姓 名 性 别 出生日期 (2)对应的关系模式结构如下: 科室(科名,科地址,科电话) 病房(病房号,床位号)
医生(工作证号,姓名,性别,出生日期,联系电话,科室名,职 称) 病人(病历号,姓名,性别) 组成(病房号,科室名) 从属(工作证号,科名) 诊治(病历号,工作证号) 入住(病历号,病房号) 最终结果:
科室(科名,科地址,科电话) 病房(病房号,床位号,科室名)
医生(工作证号,姓名,性别,出生日期,联系电话,职称,科室名) 病人(病历号,姓名,性别,诊治记录,主管医生,病房号) (3)每个关系模式的候选码如(2)所示。
病房号 床位号 n 科室名 1 科室地址 科室电话 病房 1 入住 组成 科室 1 从属 n 病人 n 诊治 n 1 医生 所属科室名 职 称 联系电话

