数据库系统概论_离线作业第2次.doc_第1页
数据库系统概论_离线作业第2次.doc_第2页
数据库系统概论_离线作业第2次.doc_第3页
数据库系统概论_离线作业第2次.doc_第4页
数据库系统概论_离线作业第2次.doc_第5页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

数据库系统概论离线作业第2次作业内容小组/个人完成第六章习题2、12个人第七章习题9、11、12个人第九章习题2第十章习题6、7、8第十一章习题4、7、9、10个人第六章习题2、122建立一个关于系、学生、班级、学会等诸信息的关系数据库。 描述学生的属性有:学号、姓名、出生年月、系名、班号、宿舍区。 描述班级的属性有:班号、专业名、系名、人数、入校年份。 描述系的属性有:系名、系号、系办公室地点、人数。 描述学会的属性有:学会名、成立年份、地点、人数。 有关语义如下:一个系有若干专业,每个专业每年只招一个班,每个班有若干学生。一个系的学生住在同一宿舍区。每个学生可参加若干学会,每个学会有若干学生。学生参加某学会有一个入会年份。 请给出关系模式,写出每个关系模式的极小函数依赖集,指出是否存在传递函数依赖,对于函数依赖左部是多属性的情况讨论函数依赖是完全函数依赖,还是部分函数依赖。 指出各关系的候选码、外部码,有没有全码存在? 答: 1n11系分配宿舍区属于人数专业设置包含nn1加入学生班级级组成1mn学会nm入会年份ER图:关系模式:学生(学号,姓名,出生年月,系号,班号,专业号,宿舍区) 专业 (专业号,专业名)班级(班号,专业名,系号,班人数,入校年份) 系 (系号,系名,系办公室地点,系人数) 学会(学会名,成立年月,地点,学会人数) 学生学会(学号,学会名,入会年份) 每个关系模式的极小函数依赖集: 学生: 学号姓名,学号出生年月,学号系号,学号班号,班号系号,系号宿舍区,学号专业号,学号宿舍区, 班号宿舍区专业:专业号专业名班级: 班号专业名,班号班人数,班号入校年份,班号系号,专业号系号(专业号, 入校年份)班号 系:系号系名,系名系号,系号系办公室地点,系号系人数学会:学会名成立年月,学会名地点,学会名学会人数 学生学会:(学号,学会名)入会年份学生中存在传递函数依赖:学号班号,班号系号班中存在传递函数依赖:(专业名, 入校年份)班号,班号班人数,( 学号,学会名)入会年份和(专业名,入校年份)班号 均为学生学会和班级中的函数依赖,是完全函数依赖 关系候选码外部码全码学生学号班号,系号无班级班号,(专业号, 入校年份)系号无系系号和系名无无学会学会名无无学生学会(学号,学会名)学号,学会名无12、下面的结论哪些是正确的,哪些是错误的?对于错误的结论请给出理由或给出反例说明之。答:(1)对 (2)对 (3)对 (4)错(5)对 (6)对 (7)对 (8)错第七章习题9、11、129 试述数据库概念结构设计的重要性和设计步骤。 答: 重要性: 数据库概念设计是整个数据库设计的关键,将在需求分析阶段所得到的应用需求首先抽象为概念结构,以此作为各种数据模型的共同基础,从而能更好地、更准确地用某一 DBMS实现这些需求。设计步骤:概念结构的设计方法有多种,其中最经常采用的策略是自底向上方法,该方法的设计步骤通常分为两步:第 1步是抽象数据并设计局部视图,第2步是集成局部视图,得到全局的概念结构。11 什么是数据库的逻辑结构设计?试述其设计步骤。 答:数据库的逻辑结构设计就是把概念结构设计阶段设计好的基本 E-R图转换为与选用的DBMS产品所支持的数据模型相符合的逻辑结构。 设计步骤为: (1)将概念结构转换为一般的关系、网状、层次模型; (2)将转换来的关系、网状、层次模型向特定DBMS支持下的数据模型转换; (3)对数据模型进行优化。12、学校(校名,校长,地点)系(系号,系名,主任名,学校名)教研室(室号,名称,负责人,系号)教师(教师号,教师名,职称,室号)班级(班号,班长,系号)学生(学号,姓名,系号,班号)课程(课程号,课程名,学分)教授(教师号,人数)研究生(学号,专业方向,教师号)选修(学号,课程号,成绩)仓库(仓库号,面积,管理员)零件(零件号,名称,仓库号,数量)材料(材料号,材料名,类别)产品(产品号,产品名,规格型号,单价)存放(仓库号,材料号,数量)组成(产品号,零件号,数量)制造(零件号,材料号,数量)第九章习题22 对学生-课程数据库有如下的查询SELECT Cname FROM Student, Course,SC WHERE Student .Sno= SC .Sno AND Course.Cno= SC.CnoAND Student .Sdept=IS)试画出用关系代数表示的语法树,并用关系代数表达式优化算法对原始的主法树进行优化处理,画出优化后的语法树:关系代数表达式:Cname(Student.Sno=SC.Sno SC.Cno=Course.Cno Student.Sdept=IS( StudentSCSourse )第十章习题6、7、86 数据库转储的意义是什么? 试比较各种数据转储方法。 答:数据转储是数据库恢复中采用的基本技术。所谓转储即 DBA定期地将数据库复制到磁带或另一个磁盘上保存起来的过程。当数据库遭到破坏后可以将后备副本重新装入,将数据库恢复到转储时的状态。 静态转储:在系统中无运行事务时进行的转储操作。静态转储简单,但必须等待正运行的用户事务结束才能进行。同样,新的事务必须等待转储结束才能执行。显然,这会降低数据库的可用性。 动态转储:指转储期间允许对数据库进行存取或修改。动态转储可克服静态转储的缺点,它不用等待正在运行的用户事务结束,也不会影响新事务的运行。但是,转储结束时后援副本上的数据并不能保证正确有效。因为转储期间运行的事务可能修改了某些数据,使得后援副本上的数据不是数据库的一致版本。 为此,必须把转储期间各事务对数据库的修改活动登记下来,建立日志文件( log file)。这样,后援副本加上日志文件就能得到数据库某一时刻的正确状态。 转储还可以分为海量转储和增量转储两种方式。 海量转储是指每次转储全部数据库。增量转储则指每次只转储上一次转储后更新过的数据。从恢复角度看,使用海量转储得到的后备副本进行恢复一般说来更简单些。但如果数据库很大,事务处理又十分频繁,则增量转储方式更实用更有效。 7 什么是日志文件?为什么要设立日志文件? 答:(1)日志文件是用来记录事务对数据库的更新操作的文件。 (2)设立日志文件的目的是: 进行事务故障恢复;进行系统故障恢复;协助后备副本进行介质故障恢复。 8 登记日志文件时为什么必须先写日志文件,后写数据库? 答:把对数据的修改写到数据库中和把表示这个修改的日志记录写到日志文件中是两个不同的操作。有可能在这两个操作之间发生故障,即这两个写操作只完成了一个。 如果先写了数据库修改,而在运行记录中没有登记这个修改,则以后就无法恢复这个修改了。如果先写日志,但没有修改数据库,在恢复时只不过是多执行一次 UNDO操作,并不会影响数据库的正确性。所以一定要先写日志文件,即首先把日志记录写到日志文件中,然后写数据库的修改。第十一章习题4、7、9、104 如何用封锁机制保证数据的一致性?答: DBMS 在对数据进行读、写操作之前首先对该数据执行封锁操作,例如下图中事务 Tl 在对 A 进行修改之前先对 A 执行 xock ( A ) ,即对 A 加 x 锁。这样,当几请求对 A 加 x 锁时就被拒绝,几只能等待 Tl 释放 A 上的锁后才能获得对 A 的 x 锁,这时它读到的 A 是 Tl 更新后的值,再按此新的 A 值进行运算。这样就不会丢失 Tl 的更新。DBMS 按照一定的封锁协议,对并发操作进行控制,使得多个并发操作有序地执行,就可以避免丢失修改、不可重复读和读“脏夕数据等数据不一致性。7 请给出检测死锁发生的一种方法,当发生死锁后如何解除死锁? 答:数据库系统一般采用允许死锁发生, DBMS检测到死锁后加以解除的方法。 DBMS中诊断死锁的方法与操作系统类似,一般使用超时法或事务等待图法。 超时法是:如果一个事务的等待时间超过了规定的时限,就认为发生了死锁。超时法实现简单,但有可能误判死锁,事务因其他原因长时间等待超过时限时,系统会误认为发生了死锁。若时限设置得太长,又不能及时发现死锁发生。 DBMS并发控制子系统检测到死锁后,就要设法解除。通常采用的方法是选择一个处理死锁代价最小的事务,将其撤消,释放此事务持有的所有锁,使其他事务得以继续运行下去。当然,对撤销的事务所执行的数据修改操作必须加以恢复。 9 设T1、T2、T3是如下的三个事务,设A的初始值为0;T1:A:=A+2;T2:A:=A*2;T3:A:=A*2;若这3个事务允许并发执行,则有多少种可能的正确结果,请一一列出来;请给出一个可串行化的调度,并给出执行结果;请给出一个非串行化的调度,并给出执行结果;若这三个事务遵守两段锁协议,请给出一个不产生死锁的可串行化调度;若这三个事务遵守两段锁协议,请给出一个产生死锁的调度;答:有六种正确的结果:1. T1T2T3 162. T1T3T2 83. T2T1T3 44. T2T3T1 25. T3T1T2 46. T3

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论