试卷
一、选择题
1. ________是长期存储在计算机内的有组织,可共享的数据集合.
A.数据库管理系统 B.数据库系统
C.数据库 D.文件组织
1. 有12个实体类型,并且它们之间存在15个不同的二元联系,其中4个是1:1联系类型,5个是1:n联系类型,6个m:n联系类型,那么根据转换规则,这个E-R结构转换成的关系模式至少有______。
A. 17个 B. 18个 C. 23个 D. 27个
2. DBMS的并发控制子系统保证了事务______的实现。
A.原子 B.一致性和隔离性 C.原子性和一致性 D.持久性
3. 数据库管理系统能实现对数据库数据的查询、插入修改和删除等操作,这种功能称为 。
A.数据定义功能 B.数据管理功能
C.数据操纵功能 D.数据控制功能
4. 如果有n个事务串行调度,那么不同的有效调度有______。
A. 4n B. n! C. n2 D. 2n
5. 在SQL语言中授权的操作是通过_____ _____语句实现的。
A.CREATE B.REVOKE
C.GRANT D.INSERT
6. 概念结构设计阶段得到的结果是__ __。
A.数据字典描述的数据需求 B.E-R图表示的概念模型
C.某个DBMS所支持的数据模型 D.包括存储结构和存取方法的物理结构
二、填空题
- 提供数据库定义,数据库装入,数据操纵,数据控制和DB维护功能的软件称为 (1)
- 数据管理经过了手工文档、文件系统和__(2)______三个发展阶段。
- 关系模型的三个基本要素:数据结构 , 数据操作 和 (3) 。
- 数据独立性分为逻辑独立性和______(4)____________。
- 如果在事务的状态图中 (5) ,则系统会出现死锁现象。
- 数据库系统中可能发生的故障种类有:事务内部故障,_ (6)__,介质故障,计算机病毒。
- 判断一个并发调度是否正确,可用 (7) 概念来衡量。
- 数据库恢复操作的基本原理是 (8) 。
- 封锁对象的大小称为: (9) 。
- 建立冗余数据最长用的技术是 (10) 和登录日志文件。
三、应用题
2、设数据库中有3个关系:
职工表(职工工号,姓名,年龄,性别,籍贯)
工作表(职工工号,公司编号,工资)
公司表(公司编号,公司名称,公司所在城市)
分别表示为:
EMP(E#, ENAME, AGE, SEX, ECITY)
WORKS(E#, C#, SALARY)
COMP(C#, CNAME, CITY)
请用SQL语句写出下列操作:
(1) 查询籍贯在江西南昌的职工信息。
(2) 查询在南昌工作的职工信息。
(3) 假设每个职工可以在多个公司工作,查询在编号为C4和C8公司兼职的职工工号和姓名。
(4) 假设每个职工可以在多个公司工作,查询每个职工的兼职公司数目和工资总数,按(E#, NUM, SUM_SALARY)显示,分别表示职工工号、公司数目和工资总数。
(5) 设职工工号为E6的职工在多个公司工作,查询至少在E6职工兼职的所有公司工作的职工工号。(6分)
3、根据给出的关系代数表达式的语法树,利用关系代数表达式的优化算法
对该语法树进行优化,画出优化后的标准语法树。
在供应关系数据库S_P_J中有供应商表S,零件表P,工程项目表J,及供应情况表SPJ四个表。以下是“没有使用天津供应商生产的红色零件的工程号JNO” 对应的关系代数表达式为:
(1)用SQL语言表示上述关系代数。
(2)先将关系代数转化成语法树, 并对其进行优化处理,画出优化后的标准语法树。
4、设关系模式R(A,B,C,D)函数依赖集F={A→C, C→A, B→AC, D→AC, BD→A}。
(1)求(BD) F+,并说明BD是否为R 的候选码。
(2)求出R的最小函数依赖集。
5.考虑以下两个事务,举例说明这两个事务的执行会引起死锁吗?
四、综合题
1. 一个图书借阅管理数据库要求提供下述服务:
• 可随时查询书库中现有书籍的品种、数量及存放位置。所有各类书籍均可由书号唯一标识。
• 可随时查询书籍借还情况。包括借书人单位、姓名、借书证号、借书日期和还书日期。约定:任何人可借多种书,任何一种书可为多个人所借,借书证号具有唯一性。
• 当需要时,可通过数据库中保存的出版社的电报编号、电话、邮编及地址等信息向有关书籍的出版社增购有关书籍。约定:一个出版社可出版多种书籍,同一本书仅为一个出版社出版,出版社名具有唯一性。
根据以上情况和假设,试作如下设计:
(1) 画出满足需求的E-R图。
(2) 将上述E-R图转换为等价的关系模式,并标出主码与外码。
答案
一、选择题
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
---|---|---|---|---|---|---|---|---|---|
C | C | B | B | C | B | C | B | B | A |
二、填空题
(1) | 数据库管理系统(DBMS) | (2) | 数据库系统 |
---|---|---|---|
(3) | 完整性约束 | (4) | 物理独立性 |
(5) | 沿箭头方向存在一个循环 | (6) | 系统故障 |
(7) | 可串行化 | (8) | 冗余 |
(9) | 封锁粒度 | (10) | 数据转储 |
三、应用题
2、设数据库中有3个关系:
职工表(职工工号,姓名,年龄,性别,籍贯)
工作表(职工工号,公司编号,工资)
公司表(公司编号,公司名称,公司所在城市)
分别表示为:
EMP(E#, ENAME, AGE, SEX, ECITY)
WORKS(E#, C#, SALARY)
COMP(C#, CNAME, CITY)
请用SQL语句写出下列操作:
(1)查询籍贯在江西南昌的职工信息。
SELECT * FROM EMP WHERE ECITY=’江西南昌’
(2)查询在南昌工作的职工信息。
SELECT E#,ENAME,AGE,SEX,ECITY FROM EMP,WORKS,COMP
Where EMP.E#=WORKS.E# AND WORKS.C#=COMP.C# AND CITY=”南昌”
(3)假设每个职工可以在多个公司工作,查询在编号为C4和C8公司兼职的职工工号和姓名。
SELECT A.E#, A.ENAME FROM EMP A, WORKS B, WORKS C
WHERE A.E# = B.E# AND B.E# = C.E# AND B.C# = ‘C4’ AND C.C# = ’C8’;
(4)假设每个职工可以在多个公司工作,查询每个职工的兼职公司数目和工资总数,按(E#, NUM, SUM_SALARY)显示,分别表示职工工号、公司数目和工资总数。
SELECT E#, COUNT(C#) AS NUM, SUM(SALARY) AS SUN_SALARY
FROM WORKS GROUP BY E#;
(5)设职工工号为E6的职工在多个公司工作,查询至少在E6职工兼职的所有公司工作的职工工号。
SELECT X.E# FROM WORKS X
WHERE NOT EXISTS
(SELECT * FORM WORKS Y
WHERE E# = ‘E6’ AND NOT EXISTS
(SELECT * FROM WORKS Z
WHERE Z.E# = X. E# AND Z.C# = Y.C#));
3、根据给出的关系代数表达式的语法树,利用关系代数表达式的优化算法
对该语法树进行优化,画出优化后的标准语法树。
在供应关系数据库S_P_J中有供应商表S,零件表P,工程项目表J,及供应情况表SPJ四个表。以下是“没有使用天津供应商生产的红色零件的工程号JNO” 对应的关系代数表达式为:
(1)用SQL语言表示上述关系代数。
SELECT JNO FROM J WHERE JNO NOT IN(SELECT JNO
FROM S,SPJ,P WHERE S.SNO=SPJ.SNO AND
SPJ.PNO=P.PNO AND S.CITY=‘天津’ AND P.COLOR=‘红’)
(2)先将关系代数转化成语法树, 并对其进行优化处理,画出优化后的标准语法树。
4、设关系模式R(A,B,C,D)函数依赖集F={A→C, C→A, B→AC, D→AC, BD→A}。
(1)求(BD) F+,并说明BD是否为R 的候选码。
(2)求出R的最小函数依赖集。
求最小函数依赖集。
(1)将F中函数依赖的右部分解为单属性:(2分)
F={A→C,C→A, B→A, B→C, D→A, D→C, BD→A}
(2)去掉F中冗余的函数依赖:(4分)
判断A→C是否冗余。
设:G1={C→A, B→A, B→C, D→A, D→C, BD→A}, 得:AG1+=A,
∵ CÏ AG1+ ∴A→C不冗余。
判断C→A是否冗余。
设:G2={A→C, B→A, B→C, D→A, D→C, BD→A}, 得:CG2+=C,
∵ AÏ CG2+ ∴C→A不冗余。
判断B→A是否冗余。
设:G3={A→C,C→A, B→C, D→A, D→C, BD→A}, 得:BG3+=ABC,
∵ A Î BG3+ ∴ B→A冗余。
判断B→C是否冗余。
设:G4={A→C,C→A, D→A, D→C, BD→A}, 得:BG4+=B,
∵ CÏ BG4+ ∴ B→C不冗余。
判断D→A是否冗余。
设:G5={A→C,C→A, B→C, D→C, BD→A}, 得:DG5+=ADC,
∵ A Î DG5+ ∴ D→A冗余。
判断D→C是否冗余。
设:G6={A→C,C→A, B→C, BD→A}, 得:DG6+=D,
∵ C Ï DG6+ ∴ D→C不冗余。
判断BD→A是否冗余。
设:G7={A→C,C→A, B→C, D→C}, 得:(BD)G7+ =BDCA,
∵ A Î (BD)G7+ ∴ BD→A冗余
所以:F={A→C,C→A, B→C, D→C}。
3)由于F的左部均为单属性,所以:
最小函数依赖集F={A→C,C→A, B→C, D→C}。
5.考虑以下两个事务,举例说明这两个事务的执行会引起死锁吗?
四、综合题
1. 一个图书借阅管理数据库要求提供下述服务:
• 可随时查询书库中现有书籍的品种、数量及存放位置。所有各类书籍均可由书号唯一标识。
• 可随时查询书籍借还情况。包括借书人单位、姓名、借书证号、借书日期和还书日期。约定:任何人可借多种书,任何一种书可为多个人所借,借书证号具有唯一性。
• 当需要时,可通过数据库中保存的出版社的电报编号、电话、邮编及地址等信息向有关书籍的出版社增购有关书籍。约定:一个出版社可出版多种书籍,同一本书仅为一个出版社出版,出版社名具有唯一性。
根据以上情况和假设,试作如下设计:
(1) 画出满足需求的E-R图。
(2) 将上述E-R图转换为等价的关系模式,并标出主码与外码。
借书人(_借书证号_,姓名,单位)
图书(_书号_,书名,数量,位置,出版社名)
出版社(_出版社名_,电报,电话,邮编,地址)
借阅(_借书证号_,_书号_,借书日期,还书日期)