数据库练习题

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
答:属2NF。因为由题目知,候选码是S#,但由于 S# →SD, SD →SL,说明存在传递函数依赖。并 且不存在部分函数依赖,故属2NF。
例3. 设有关系模式SCT(S, C, Tn),其中S表示学 生学号,C表示课程号,Tn表示教师姓名。每个 教师只能上一门课,每门课可由多个教师讲授, 学生若选定了某教师则选定了某一门固定的课程, 学生与课程的关系确定后,教师即可唯一确定。 问:
×
σStudent.Sno=SC. Sno Course
×
SC
σStudent.Sdept=‘IS’
Student
优化后的语法树
例6. 设有如下两个事务: T1:读B;A=B+1;写回A T2:读A;B=A+1;写回B 1)若这两个事务并发执行,请举例说明一个可能的
执行结果(设A和B的初值为2)。 2)并发事务执行是否正确的标准是什么? 3)请给出一个可串行化的调度,并给出执行结果。
2)将E-R图转换为关系模型。
1)该图书馆数据库的E-R图如下:
姓名 读者号
地址 性别
读者 1
借阅 m
年龄 单位
借出日期 应还日期
书号 书名
图书 作者
出版社
2)转换后的关系模型为:
读者(读者号,姓名,地址,性别,年龄,单位) 图书(书号,书名,作者,出版社) 借阅(读者号,书号,借出日期,应还日期)
例8.教材P234,18:现有一局部应用,包括两个实 体:“出版社”和“作者”,这两个实体是多对多 的联系,请设计适当的属性,画出E-R图,再将其 转换为关系模型(包括关系名、属性名、码和完整 性约束条件)。
解答: E-R图如下页图所示:
E-R图如下:
地址
出版社名称
联系电话
出版社号
作者号
出版社 n
(1)若这三个事务允许并发执行,则有多少种可能的 正确结果,请一一列出。
(2)请给出一个可串行化的调度,并给出执行结果。
(3)请给出一个非串行化的调度,并给出执行结果。
(4)若这三个事务都遵循两段锁协议,请给出一个不 产生死锁的可串行化调度。
(5)若这三个事务都遵循两段锁协议,请给出一个产 生死锁的调度。
(1)若这三个事务允许并发执行,则有多少种可能的 正确结果,请一一列出。
答:
A的最终结果可能是2、4、8、16。
因为三个事务的串行执行结果都是正确的,而它们的串 行执行顺序有: T1 T2 T3,T1 T3 T2,T2 T1 T3, T2 T3 T1, T3 T1 T2, T3 T2 T1共六种,它们串行 执行对应的A的结果依次是16、8、4、2、4、2。
例5. 教材P275 第2题:对学生-课程数据库有如下 的查询:
SELECT Cname FROM Student,SC,Course WHERE Student.Sno = SC.Sno AND
SC.Cno = Course.Cno AND Student.Sdept=‘IS’;
此查询要求信息系学生选修了的所有课程名称。 试画出用关系代数表示的语法树,并用关系代数表
3)给出一个可串行化的调度如下:
例7. 教材P234,19: 请设计一个图书馆数据库,此 数据库中对每个借阅者保存的记录包括:读者号、 姓名、地址、性别、年龄、单位。对每本书保存 有:书号、书名、作者、出版社。对每本被借出 的书保存有读者号、借出日期和应还日期。
要求:
1)给出该图书馆数据库的E-R图。
例1. R({A,B,C,D},{ (A,C)→B, A →D}) 答:由题目可知,关系的候选码为(A,C) 。由于
存在A →D,说明存在非主属性D对码(A,C)的 部分函数依赖,不符合2NF,则属于1NF。
例2.R({S#,SD,SL,SN},{S# →SD, S# →SN, S# →SL, SD →SL})
出版 m
作者
年龄 姓名
性别
出书数量 联系方式 地址 电话
转化后的关系模型如下: 出版社(出版社号,出版社名称,地址,联系电话) 作者(作者号,姓名,性别,年龄,电话,地址) 出版(出版社号,作者号,出书数量,联系方式)
(2)请给出一个可串行化的调度,并给出执行结果。
(3)请给出一个非串行化的调度,并给出执行结果。 解答:
给出的非串行化调度如下页图所示。最终执行结果是 A=0。
(4)若这三个事务都遵循两段锁协议,请给出一个不产生死锁的
可串行化调度。
(5)若这三个事务都遵循两段锁协议,请给出一个产生死锁 的调度。
达式优化算法对原始的语法树进行优化处理,画 出优化后的标准语法树。
πCname
σStudent.Sdept=‘IS’ σSC.Cno=Course.Cno
×
σStudent.Sno=SC. Sno Course
× SC Student
关系代数语法树
πCname
σSC.Cno=Course.Cno
(3)在Tn → C中,决定因素Tn不含有候选码, 所以SCT不满足BCNF。
该关系模式满足3NF,因为不存在任何非主属性 对码的传递函数依赖或部分函数依赖,故满足 3NF。
例4. P306 第9题:设T1、T2、T3是如下三个事务,A 的初值为0。
T1:A=A+2 ; T2:A=A*2 ; T3:A=A**2
数据库考试主要题型:
选择题,填空题,判断题; 综合设计题(或解答题):写关系代数表达式,求
解关系代数表达式的结果;写SQL语句;根据给 定的描述信息画E-R图,并转换为相应关系模式; 画关系代数语法树和并进行优化;求关系模式的 码;求最小函数依赖集;判断范式的级别等;事 务并发性的分析等。
下列关系模式属于第几范式?并说明理由。
(1)该关系模式的候选码是什么?
(2)请写出该关系模式中的所有函数依赖。
(3)该关系模式是否满足BC范式?若不满足,请 确定它满足第几范式,并说明理由。
答:(1)该关系模式的候选码是(S, C),(S, Tn)。
(2)该关系模式中的函数依赖如下:(S, C) →Tn, (S, Tn)→C,Tn → C。
解答:
1)T1,T2并发执行的一个可能结果如下图所示, 它是不可串行化的调度,执行结果不正确。
T1,T2串行执行的可能结果应该是A=3、B=4, 或者是A=4、B=3,因此该题目中T1、T2 并行 执行结果A=3、B=3是错误的。
பைடு நூலகம்
2)多个事务并发执行是正确的,当且仅当其结果与 按某一次序串行的执行它们时的结果相同。
相关文档
最新文档