一、填空题(本题10空 ,每空1分,共10分 )
1. 关系数据模型由关系数据结构、关系操作和 ①关系完整性约束 三部分组成。
2. 一般情况下,当对关系R和S使用自然连接时,要求R和S含有一个或多个共有的 ②属性
3. 在关系A(S,SN,D)和B(D,CN,NM)中,A的主码是S,B的主码是D,则D在A中称为 ③外码 。
4. 数据库系统中最重要的软件是 ④数据库管理系统(或DBMS) ,最重要的用户是 ⑤数据库管理员(或DBA)
5. 数据库设计分为以下六个设计阶段:需求分析阶段、 ⑥概念结构设计阶段 、逻辑结构设计阶段、 ⑦物理结构设计阶段 、数据库实施阶段、数据库运行和维护阶段。
6. 已知关系R(A,B,C,D)和R上的函数依赖集F={A→CD,C→B},则
R∈ ⑧2 NF。
7. 关系模式分解的等价性标准主要有两个,分别为分解具有 ⑨无损链接性 和⑩保持函数依赖。
二、单项选择题(请在每小题的4个备选答案中,选出一个最佳答案,共20小题;每小题1分,共20分)
1. 数据库系统的核心是( B )
A.数据库 B.数据库管理系统
C.数据模型 D.软件工具
2.在关系数据库设计中,设计关系模式是数据库设计中( A )阶段的任务
A. 逻辑设计 B.物理设计 C.需求分析 D.概念设计
3.事务的隔离性是指( A )。
A.一个事务内部的操作及使用的数据对并发的其他事务是隔离的
B.事务一旦提交,对数据库的改变是永久的
C.事务中包括的所有操作要么都做,要么都不做
D.事务必须是使数据库从一个一致性状态变到另一个一致性状态
4.若事务T对数据对象A加上S锁,则( B )。
A.事务T可以读A和修改A,其它事务只能再对A加S锁,而不能加X 锁。
B.事务T可以读A但不能修改A,其它事务只能再对A加S锁,而不能加X 锁。
C.事务T可以读A但不能修改A,其它事务能对A加S锁和X锁。
D.事务T可以读A和修改A,其它事务能对A加S锁和X锁。
5. 设有两个事务T1、T2,其并发操作如图2所示,下面评价正确的是( B )
A. 该操作不存在问题 B. 该操作丢失修改
C. 该操作不能重复读 D. 该操作读“脏”数据
T1 T2
① 读A=100
② 读A=100
③ A=A-5写回
④ A=A-8写回
图2
6.从E-R模型关系向关系模型转换时,一个M:N联系转换为关系模式时,该关系模式的关键字是( C )。
A.M端实体的关键字 B.N端实体的关键字
C.M端实体关键字与N端实体关键字组合 D.重新选取其他属性
7.在数据库设计中, E-R图产生于( D )
A. 需求分析阶段 B.物理设计阶段
C.逻辑设计阶段 D.概念设计阶段
8. ( )用来记录对数据库中数据进行的每一次更新操作。
A.后援副本 B.日志文件
C.数据库 D.缓冲区
9. 数据库管理系统能实现对数据库中数据的查询、插入、修改和删除等操作的数据库语言称为( )
A.数据定义语言(DDL) B.数据管理语言
C.数据操纵语言(DML) D.数据控制语言
10.如果事务T已在数据R上加了X锁,则其他事务在数据R上( )
A. 只可加X锁 B. 只可加S锁
C. 可加S锁或X锁 D. 不能加任何锁
三、简答题(本题共4小题,每小题5分,共20分 )
1、试描述数据库设计的全部过程(3分)以及过程中各个阶段的设计描述(2分)?
2、说明可能破环参照完整性的情况(3分)以及相应的违约处理(2分)。
3、什么是视图,(2分)它的优点是什么?(3分)
4、什么是数据库中的自主存取控制方法(2分)和强制存取控制方式?(3分)
5、简述事务的特性(5分)。
6、并发操作可能会产生哪几类数据不一致(3分)? 用什么方法避免不一致的情况?(2分)。
四、SQL语言(本题共8小题,共25分)
设有关系模式:S(SNO,SNAME,CITY),其中,S表示供应商,SNO为供应商代号,SNAME为供应商名字,CITY为供应商所在城市。
P(PNO,PNAME,COLOR,WEIGHT),其中P表示零件,PNO为零件代号,PNAME为零件名字,COLOR为零件颜色,WEIGHT为零件重量。
J(JNO,JNAME,CITY),其中,J表示工程,JNO为工程编号,JNAME为工程名字,CITY为工程所在城市。
SPJ(SNO,PNO,JNO,CITY),其中,SPJ表示供应关系,SNO是为指定工程提供零件的供应商代号,PNO为所提供的零件代号,JNO为工程编号,QTY表示提供的零件数量。
1. 查询为工程J1提供零件的供应商代号;
SELECT SNO
FROM SPJ
WHERE JNO=’JI’;
2. 由供应商S1提供零件的工程名称;
SELECT J.JNAME
FROM J, SPJ
WHERE J.JNO=SPJ.JNO AND SPJ.SNO=’S1’;
3. 查询出重量最轻的零件代号;
SELECT PNO
FROM P
WHERE WEIGHT IN
(SELECT MIN (WEIGHT) FROM P);
4. 查询为工程J1提供红色零件的供应商代号;
SELECT DISTINCT SPJ.SNO
FROM SPJ, P
WHERE P.PNO=SPJ.PNO AND SPJ.JNO=’JI’ AND P.COLOR=’红’;
5. 查询由供应商S1提供零件的工程的代号;
SELECT DISTINCT SPJ.JNO
FROM S, P, SPJ
WHERE S.SNO=SPJ.SNO AND P.PNO=SPJ.PNO AND S.SNO=’S1’;
6. 计算同一个城市中工程的数量。
SELECT COUNT(JNO)
FROM J
GROUP BY CITY;
7. 向S表插入一条记录,SNO为‘S6’,SN为‘N6’,CITY为‘南京’
INSERT INTO S
VALUES(‘S6’,‘N6’,‘南京’);
8. 将SNO为S3的城市改为上海。
UPDATE S
SET CITY=‘上海’
WHERE SNO=‘S3’;
9. 删除J表中工程号为‘J6’的记录。
DELETE FROM J
WHERE JNO=‘J6’;
10. 用SQL的GRANT命令给用户张三授予对SPJ表的SELET权力,并且可以将该权利授予其他用户。
GRANT SELECT ON SPJ TO 张三
WITH GRANT OPTION;
五、综合题(本题2小题,共25分)
1. 现有如下关系模式:借阅(图书编号,书名,作者名,出版社,读者编号,读者姓名,借阅日期,归还日期),基本函数依赖集F={图书编号→(书名,作者名,出版社),读者编号→读者姓名,(图书编号,读者编号,借阅日期)→归还日期}
(1)读者编号是候选码吗?(2分)
(2)写出该关系模式的主码。(2分)
(3)该关系模式中是否存在非主属性对码的部分函数依赖?如果存在,请写出一个。(2分)
(4)该关系模式满足第几范式?并说明理由。(4分)
答:(1)不是(2分)。
(2)(图书编号,读者编号,借阅日期)(2分)
(3)存在(1分)。(图书编号,读者编号,借阅日期)→书名、(图书编号,读者编号,借阅日期)→作者名、(图书编号,读者编号,借阅日期)→出版社、(图书编号,读者编号,借阅日期)→读者姓名(1分,四个函数依赖任选一个即可)
(4)1NF。因为存在非主属性对码的部分函数依赖。
2.某企业集团有若干工厂,每个工厂生产多种产品,且每一种产品可以在多个工厂生产,每个工厂按照固定的计划数量生产产品;每个工厂聘用多名职工,且每名职工只能在一个工厂工作,工厂聘用职工有聘期和工资。工厂的属性有工厂编号、厂名、地址,产品的属性有产品编号、产品名、规格,职工的属性有职工号、姓名。
(1)根据上述语义画出E-R图;(5分)
2)将该E-R模型转换为关系模型;(5分)(要求:1:1和1:n的联系进行合并)
转化后的关系模式如下:
工厂(工厂编号,厂名,地址)
产品(产品编号,产品名,规格)
职工(职工号,姓名,工产编号,聘期,工资)
生产(工产编号,产品编号,计划数量)
(3)指出转换结果中每个关系模式的主码和外码。(5分)
每个关系模式的主码、外码如下:
工厂:主码是工产编号;
产品:主码是产品编号;
职工:职工号,外码是工厂编号;
生产:主码是(工产编号,产品编号),
外码是工产编号、产品编号。