数据库概论试题(A)姓名:班级:学号:成绩:一、名词解释(10分)1.模式2.函数依赖3.事务4.侯选码5.实体完整性二、选择题(26分)1. 单个用户使用的数据视图的描述称为【】A. 外模式B. 概念模式C. 内模式D. 存储模式2. 子模式DDL用来描述【】A. 数据库的总体逻辑结构B. 数据库的局部逻辑结构C. 数据库的物理存储结构D. 数据库的概念结构3. 在DBS中,DBMS和OS之间的关系是【】A. 相互调用B. DBMS调用OSC. OS调用DBMSD. 并发运行4. 五种基本关系代数运算是【】A. ∪,-,×,π和σB. ∪,-,∞,π和σC. ∪,∩,×,π和σD. ∪,∩,∞,π和σ5. 当关系R和S自然联接时,能够把R和S原该舍弃的元组放到结果关系中的操作是【】A. 左外联接B. 右外联接C. 外部并D. 外联接6.数据模型的三要素是【】:A.数据结构、数据对象、共享B.数据结构、数据操作、数据控制C.数据结构、数据操作和完整性D.数据结构、数据操作和完整性约束条件7. 设关系模式R (A,B,C),F是R上成立的FD集,F = {B→C},则分解ρ = {AB,BC}相对于F 【】A. 是无损联接,也是保持FD的分解B. 是无损联接,但不保持FD的分解C. 不是无损联接,但保持FD的分解D. 既不是无损联接,也不保持FD 的分解8. 储蓄所有多个储户,储户在多个储蓄所之间存款,储户与储蓄所之间的关系是【】A. 1对1联系B. 1对多联系C. 多对多联系D. 多对1联系9. 在数据库设计中,将ER图转换成关系数据模型的过程属于【】A. 需求分析阶段B. 逻辑设计阶段C. 概念设计阶段D. 物理设计阶段10. 设有T1和T2两个事务,其并发操作如图,下面评价中正确的是【】A.该操作不存在问题B.该操作丢失修改C.该操作不能重复读D.该操作读“脏数据”11. 如果事务T获得了数据项Q上的排它锁,则T对Q 【】A. 只能读不能写B. 只能写不能读C. 既可读又可写D. 不能读不能写12. 现有关系表:医疗(患者编号,医生编号,医生姓名,诊断日期,诊断结果,恢复情况)的主码是【】A. 患者编号,医生编号,诊断日期B. 医生编号C. 诊断日期D. 患者编号13 索引属于【】A.模式B.外模式C.内模式D. 概念模式三、填空题(10分)1. 用树型结构表示实体类型及实体间联系的数据模型称为_______________。
2. 关系数据库的关系演算语言是以_______________为基础的DML语言。
3. 事务必须具有的四个性质是:原子性、一致性、_______________和持久性4. 设关系模式R (A,B,C),F是R上成立的FD集,F = {B→A,B→C},则分解ρ = {AB,AC}丢失的FD是_______________。
5. DB并发操作通常会带来三类问题,它们是丢失更新、_______________和读脏数据。
6. 计算机系统的安全性可以划分为:_______________、管理安全类和政策法律安全类。
7. 数据库保护包括:安全性保护、完整性保护、_______________和恢复。
8. 由于硬件故障使存储在外存上的数据部分丢失或全部丢失,这种情况称做_________ 故障。
9.关系系统分为:表式系统、最小关系系统、___________、全关系系统。
10.数据恢复要涉及的2个技术是:数据转储和___________。
四、简答题(24分)1. 设有关系模式R (A,B,C,D),F是R上成立的FD集,F = {D→A,D→B},试写出关系模式R的候选键,并说明理由。
2. 设有关系R和S,其中R为参照关系,S为信赖关系。
为了实现完整性约束,SQL规定可以对R的删除操作采取哪三种措施?3. 什么是死锁? 预防死锁的方法有哪些?4. 如何实现数据库设计的概念结构(E-R图)向逻辑结构转换?5. 模式分解的基本原则是什么?6. 简要回答数据字典包括那些内容?五、设计题(共20分)1. 设有关系数据库:职工关系EMPLOYEE (职工号,职工名,街道,城市)工作关系WORKS (职工号,公司号,工资)公司关系COMPANY (公司号,公司名,城市)假设职工可在多个公司兼职,请用关系代数表达式写出至少在公司号为…C2‟和…C5‟公司兼职的职工号。
2. 依据第1题的关系数据库,试用SQL语句写出下列操作:将所有在“联华公司”工作的职工加薪5?。
3. 图书出版管理数据库中有两个基本表:图书(书号,书名,作者编号,出版社,出版日期)作者(作者编号,作者名,年龄,地址)试用SQL语句写出下列查询:检索年龄低于作者平均年龄的所有作者的作者名、书名和出版社。
4. 设有商店和顾客两个实体,“商店”有属性商店编号、商店名、地址、电话,“顾客”有属性顾客编号、姓名、地址、年龄、性别。
假设一个商店有多个顾客购物,一个顾客可以到多个商店购物,顾客每次去商店购物有一个消费金额和日期,而且规定每个顾客在每个商店里每天最多消费一次。
试画出ER图,并注明属性和联系类型。
5. 学校有多名学生,财务处每年要收一次学费。
为财务处收学费工作设计一个数据库,包括两个关系:学生(学号,姓名,专业,入学日期)收费(学年,学号,学费,书费,总金额)假设规定属性的类型:学费、书费、总金额为数值型数据;学号、姓名、学年、专业为字符型数据;入学日期为日期型数据。
列的宽度自定义。
试用SQL语句定义上述表的结构。
(定义中应包括主键子句和外键子句)六、综合题(本题共10分)假设某商业集团数据库中有一关系模式R(商店编号,商品编号,数量,部门编号,负责人)如果规定:1、每个商店的每个品种商品只在一个部门销售2、每个商店的每个部门只有一个负责人3、每个商店的每个商品只有一个库存数量试回答下列问题:1、写出关系模式R的所有基本函数依赖2、找出关系R的侯选键3、关系模式R最高达到第几范式? 说明具体理由。
4、如果R不属于第3范式,,进行分解变成第3范式。
参考答案一、名词解释(10分)1.模式:数据库中全体数据的逻辑结构和特征的描述。
它仅仅涉及到型的描述,不涉及具体数值。
数据库系统一般提供三级模式结构。
一个关系模式可以表示为R(U,D,dom,F)五元组。
2.函数依赖:若X,Y是R的两个属性集合(子集),当任何时刻R中的任意两个元组中的X属性值相同时,则它们的Y属性值也相同,则称做X函数决定Y或Y函数依赖于X,记作X→Y。
3.事务:是用户定义的一个数据库操作序列,这些操作要么全做要么全不做,是不可以分割的工作单位。
4.侯选码:若关系中某一属性组的值能唯一地标识一个元组,则成该属性组为侯选码。
5.实体完整性:主属性不可以取空值。
二、选择题(26分)1. A. 外模式2. B. 数据库的局部逻辑结构3. B. DBMS调用OS4. A. ∪,-,×,π和σ5. D. 外联接6. D. 数据结构、数据操作和完整性约束条件7. A. 是无损联接,也是保持FD的分解8. B. 1对多联系9. B. 逻辑设计阶段10. C. 该操作不能重复读11. C. 既可读又可写12. A. 患者编号,医生编号,诊断日期三、填空题(10分)1. 层次模型2. 谓词演算3. 持久性4. B→C5. 不可复读(或不一致分析、读过时数据)6. 技术安全7. 并发控制8. 介质故障9. 关系完备的系统10.日志文件四、简答题(24分)1. 设有关系模式R (A,B,C,D),F是R上成立的FD集,F = {D→A,D→B},试写出,并说明理由。
关系模式R的候选键(CD)(CD)可以决定所有属性2. 设有关系R和S,其中R为参照关系,S为信赖关系。
为了实现完整性约束,SQL规定可以对R的删除操作采取哪三种措施?(1) RESTRICT (或约束删除)(2) CASCADE (或级联删除)(3) SET NULL (或外键值置空)3. 什么是死锁? 预防死锁的方法有哪些?死锁(Deadlock):在同时处于等待状态的两个或多个事务中,其中的每一个在它能够进行之前,都等待着某个数据、而这个数据已被它们中的某个事务所封锁,这种状态称为死锁。
例如,事务T1在对数据R1封锁后,又要求对数据R2封锁,而事务T2已获得对数据R2的封锁,又要求对数据R1封锁,这样两个事务由于都不能得到封锁而处于等待状态,发生了死锁。
在数据库环境下,常用的预防方法有以下两种:①一次加锁法:一次加锁法是每个事物必须将所有要使用的数据对象全部依次加锁,并要求加锁成功,只要一个加锁不成功,表示本次加锁失败,则应该立即释放所有已加锁成功的数据对象,然后重新开始从头加锁。
②顺序加锁法:顺序加锁法是预先对所有可加锁的数据对象规定一个加锁顺序,每个事务都需要按此顺序加锁,在释放时,按逆序进行。
4. 如何实现数据库设计的概念结构(E-R 图)向逻辑结构转换?(1) 一个实体转换为一个关系模式,实体的属性就是关系的属性,实体的键就是关系的键。
(2) 一个联系转换为一个关系模式,与该联系相连的各实体的键以及联系的属性均转换为该关系的属性。
该关系的键有三种情况:①如果联系为1:1,则每个实体的键都是关系的候选键;②如果联系为1: n ,则n 端实体的键是关系的键; ③如果联系为n : m ,则各实体键的组合是关系的键。
5. 模式分解的基本原则是什么?保持函数依赖、 具有无损连接性6. 简要回答数据字典包括那些内容?包括数据项、数据结构、数据流、数据存储、处理过程5个部分五、设计题 (共20分)1. 设有关系数据库:职工关系EMPLOYEE (职工号,职工名,街道,城市)工作关系WORKS (职工号,公司号,工资)公司关系COMPANY (公司号,公司名,城市)假设职工可在多个公司兼职,请用关系代数表达式写出至少在公司号为…C2‟和…C5‟公司兼职的职工号。
)('5'5^'2'21W ORKS W ORKS c c ⨯∏==σ2. 依据第1题的关系数据库,试用SQL 语句写出下列操作:将所有在“联华公司”工作的职工加薪5?。
UPDA TE WORKSSET 工资 = 工资 * 1.05WHERE 公司号IN(SELECT 公司号FROM COMPANYWHERE 公司名 =…联华公司‟); 3. 图书出版管理数据库中有两个基本表:图书 (书号,书名,作者编号,出版社,出版日期)作者 (作者编号,作者名,年龄,地址)试用SQL 语句写出下列查询:检索年龄低于作者平均年龄的所有作者的作者名、书名和出版社。