常熟理工学院数据库原理复习大纲-及-复习要点-部分参考答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
复习大纲及复习要点的部分参考答案
题型及复习方法:
1、选择题:掌握复习大纲、要点、期中上的相关题目
2、简答题:掌握要点、期中上的相关题目
3、关系代数:掌握期中试卷、教材p75有关SPJ上的相关题目
4、sql查询:掌握实验二、实验三、实验四及期中试卷、要点、p127题5上的相关题目,并注意:sql语句阅读理解
5、范式判断:掌握要点、期中试卷,大纲上的相关题目
6、er图绘制与转换为关系模式:
掌握要点、复习大纲、数据库设计new2.ppt课件上的几道题
7、可串行化调度判断:
掌握要点上的几道题
应用技能题答题步骤总结:
3、关系代数查询答题步骤:
确定条件的列名与查询的列名,来自哪些关系,来自单个关系用单关系选择投影查询;来自多个关系先用连接,再选择投影;如果有所有的、至少、包含等字样考虑用除运算
4、SQL语言查询答题步骤:
列出整句话中出现的列名,确定来自哪些表,来自单个表用单表查询,用select确定列用where确定行;来自多个表用连接或子查询,要查询的列来自单个表可使用子查询(也可用连接查询),否则只能用连接查询;如果有所有的、至少、包含等字样考虑用Exists存在性子查询;如果有统计信息用分组查询,用having来筛选满足分组条件的组,注意select中的列只能有2种,分组列(group by后面的列)与聚合函数列,没有第三种列,否则要加入到分组子句group by中
5.码的求解、范式判断、规范化答题步骤
码的求解:找这样的属性或属性的组合:其能确定关系的每个属性,但其一部分不能确定每个属性。
范式判断
区分非主属性,主属性;再确定非主属性对码有无部分依赖、传递依赖等做出判断
规范化
将范式按1NF→2NF→3NF→BCNF逐步分解
6.绘制E-R图、转换为关系模式、确定关系的码答题步骤
确定实体、联系、联系类型(1:1或1:n或m:n);再转换为关系模式;再确定每个关系的码
7.调度问题:确定是否为可串行化调度答题步骤
先根据初值计算事务的串行结果,再计算事务的并行处理结果,比较两者的
结果:若与其中任何一个串行结果相同则为可串行化调度,否则为不可串行化调
度
数据库原理与应用复习大纲(题库)的参考答案
注意:复习大纲上的选择题题号有的地方不连续,所以答案有的空在那儿
第一部分基本概念
一、选择题
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
A B 断号 A BBB B A B C C D A B BB A C C C A C
21 22 23 24 25 26 27 28 29 30 31 32 33
B D B ABDCF
C
D D A B DCA D A C
二、填空题
1.从数据管理的历史来看,数据管理技术经历了人工管理、文件系统和数据库管理三
个阶段。
2.一般地讲,数据模型由数据结构、数据操作和完整性约束三个部分组成。
一个数据
模型的数据结构是关系的,就说该模型是关系模型。
3.在数据库的发展过程中,最普遍认可的逻辑数据模型有层次模型、网状模型、关
系模型、和面向对象模型几种。
目前数据库用得最普遍的模型是关系模型。
三、简答题
1、数据库系统的特点
数据结构化
数据共享性高,冗余度低,易扩充
数据独立性高(物理独立性、逻辑独立性)
数据由DBMS统一管理和控制(安全性、完整性、并发控制、数据恢复)
2、关系数据模型的组成要素
关系的数据结构、关系的数据操纵、关系的完整性约束
3、数据库系统的三级模式结构及其优点
外模式、模式、内模式
保证了数据库系统中的数据具有较高的逻辑独立性和物理独立性
第二部分关系数据库
一、选择题
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
D A D B A B B C B B B C D C C C A C D
4、见教材P74页第5题
设有一个SPJ数据库,包括S,P,J,SPJ四个关系模式
供应商表S(SNO,SNAME,STATUS,CITY);
零件表P(PNO,PNAME,COLOR,WEIGHT);
工程项目表J(JNO,JNAME,CITY);
供应情况表SPJ(SNO,PNO,JNO,QTY);
1)求供应工程J1零件的供应商号码SNO
2)求供应工程J1零件P1的供应商号码SNO
3)求供应工程J1零件为红色的供应商号码SNO
4)求没有使用天津供应商生产的红色零件的工程号
5)求至少使用了供应商S1所供应的全部零件的工程号
第三部分SQL语言
一、选择题
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
B C B C 断号 C A C C B D B D 断号 B A D B D C
21 22 23 24 25 26 27 28 29 30 31
A D C
B D 断号 B D A A D
二、综合题
1、见教材P127页第5题
设有一个SPJ数据库,包括S,P,J,SPJ四个关系模式
供应商表S(SNO,SNAME,STA TUS,CITY);
零件表P(PNO,PNAME,COLOR,WEIGHT);
工程项目表J(JNO,JNAME,CITY);
供应情况表SPJ(SNO,PNO,JNO,QTY);
第四部分数据库安全性
一、选择题
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
B A B
C
D C B D
三、简答题
1、存取控制机制包括哪两部分?
定义用户权限,并将用户权限登记到数据字典中
合法权限检查
2、自主存取控制
用户对不同数据对象拥有不同的存取权限。
不同的用户对同一个对象也有不同的权限。
用户可以将其拥有的权限授予其他用户。
3、强制存取控制
每一个数据库对象被标以一定的密级,每一个用户被授予某一等级的许可证级别。
对任意一
个对象,只有具有合法许可证的用户才可以存取。
第五部分数据库完整性
一、选择题
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
D D CD C D 断号CD D D ABC
第六部分关系数据理论及数据库设计
一、选择题
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
D B C 断号 B B A D B C D C B C A C D A B D
21 22 23 24 25 26 27 28 29 30 31
B A D A
C B
D D B C C
第七部分并发控制及数据库恢复
一、选择题
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
B C A C B D C A B D C B C B B C D BD A D
21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
B C D D C B B C 断号断号 C D 断号断号 D C A
二、简答题
1、事务的概念及四个特性
事务是用户定义的一个数据库的操作序列,这些操作要么全做,要么全不做,是一个不可分割的整体。
(1)原子性
要么全部执行,要么完全不执行
(2)一致性
事务执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态。
(3)隔离性
一个事务的执行不能被其他事务干扰。
(4)持续性
一个事务一旦提交,它对数据库的改变就是永久性的。
2、数据库系统的故障种类
1、事务内部故障
2、系统故障
3、介质故障
4、计算机病毒
3、封锁的概念
事务T在对某个数据对象,如表、记录等操作之前,需要向系统发出请求,对其加锁。
加锁后事务T对该数据对象有了一定的控制,在事务T释放它的锁之前,其他的事务不能更新此数据对象。
4、可串性化调度
多个事务的并发执行是正确的,当且仅当其结果与按某一次序串行地执行这些事务时的结果相同,称这种调度为可串行化的调度。
5、两段锁协议
所有事务必须分两个阶段对数据项加锁和解锁。
在对任何数据进行读、写操作之前,首先获得对数据的封锁;
在释放一个封锁之后,事务不再申请和获得任何其他封锁
即有明确的两个阶段:封锁阶段,解锁阶段
复习要点的参考答案(部分)
简答题:掌握如下各题,(包括大纲上的部分题目),共10题
(1).简要叙述数据库三级模式两级映像及其优点。
(2). 简要叙述实体完整性规则。
(3).简要叙述关系的参照完整性规则。
(4). 简要叙述一个不好的关系所带来的异常问题。
(5). 简要叙述事务的概念及其四个特性。
(6).简要叙述两段锁协议。
----------------------
参考解答如下:
(1).简要叙述数据库三级模式两级映像及其优点。
数据库三级模式:外模式、模式和内模式。
两级映像:外模式/模式和模式/内模式。
优点:(1)模式改变,调整外模式/模式映像,可以使外模式保持不变,应用程序保持不变,保证了数据与程序的逻辑独立性;
(2)内模式改变,调整模式/内模式映像,可以使模式保持不变,应用程序保持不变,保证了数据与程序的物理独立性;
(2). 简要叙述实体完整性规则。
实体完整性规则:主码取值需满足
·不能为NULL
·必须惟一,不能有重复值
(3).简要叙述关系的参照完整性规则。
关系的参照完整性规则为:
若F是基本关系R的外码,它与基本关系S的主码K相对应。
则对于R中每个元组在F 上的值必须为:
或者取空值
或者等于S中某个元组的主码值
(4). 简要叙述一个不好的关系所带来的异常问题。
一个不好的关系模式可能存在以下问题:
·数据冗余太大
·更新异常
·插入异常
·删除异常
(5). 简要叙述事务的概念及其四个特性。
事务是用户定义的一个数据库操作序列,这些操作要么全做,要么全不做,是一个不可分割的工作单位。
事务具有四个特性:原子性、一致性、隔离性和持久性。
(6).简要叙述两段锁协议。
两段锁协议:
所有事务必须分两个阶段对数据项加锁和解锁。
对任何数据进行读写操作之前,首先要申请并获得对该数据的封锁;
在释放一个封锁之后,事务不再申请和获得任何其他封锁。
(7)、关系数据模型的组成要素
关系的数据结构、关系的数据操纵、关系的完整性约束
(8)、数据库设计的六个基本步骤
需求分析
概念结构设计
逻辑结构设计
物理结构设计
数据库实施
数据库运行和维护
(9)、数据库系统的故障种类
1、事务内部故障
2、系统故障
3、介质故障
4、计算机病毒
(10)、可串性化调度
多个事务的并发执行是正确的,当且仅当其结果与按某一次序串行地执行这些事务时的结果相同,称这种调度为可串行化的调度。
模拟测试及部分参考解答:
一.选择题
2.数据库技术的奠基人之一E.F.Codd从1970年起发表过多篇论文,主要论述的是( )。
A. 层次数据模型
B. 网状数据模型
C. 关系数据模型
D. 面向对象数据模型
3. 在关系R ( R # , RN , S # )和S ( S # , SN , SD )中, R 的主码是R # , S 的主码是S #,则S#在R 中称为().
A.外码 B.候选码 C.主码 D.超码
4.对关系R 进行投影运算后,得到关系S,则()
A.关系R 的元组数等于关系S 的元组数
B.关系R 的元组数小于或等于关系S 的元组数
C.关系R 的元组数大于或等于关系S 的元组数
D.关系R 的元组数大于关系S 的元组数
5. 在SQL 的查询语句中,对应关系代数中“投影”运算的语句是()。
A . WHERE
B . FROM
C . SELETE
D . HAVING
6.视图建立后,在数据字典中存放的是()。
A .查询语句
B .组成视图的表的内容
C .视图的定义
D .产生视图的表的定义
7. 在数据库系统中,对存取权限的定义称为
A .命令
B .授权
C .定义
D ,审计
8. 在关系数据库设计中,设计关系模式是( )的任务。
A .需求分析阶段
B .概念设计阶段 C. 逻辑设计阶段
D .物理设计阶段
9. 数据库需求分析时,数据字典的含义是( ).
A .数据库中所涉及的属性和文件的名称集合
B .数据库中所涉及到字母、字符及汉字的集合
C .数据库中所有数据的集合
D .数据库中所涉及的数据流、数据项和文件等描述的集合
10.在数据库中,产生数据不一致的根本原因是().
A.数据存储量太大 B. 没有严格保护数据
C.未对数据进行完整性控制D.数据冗余
1. 目前市场上常见的DBMS 90%以上都是基于()数据模型的。
A.层次B.网状C.关系D.面向对象
2 .E-R图是在数据库设计中用来表示()的一种常用方法。
A.概念模型B.逻辑模型C.物理模型D.面向对象模型
3.()是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。
A.外模式B.内模式C.模式D.概念模式
4.()也称存储模式,是数据库物理结构和存储方式的描述,是数据在数据库内部的表示方式。
A.外模式B.内模式C.模式D.概念模式
5.数据库的概念模型独立于。
A. 具体的机器和DBMS
B. E-R图
C. 信息世界
D. 现实世界
6.在数据库中存储的是。
A. 数据
B. 数据模型
C. 数据以及数据之间的联系
D. 信息
7.规范化理论是关系数据库进行逻辑设计的理论依据,根据这个理论,关系数据库中的关系必须满足:其每一属性都是。
A. 互不相关的
B. 不可分解的
C. 长度可变的
D. 互相关联的
8. 在数据模型中有“型”和“值(或实例)”两个对应的概念。
其中数据库的模式是一个()的概念,是一个相对()的概念,而数据库在某一时刻的状态则是一个()的概念,是一个相对()的概念。
A.型;变化;值;不变B.值;不变;型;变化
C.值;变化;型;不变D.型;不变;值;变化
9. 关系表A的属性个数为5,元组个数为10;关系表B的属性个数为6,元组个数为20。
则A与B的笛卡尔积A×B的属性有()个,元组个数有()个。
A.30;200B.11;30 C.30;30D.11;200
10. 父亲和子女的亲生关系属于()的关系。
A.1:1B.1:n C.m:n D.不一定
11. 在SQL语言中,删除关系表中的一个属性列,要用动词(),删除关系表中的一行或多行元组,要用动词()。
A.delete,delete B.drop,drop C.delete,drop D.drop,delete
12 在SQL语言中,为关系模式增加一个属性要用动词(),为关系表增加一行或多行元组要用动词()。
A.insert,insert B.add,insert C.insert,add D.add,add
13. 实体完整性约束和SQL语言中的()相对应。
A.primary key B.foreign key C.check D.都不是
14. 参照完整性约束和SQL语言中的()相对应。
A.primary key B.foreign key C.check D.都不是
15.物理数据独立性是指。
A. 概念模式改变,外模式和应用程序不变
B. 概念模式改变,内模式不变
C. 内模式改变,概念模式不变
D. 内模式改变,外模式和应用程序不变
16. SQL语言中的select子句和关系代数中的运算符()相对应,SQL语言中的where 子句和关系代数中的运算符()相对应。
A.∏,σB.÷,∞C.σ,∏D.∏,÷
17. 在SQL语言中,()可能使得数据库中元组的排列顺序发生改变。
A.添加一个元组B.修改一个元组
C.建立一个聚簇索引D.建立一个check约束
18. 在我们的学生-课程数据库中,SC表上建立了两个外码约束,被参照表是Student表和Course表,则最适当的说法是:
A.Student表中的学生号Sno不能随意取值B.Course表中的课程号Cno不能随意取值
C.SC表中学生号Sno不能随便D.SC表中学生号Sno、课程号Cno均不能随意取值
19.如果在学生-课程数据库中的SC表上建立了参照完整性约束:
Foreign Key (Sno)References Student(Sno),
Foreign Key (Cno)References Course(Cno),
则()操作可能会违背该完整性约束。
A.在Student表上增加一行记录B.在Course表上增加一行记录
C.在SC表上删除一行记录D.更新SC表上的记录
20. ()的视图是可以完全更新的。
A.一个由两个以上的表导出的视图B.视图的定义中含有集函数
C.仅由一个表的行列子集构成的D.视图的定义中含有ORDER BY子句
21. 关系R(X,Y,Z),函数依赖集FD={Y→Z,XZ→Y},则关系R是。
A. 1NF
B. 2NF
C. 3NF
D. BCNF
22.数据库管理技术的发展大致经历了三个阶段,其中数据独立性最高的是( )阶段。
A. 文件系统
B. 数据库系统
C. 人工管理
D. 机器管理
23. 关系数据库中的码是指()。
A.能惟一决定关系的字段B.不可改动的专用保留字
C.关键的很重要的字段 D. 能惟一标识元组的属性或属性集合
24.同一个关系模型的任意两个元组值()。
A .不能全同
B .可全同
C .必须全同
D .以上都不是
25. 视图本身不独立存储在数据库中,既数据库中只存放视图的( ),而不存放视图的(),视图是一个()。
A.定义、对应的数据、虚表B.定义、对应的数据、实表
C.对应的数据、定义、实表 D.对应的数据、定义、虚表
26. 保护数据库,防止未经授权或不合法的使用造成的数据泄漏、非法更改或破坏。
这是指数据的()。
A .安全性
B .完整性
C .并发控制
D .恢复
27.设有两个事务Tl 、T2 ,其并发操作如图所示,下列评价正确的是( )。
A .该操作不存在问题
B .该操作丢失修改
C .该操作不能重复读
D .该操作读“脏”数据
T1 T2
①读X=48
读X=48
②
③ X=X+10 写回
④X=X-2 写回
28. 公司中有多个部门和多名职员,每个职员只能属于一个部门,一个部门可以有多名职员,从部门到职员的联系类型是( )。
A. 多对多
B. 一对一
C. 多对一
D. 一对多
29. 如果事务T获得了数据项Q上的排它锁,则T对Q( )。
A. 只能读不能写
B. 只能写不能读
C. 不能读不能写
D. 既可读又可写
30、写一个修改到数据库中,与写一个表示这个修改的运行记录到日志文件中是两个不同的
操作,对这两个操作的顺序安排应该是
A .前者先做
B .后者先做
C . 由程序员在程序中作安排
D .哪一个先做由系统决定
31、设有两个事务Tl 、T2 ,其并发操作如图所示,下列评价正确的是 .
A .该操作不存在问题
B .该操作丢失修改
C .该操作不能重复读
D .该操作读“脏”数据
T1 T2
①读A=10,B=5
②
③
④读A=20,B=5
⑤求和25验证错读A=10
A=A*2 写回
32、设有两个事务Tl 、T2 ,其并发操作如图所示,下列评价正确的是 .
A .该操作不存在问题
B .该操作丢失修改
C .该操作不能重复读
D .该操作读“脏”数据
T1 T2
①读A=100
②A=A*2 写回
③
④ROLLBACK
恢复A=100
读A=200
二、简答题
1、数据模型及其三要素(p13)
数据模型是对现实世界数据特征的抽象
三要素:数据结构、数据操作、数据约束条件
2、数据库设计的六个步骤(p201)
需求分析
概念设计
逻辑设计
物理设计
数据库实施
数据库运行与维护
(基本技能题:
1、 识别事务是否为可串行化调度
2、 数据库设计:绘制E-R 图,并转换为关系模式
3、 范式与规范化
4、 SQL 语言:查询,创建表,插入,删除,更新,创建视图,授权
5、 关系代数 )
三、设有如下关系
学生:Student(Sno,Sname,Ssex,Sage,Sdept) 课程:Course(Cno,Cname,Cpno,Ccredit) 选修:SC(Sno,Cno,Grade) 用关系代数完成下列操作:............
1. 查询“信息系”学生的学号,姓名; ∏sno,S NAME (σ
sdept=’
信息系’(Student))
2. 查询选修了课程名为“数据库原理”课程的学生的学号、姓名、性别、成绩; ∏SNO,SNAME,SSEX,GRADE (σ
CNAME=’ 数据库原理’(Course ♦SC ♦Student)
用.SQL ...语言完成下列操作:.........
3. 建立学生表:Student 。
表的基本结构如下:
CREATE TABLE Student( Sno char(7) PRIMARY KEY, Sname char(10) not null, Ssex char(2) CHECK(Ssex='男' or Ssex='女') , Sage smallint CHECK(Sage>=15 and Sage<=45), Sdept char(20) DEFAULT '计算机系' )
4. 查询计算机系全体学生的基本信息;
Select * from student where sdept=’ 计算机系’
列名 说明 数据类型 约束 SNO
学号 CHAR(7)
主码 SNAME 姓名 CHAR(10) NOT NULL SSEX 性别 CHAR(2) 取“男”或“女” SAGE
年龄 SMALLINT
取值15-45
SDEPT 所在
系
VARCHAR(20)
5. 查询年龄在20~23岁之间的学生的姓名、系别和年龄;
Select sname,sdept,sage from student where sage>=20 and sage<=23 6. 查询未选修课程的学生的学号、姓名,并按照学号升序排序;
Select sno,sname from student where sno not in (select sno from sc)order by sno 7. 统计各门课程的不及格人数,要求输出课程代号,不及格人数;
Select cno,count(*) from sc where grade<60 group by cno
8. 查询选修了数据库原理这门课的学生的学号、姓名、性别、课程号、成绩。
查询结果按照成绩降序排列。
Selectsc.sno,sname,ssex,cno,grade from student,sc,course where student.sno=sc.sno and o=o and cname=’数据库原理’ order by grade desc
9. 插入一个新学生的记录(学号:9512103;姓名:陈冬;性别:男;年龄:18;系名:信息系);
Insert into student values(‘9512103’,’陈冬’,’男’,18,’信息系’)
10. 修改“9512101”学生的“C05”课程成绩为60;
Update sc set grade=60 where sno=’9512101’ and cno=’c05’
11. 删除学号以95开头的学生的所有选课记录;
Delete from sc where sno like ‘95%’
13. 把查询Student表的权限授予用户user1;
Grant select on student to user1
14.收回用户user1对Student表的所有权限。
Revoke all on student from user1
写出下面
......
...语句的功能:
....SQL
15. SELECT * FROM STUDENT WHERE SNO IN(
SELECT SNO FROM SC GROUP BY SNO
HAVING COUNT(*)=5)
解:查询选课门数为5门的学生的详细信息。
四、数据库设计:绘制E-R图,并转换为关系模式
1、设有如下实体:
学生:学号、姓名、性别、年龄
课程:课程号、课程名
教师:教师号、姓名.性别、职称
系:系名称、电话
上述实体中存在如下联系:
( l )一个学生可选修多门课程,一门课程可被多个学生选修。
( 2 )一个教师可讲授多门课程,一门课程可由多个教师讲授。
( 3 )一个系可有多个教师,一个教师只能属于一个系.
试完成如下工作:
( l ) 设计该系统的E-R 图。
( 2 )将该E-R 图转换为等价的关系模式结构.
解:
(1)
学生课程教师系选修讲授属于m n m n n1
学号
年龄
性别
姓名课程号系名称
职称
性别
课程名
教师号姓名
电话
(2)学生(学号,姓名,性别,年龄)
课程(课程号,课程名)
教师(教师号,姓名,性别,职称,系名称)
系(系名称,电话)
选修(学号,课程号)
讲授(课程号,教师号)
2、一个图书管理系统,基本要求如下:
▪一名读者可借阅多种书,一种书可由多名读者借阅;
▪一种书只在一个书库存放,一个书库可存放多种书;
▪一个书库有一个管理员,一个管理员只负责一个书库;
▪读者信息包括读者编号、姓名、单位等;图书信息包括书号、书名、作者、出版社等;书库信息包括书库号、面积等;管理员包括管理员编号、姓名等。
根据上述信息,完成以下内容:
(1)设计系统的E-R模型;
(2)将设计的E-R模型转换为关系模型,并标出关系的码。
读者图书书库管理员
借阅存放管理
m n n111
读者编号姓名单位
书号
书名作者
出版社面积
书库号管理员编号
姓名
读者(读者编号,姓名,单位)
图书(书号,书名,作者,出版社,书库号)
书库(书库号,面积,管理员编号)
管理员(管理员编号,姓名)
借阅(读者编号,书号)
3、某校教学管理系统需要保存课程、教师、研究生、系所及他们之间的信息。
课程的属性包括课程号、课程名、学分等;教师的属性包括职工号、姓名、性别、职称等;研究生的属
性包括学号、姓名、性别、年龄等;系所的属性包括系所名称、电话等。
▪一个系所可有多个教师,一个教师只能属于一个系所;
▪教师可以讲授多门课程,每门课可以由多个教师讲授;
▪每个研究生可以选修多门课程;
根据上述信息,完成以下内容:
(1)设计系统的E-R模型;
(2)将设计的E-R模型转换为关系模型,并标出关系的码。
4、在一个公司的工程管理系统中,有公司的部门、职工、工程、材料、供应商、仓库等数据,
具体描述如下:
(1)一个职工只能属于一个部门
(2)一个工程可以有多名职工参加,一个职工只能参加一个未完成的工程建设
(3)一个工程有多个供应商供应材料,一个供应商可以为多个工程供应材料
(4)一个仓库可以存放多种材料,但是一种材料只能存放在一个仓库中
其中:
描述部门的属性有:部门号、部门名称、负责人、电话、地址
描述职工的属性有:职工号、职工姓名、性别、出生日期、职务
描述工程的属性有:工程号、工程名称、开始日期、结束日期
描述材料的属性有:材料号、规格说明、计量单位、单价
描述材料供应商的属性有:供应商号、供应商名称、电话、联系人、地址
描述仓库的属性有:仓库号、仓库名称、保管员、电话
问题:(1)、根据上述规则设计er模型
(2)、将ER模型转换为关系数据模型,并指出每个关系的码
5、某单位的个人情况登记表如下所示,现在要使用数据库管理。
编号:姓名:性别:年龄:职称:部门:电话:
家庭地址:
家庭情况:获奖情况:
姓名关系工作单位收入奖号名称授予部门等级时间
问题:
根据登记表设计ER模型。
将ER模型转换为关系数据模型,并指出每个关系的码。
五、识别事务是否为可串行化调度
1、现有两个事务,分别包含下列操作:
事务T1:读B:A=B+1;写回A;
事务T2:读A:B=A+1;写回B;
假设A,B的为1,5。
请分析下面两个事务的并发执行是否为可串行化调度,说明原因。
T1 T2
SLOCK(B)
Y=READ(B)
UNLOCK(B)
XLOCK(A)
SLOCK(A)
A=Y+1 等待
WRITE(A) 等待
UNLOCK(A) 等待
X=READ(A)
UNLOCK(A)
XLOCK(B)
B=X+1
WRITE(B)
UNLOCK(B)
解:
事务T1、T2串行的结果有2种:
先做T1再T2结果为:A=6,B=7
先做T2再T1结果为:A=3,B=2
而这两个事务上述并发情形执行结果为:A=6,B=7
与第一种串行结果相同,故这是一种可串行化调度
2、现有两个事务,分别包含下列操作:
事务T1:读B:A=B+1;写回A;
事务T2:读A:B=A+1;写回B;
假设A,B的初值均为2。
请分析下面两个事务的并发执行是否为可串行化调度,说明原因。
T1 T2
SLOCK(B)
Y=READ(B)
SLOCK(A)
X=READ(A)
UNLOCK(B)
UNLOCK(A)
XLOCK(A)
A=Y+1
WRITE(A)
XLOCK(B)
B=X+1
WRITE(B)
UNLOCK(A)
UNLOCK(B)
解:
3、有三个事务T1、T2、T3,问其并发运行可以有多少种正确结果?
设T1,T2,T3三个事务分别如下,假设A的初值为0;
T1:A:=A+2
T2:A:=A*2
T3:A:=A**2
若这3个事务允许并发执行,则有多少种可能的正确结果?(请写出正确结果的来由)
并请给出一个可串行化调度,并给出执行结果。
答:这3个事务允许并发执行,有的正确结果:
给出一个可串行化调度如下:
T1 T2 T3
(1) XLOCK(A)
(2) READ(A=0)
(3) XLOCK(A)
(4) A:A+2 等待
(5) WRITE(A=2) 等待
(6) UNCLOCK(A) 等待
(7) COMMIT 等待
(8) READ(A=2)
(9) XLOCK(A)
(10) A:=A*2 等待
(11) WRITE(A=4) 等待
(12) UNCLOCK(A) 等待
(13) COMMIT 等待
(14) READ(A=4)
(15) A:=A**2
(16) WRITE(A=16)
(17) UNLOCK(A)
(18) COMMIT
六、范式与规范化
1、在关系模式R(A,B,C,D)中存在函数依赖集合FD={D->A, BC->D}。
(1)指出该关系模式的码、主属性、非主属性。
(2)该关系模式属于几范式?
(3)将该关系模式规范化为BC范式。
解答:
(1)码为BC,因为它可以决定所有属性,主属性B、C 非主属性A、D
(2)没有非主属性对码的部分依赖,但非主属性A对码Bc存在传递依赖,所以不是3范式,而仅是2范式
(3)分解为R1(D,A)R1(B,C,D)即可使关系规范化为BC范式。
2、设有一个关系R(A,B,C,D,E),它的最小函数依赖集为FD={A->B,A->C,C->D,C->E},请指出R的候选关键字、并分析R所属范式。
解答:
属性A决定所有属性,所以A为码,即为候选关键字;不存在部分依赖,存在传递依赖,所以R为第2范式
3、有R(X,Y,Z),其函数依赖集FD={X-->Y,X-->Z},请指出R的候选关键字、并分析R所属范式。
解答:
4、下表给出的关系R 为第几范式?是否存在操作异常?若存在,则将其分解
为高一级范式。
分解完成的高级范式中是否可以避免分解前关系中存在的操作异常?
R
工程号材料号数量开工日期完工日期价格。