2. 在SQL语言中,使用____________语句收回授权。
3. 一个SQL语句原则上可产生或处理一组记录,而程序语言一次只能处理一个
记录,为此必须协调两种处理方式,这是通过使用____________机制来解决的。
4. 在“学生—选课—课程”数据库中的三个关系如下:
S(S#,SNAME,SEX,AGE),SC(S#,C#,GRADE),C(C#,CNAME,TEACHER)。现要查找选修“数据库技术”这门课程的学生的学生姓名和成绩,可使用如下的SQL语句:SELECT SNAME,GRADE FROM S,SC,C WHERE CNAME=‘数据库技术’AND S.S#=SC.S# AND ___________ 。
5. 数据库管理系统中,为了保证事务的正确执行,维护数据库的完整性,要求
数据库系统维护以下事务特性:___________、一致性、隔离性和持久性。
6. 在一个关系中,任何 候选码中所包含的属性都称为______________。
7. 关系模式分解的等价性标准主要有两个,分别为分解具有______________、
和______________。
8. 如果关系模式R中所有的属性都是主属性,则R的规范化程度至少达到
_____________。
9. ______________是一种特殊的存储过程,它可以在对一个表上进行INSERT、
UPDATE和DELETE操作中的任一种或几种操作时被自动调用执行。
得 分 得 分 三、设计题
(10分)
假设某商业集团数据库中有一关系模式R如下:
R (商店编号,商品编号,数量,部门编号,负责人) 如果规定:
(1)每个商店的每种商品只在一个部门销售; (2)每个商店的每个部门只有一个负责人; (3)每个商店的每种商品只有一个库存数量。 试回答下列问题:
(1)根据上述规定,写出关系模式R的基本函数依赖; (3分) (2)找出关系模式R的候选码; (1分) (3)试问关系模式R最高已经达到第几范式?为什么? (2分)
(4)如果R不属于3NF,请将R分解成3NF模式集。 (4分)
得 分 得 分 四、实际应用题 (20分)
某医院病房管理系统中,包括四个实体型,分别为: 科室:科名,科地址,科电话 病房:病房号,病房地址
医生:工作证号,姓名,职称,年龄 病人:病历号,姓名,性别 且存在如下语义约束:
① 一个科室有多个病房、多个医生,一个病房只能属于一个科室,一个医
生只属于一个科室;
② 一个医生可负责多个病人的诊治,一个病人的主管医生只有一个; ③ 一个病房可入住多个病人,一个病人只能入住在一个病房。 注意:不同科室可能有相同的病房号。 完成如下设计:
(1)画出该医院病房管理系统的E-R图;(8分) (2)将该E-R图转换为关系模型;(5分)
(要求:1:1和1:n的联系进行合并)
(3)指出转换结果中每个关系模式的主码和外码。(7分)
得 分 五、编程题(10分)
假设存在名为AAA的数据库,包括S(S# char(8),SN varchar(8),AGE int,DEPT varchar(20),DateT DateTime)和SC(S# char(8),CN varchar(10),GRADE numeric(5,2))两张表。请按下列要求写一存储过程PROC3。
要求为:修改SC表中学号为@s1的值、课程名为@c1的值的学生成绩为@g1的值。
试题八参考答案与评分细则
一、单项选择题(共15小题,每小题2分,共30分)
题号 答案 题号 答案
1 A 11 B 2 B 12 D 3 D 13 B 4 C 14 D 5 C 15 D 6 A 16 D 7 B 17 C 8 C 18 B 9 A 19 C 10 B 20 C 二、填空题(共10空,每空2分,共20分)。
1. 物理 2. REVOKE 3. 游标 注:或Cursor 4. SC.C#=C.C# 注:或C.C#=SC.C# 5. 原子性 6. 主属性 7. 无损连接性 、 保持函数依赖性 8. 3NF 注:或 第三范式 9. 触发器
三、设计题(10分)
参考答案:
(1)有三个函数依赖:
(商店编号,商品编号) →部门编号 (1分)
(商店编号,部门编号) →负责人 (1分) (商店编号,商品编号) →数量 (1分) (2)R的候选码是 (商店编号,商品编号) (1分)
(3)因为R中存在着非主属性“负责人”对候选码 (商店编号、商品编号)
的传递函数依赖(1分),所以R属于2NF,R不属于3NF(1分)。 (4)将R分解成:
R1 (商店编号,商品编号,数量,部门编号) (2分) R2 (商店编号,部门编号,负责人) (2分)
四、实际应用题(20分)
参考答案:
(1)本题的E-R图如下图所示。
病房号 病房地址 科名 科地址 科电话 1 n 科室 病房 组成 1 1 入住 拥有 n n 1 n 医生 病人 诊治 工作证号 姓名 职称 病历号 姓名 性别 (2)转化后的关系模式如下: 科室(科名,科地址,科电话) 病房(病房号,病房地址,科名)
医生(工作证号,姓名,职称,年龄,科名)
病人(病历号,姓名,性别,主管医生,病房号,科名) (3)每个关系模式的主码、外码如下: 科室:主码是科名;
病房:主码是科名十病房号,外码是科名; 医生:主码是工作证号,外码是科名;
病人:主码是病历号,外码是科名十病房号。
年龄 )线评分标准:
(1)四个联系各1分,名称一定要表达联系含义,联系类型错误不给分;四
个实体型各1分,属性漏写、错写不给分。
(2)转化后的科室关系模式、病房关系模式、医生关系模式各1分,有一个
属性不正确均不给分,病人关系模式2分,漏写、错写一个属性扣1分扣完2分为止。 (3)科室:主码是科名(1分);
病房:主码是科名十病房号(1分),外码是科名(1分); 医生:主码是工作证号(1分),外码是科名(1分); 病人:主码是病历号(1分),外码是科名十病房号(1分)。
五、编程题(10分)
参考答案:
CREATE PROCEDURE PROC3 (1分) (
@s1 char(8),@c1 varchar(10),@g1 numeric(5,2) (3个变量定义各1分) )
AS (1分) BEGIN (1分) UPDATE SC (1分) SET GRADE=@g1 (1分) WHERE S#=@s1 AND CN=@c1 (2分) END
试题九
一、单项选择题
得 分 (本大题共15小题,每小题2分,共30分)