浙大远程教育2015数据库系统概论离线作业答案_第1页
浙大远程教育2015数据库系统概论离线作业答案_第2页
浙大远程教育2015数据库系统概论离线作业答案_第3页
浙大远程教育2015数据库系统概论离线作业答案_第4页
浙大远程教育2015数据库系统概论离线作业答案_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

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

文档简介

1、 浙江大学远程教育学院数据库系统概论课程作业姓名:学 号:年级:15年春学习中心:第一章习题2、6、10第二章习题5、6第三章习题4、5、9第四章习题3、7、8、10第五章习题2、5、6、7第六章习题2、7 第七章习题9、10第九章习题3第十章习题3、4、5第十一章习题4、7、9*、10*第一章习题2、答:使用数据库系统有许多优点,主要是:(1)大大提高应用系统的开发效率。因为数据库系统中应用程序不必考虑数据的定义、存储和数据存取的具体路径等细节工作,这些都由数据库管理系统完成,开发人员就可以专注于用户需求的理解和应用逻辑的设计等工作。(2)应用逻辑或是数据的逻辑结构发生变化,数据库系统提供了

2、数据与程序之间的独立性。数据库系统具有逻辑独立性,逻辑结构改变,用户程序也可以不变。这样既简化了应用程序的编制,又大大减少了应用程序的维护和修改。(3)减轻数据库管理人员维护系统的负担。因为数据库中的数据是由数据库管理系统统一管理和控制,包括数据的完整性和安全性、并发控制、数据库恢复等都由数据库管理系统执行。总是,数据库管理系统便于数据的集中管理,控制数据冗余,提高数据的利用率和一致性,又有利于应用程序的开发和维护。 6、答:数据库管理系统的主要功能有:(1)数据库定义功能;(2)数据组织、存储和管理功能;(3)数据操纵功能;(4)数据库的事务管理和运行管理;(5)数据库的建立和维护功能;(6

3、)其他功能,包括数据库管理系统与网络中其他软件系统的通信功能,不同数据库之间的互访和互操作功能等。10、答:层次模型用树形结构来表示各类实体以及实体间的联系。 实例1:教员学生层次模型系编号系名办公地点系教研室教研室编号教研室名学号姓名成绩职工号姓名研究方向学生教员实例2:行政机构层次模型编号机构名办公地点行政机构科室科室编号科室名职工号姓名研究方向职工 实例3:行政区域层次模型国家自治区省直辖市市市第二章习题5、答:关系模型的完整性规则是对关系的某种约束条件。关系模型中有三类完整性约束:实体完整性、参照完整性和用户自定义完整性。其中实体完整性和参照完整性是关系模型必须满足的完整性约束条件,被

4、称做是关系的两个不变性,应该由关系系统自动支持。(1)实体完整性规则:若属性a是基本关系r的主属性,则属性a不能取空值。(2)参照完整性规则:若属性(或属性组)f是基本关系r的外码,它与基本关系s的主码ks相对应(基本关系r和s不一定是不同的关系),则对于r中每个元组在f上的值必须为:1)空值(f的每个属性值均为空值);2)等于s中某个元组的主码值。(3)用户自定义的完整性是针对某一具体关系数据库的约束条件。它反映某一具体应用所涉及的数据必须满足的语义要求。在参照完整性中,外部码属性的值可以为空,它表示该属性的值尚未确定,但前提条件是该外部码属性不是其所在关系的主属性。例如,在下面的“学生”表

5、中,“专业号”是一个外部码,不是学生表的主属性,可以为空,其语义是,该学生的专业尚未确定。即属性” 专业号”本身不是主属性,则可以取空值,否则不能取空值。学生(学号,姓名,性别,专业号,年龄)专业(专业号,专业名)在下面的“选修”表中的“课程号”虽然也是一个外部码属性,但它又是课程表的主属性,所以不能为空,因为关系模型必须满足实体完整性。课程(课程号,课程名,学分)选修(学号, 课程号, 成绩)6、答:(1)关系代数:alpha语言:get w(spj.sno):spj.jno=j1qbe语言:spjsnopnojnoqtyp.s1j1(2)关系代数: alpha语言:get w(spj.sn

6、o):spj.jno=j1spj.pno=p1qbe语言:spjsnopnojnoqtyp.s1p1j1(3)关系代数: 注:是连在一起的,表示连接alpha语言:qbe语言:spjsnopnojnoqtyp.s1p1j1ppnopnamecolorweightp1红(4)关系代数: alpha语言:qbe语言:ssnosnamestatuscitys1天津ppnopnamecolorweightp1红spjsnopnojnoqtys1p1p.j1(5)关系代数: alpha语言:第三章习题4、答:a.建立四个表:建立s表:s(sno,sname,status,city)create tabl

7、e s(sno char(3), sname char(10), status char(2), city char(10);建立p表:p(pno,pname,color,weight0create table p(pno char(3), pname char(10), color char(4), weight int);建立j表:j ( jno , jname , city);create table j(jno char (3),jname char (10),city char (10);建立 spj 表: spj ( sno , pno , jno , qty);create ta

8、ble spj(sno char (3),pno char (3),jno char (3),qty int);b.查询:(1)求供应工程j1零件的供应商号码snoselect distinct sno from spj where jno=j1(2)求供应工程j1零件pl的供应商号码snoselect distinct snofrom spjwhere jno=j1 and pno=p1(3)求供应工程j1零件为红色的供应商号码snoselect distinct snofrom spj, pwhere jno=j1 and spj.pno=p.pno and color=红(4)求没有使用

9、天津供应商生产的红色零件的工程号 jno;select jnofrom jwhere not exists(select * from spj where spj.jno=j.jno and sno in (select sno from s where city=天津) and pno in (select pno from p where color=红);(5)求至少用了供应商 sl 所供应的全部零件的工程号 jno select distinct jnofrom spj spjzwhere not exists(select * from spj spjx where sno=j1 a

10、nd not exists (select * from spj spjy where spjy.pno=spjx.pnoand spjy.jno=spjz.jno);5、答:(1)select sname, cityfrom s;(2)select pname, color, weightfrom p;(3)select jnofrom spjwhere sno=s1;(4)select p.pname, spj.qtyfrom p,spjwhere p.pno=spj.pno and spj.jno=j2;(5)select distinct pnofrom spjwhere sno in

11、 (select sno from s where city=上海);(6)select jnamefrom j,spj,swhere j.jno=spj.jno and spj.sno=s.sno and s.city=上海;(7)select jnofrom jwhere not exisits(select * from spj, s where j.jno=spj.jno and spj.sno=s.sno and s.city=天津);(8)update pset color=蓝where cloor=红;(9)update spjset sno=s3where sno=s5and

12、jno=j4and pno=p6;(10)deletefrom spjwhere sno=s2;delete from swhere sno=s2;(11)insert into spj(sno,jno,pno,qty)values(s2,j6,p4,200);9、答:create view v_spj asselect sno,pno,qtyfrom spjwhere jno=(select jnofrom jwhere jname=三建);(1)select pno,qty from v_spj;(2) select pno,qty from v_spjwhere sno=s1;第四章习题

13、3、答:(1)信息安全标准的发展历史,如下图:1993年加拿大可信计算机产品评估准则(ctcpec)1991年欧洲信息技术安全评估准则(itsec)1993年美国信息技术安全联邦标准(fc)草案1985年美国国防部可信计算机系统评估准则(tcsec)通用准则(cc)v1.0 1996年v2.0 1998年v2.1 1999年1999年cc v2.1成为国际标准(iso 15408)tcsec是1985年美国国防部正式颁布的dod可信计算机系统评估准则。cc通用准则v2.1版于1999年被iso纳为国际标准,2001年我国采用其为国家标准。目前cc已经基本取代了tcsec,成为评估信息产品安全性

14、的主要标准。tcsec/tdi标准将tcsec扩展到数据库管理系统,tcsec/tdi中定义了数据库管理系统的设计与实现中需满足和用以进行安全性级别评估的标准,从安全策略、责任、保证和文档4各方面来描述安全性级别划分的标准。 cc提出了目前国际上公认的表述信息技术安全性的结构,即把对信息产品的安全要求分为安全功能要求和安全保证要求。安全功能要求用以规范产品和系统的安全行为,安全保证要求解决如何正确有效地实施这些功能。(2)cc 评估保证级划分如下:7、答:(1)graint select on职工,部门to 王明;(2)graint insert,delete on职工,部门to 李勇;(3)

15、graint select on职工when user()=nameto all;(4)graint select,update(工资) on职工to 刘星;(5)graint alter table on职工,部门to 张新;(6)graint all priviliges on职工,部门to 周平with grant option;(7)create view 部门工资asselect 部门.名称,max(工资),min(工资),avg(工资)from 职工,部门where 职工.部门号=职工.部门号group by职工.部门号graint select on部门工资to 杨兰8、答:(1

16、)revoke select on职工,部门from 王明;(2)revoke insert,delete on职工,部门from 李勇;(3)revoke select on职工when user()=namefrom all;(4)revoke select,update(工资) on职工from 刘星;(5)revoke alter table on职工,部门from 张新;(6)revoke all priviliges on职工,部门from 周平;(7)revoke select on部门工资from 杨兰;drop view 部门工资10、答:因为强制存取控制是对数据本身进行密级

17、标记,无论数据如何复制,标记与数据是一个不可分的整体,只有符合密级标记要求的用户才可以操纵数据,从而提供了更高级别的安全性。第五章习题2、答:数据的完整性和安全性是两个既有联系又不尽相同的概念。数据的完整性是为了防止数据库中存在不符合语义的数据,也就是防止数据库中存在不正确的数据。数据的安全性是保护数据库防止恶意破坏和非法存取。安全性控制的防范对象是非法用户和非法操作,防止他们对数据库数据的非法存取。5、答:关系数据库管理系统在实现参照完整性时需要考虑可能破坏参照完整性的各种情况,以及违约后的处理策略。下表总结了可能破坏参照完整性的4种情况及可采取的违约策略:4种情况分别是指:在参照关系中插入

18、元组、修改外码值时可能破坏参照完整性,在删除被参照表的元组、修改主码值时可能破坏参照完整性。被参照表参照表违约处理可能破坏参照完整性插入元组拒绝可能破坏参照完整性修改外码值拒绝删除元组可能破坏参照完整性拒绝/级联删除/设置为空值修改主码值可能破坏参照完整性拒绝/级联删除/设置为空值6、答:create table dept(deptno number(3) rimary key,deptname varchar(10),manager varchar(10),phonenumber char(12);create table emp(empno number(10),ename varchar

19、(10),age number(2)constraint c1 check ( age=60 ),job varchar(10),sal number(9,2),deptno number(3),rimary key (empno),foreign key (deptno) refferences dept(deptno);7、答:对于违反实体完整性和用户定义的完整性的操作,一般都采用拒绝执行的方式进行处理。而对于违反参照完整性的操作,并非都是简单的拒绝执行,有时要根据应用语义执行一些附加的操作,以保证数据库的正确性。第六章习题2、答:(1)关系模式如下: 学生:s(sno,sname,sbi

20、rth,dept,class,rno) 班级:c(class,pname,dept,cnum,cyear) 系:d(dept,dno,office,dnum) 学会:m(mname,myear,maddr,mnum) 学生学会:sm(sno,mname,date)其中:sno学号,sname姓名,sbirth出生年月,dept系名,class班号,rno宿舍区,pname专业名, cnum班级人数,cyear入校年份,dno系号,office系办公室地点,dnum系人数,mname学会名,myear成立年份,maddr地点,mnum学会会员人数,date入会年份(2)每个关系模式的最小函数依赖

21、集如下: 一、学生s (sno,sname,sbirth,dept,class,rno) 的最小函数依赖集如下:snosname,snosbirth,snoclass,classdept,deptrno传递依赖如下:snoclass,classdept,所以sno与dept之间存在着传递函数依赖snodept.classdept,deptrno,所以class与rno之间存在着传递函数依赖classrno.snoclass,classdept,deptrno,所以sno与rno之间存在着传递函数依赖snorno.(pname,cyear)class函数依赖左部具有两个属性,都是完全函数依赖,没

22、有部分函数依赖的情况。 二、班级c(class,pname,dept,cnum,cyear)的最小函数依赖集如下: classpname,classcnum,classcyear,pnamedept,(pname,cyear)class. 由于classpname,pnameclass,pnamedept,所以c1ass与dept之间存在着传递函数依赖classdept。 三、系d(dept,dno,office,dnum)的最小函数依赖集如下: deptdno,dnodept,dnooffice,dnodnum 根据上述函数依赖可知,dept与office,dept与dnum之间不存在传递依

23、赖。四、学会m(mname,myear,maddr,mnum)的最小函数依赖集如下: mnamemyear,mnamemaddr,mnamemnum 该模式不存在传递依赖。五、学生学会sm(sno,mname,date)的最小函数依赖集如下:(sno, mname)date该模式不存在传递依赖。(sno, mname)date函数依赖左部具有两个属性,都是完全函数依赖,没有部分函数依赖的情况。 (3)各关系模式的候选码、外部码,全码如下:关系候选码外部码全码ssnodept,class无cclass和(pname,cyear)dept无ddept和dno无无mmname无无sm(sno, mn

24、ame)sno, mname无7 、答:(1)正确(2)正确(3)正确(4)错误,正确应该是:当且仅当多值依赖ab 在r 上成立,关系r(a,b,c)等于其投影r1(a,b) 和r2(a,c)的连接。(5)正确(6)正确(7)正确(8)错误。反例:课本p52页图3.4中sc表,关系模式sc(sno,cno,grade), (sno,cno)grade,但是sno,cnograde,cnograde第七章习题9、答:数据库的逻辑结构设计就是把概念结构设计阶段设计好的基本e-r 图转换为与选用的数据库管理系统产品所支持的数据模型相符合的逻辑结构。设计步骤为:(1)将概念结构转换为一般的关系、网状、

25、层次模型;(2)将转换来的关系、网状、层次模型向特定数据库管理系统支持下的数据模型转换;(3)对数据模型进行优化。10、答:(1)习题7的e-r图为:学校系班级学生教研室教员课程校系系班级系教研室班级学生室教员选修指导1n11n1nnmn1n1n各实体属性如下:系:系编号, 系名, 学校名班级:班级编号, 班级名, 年级, 系编号教研室:教研室编号, 名称, 系编号学生:学号,姓名,性别, 学历, 班级编号, 导师职工号课程:课程编号,课程名教员:职工号, 姓名, 职称, 教研室编号各联系的属性如下:选修课: 成绩转换的关系模型如下(带下划线的属性是主码属性):系(系编号, 系名, 学校名)班

26、级(班级编号, 班级名, 年级, 系编号)教研室(教研室编号, 名称, 系编号)学生(学号,姓名,性别, 学历, 班级编号, 导师职工号)课程(课程号,课程名)教员(职工号, 姓名, 职称, 教研室编号)选课(学号, 课程号, 成绩)(2)习题8的e-r图为:产品零件材料仓库组成制造存储存放mnmnnnm1各实体属性如下:仓库:仓库号,仓库名产品:产品号,产品名称,仓库号零件:零件号,零件名称材料:材料号, 材料名称, 材料类别, 仓库号, 存放量各联系的属性如下:产品组成:使用零件数量零件组成:使用材料数量零件储存:存储量材料存放:存放量转换的关系模型如下(带下划线的属性是主码属性):仓库(

27、仓库号,仓库名)产品(产品号,产品名称,仓库号)零件 (零件号,零件名称)材料(材料号, 材料名称, 材料类别, 仓库号, 存放量)产品组成(产品号,零件号,使用零件数量)零件组成(零件号, 材料号,使用材料数量)零件储存(零件号,仓库号, 存储量)第九章习题3、答:结果project(cname)select(student. sdept = is)join(sc. cno = course. cno)join(student. sno = sc. sno)coursestudentsc原始语法树coursestudentsc关系代数语法树coursestudentsc优化后语法树第十章习题

28、3、答:把对数据库的修改写到数据库中和把这个修改的日志记录写到日志文件中是两个不同的操作。有可能在这两个操作之间发生故障,即两个操作只完成了一个。如果先写了数据库修改,而在运行记录中没有登记这个修改,则以后就无法恢复这个修改了。如果先写日志,但没有修改数据库,按日志文件恢复时只不过是多执行一次不必要的undo操作,并不会影响数据库的正确性。4、答:(1)如果系统故障发生在14之后,t1,t3需要重做,t2,t4需要回滚。(2)如果系统故障发生在10之后,t1需要重做,t2,t3需要回滚。(3)如果系统故障发生在9之后,t1需要重做,t2,t3需要回滚。(4)如果系统故障发生在7之后,t1需要重

29、做,t2需要回滚。5、答:(1)如果系统故障发生在14之后,a=8, b=7, c=11;(2)如果系统故障发生在12之后,a=10, b=0, c=11;(3)如果系统故障发生在10之后,a=10, b=0, c=11;(4)如果系统故障发生在9之后,a=10, b=0, c=11;(5)如果系统故障发生在7之后,a=10, b=0, c=11;(6)如果系统故障发生在5之后,a=0, b=0, c=0第十一章习题4、答:数据库管理系统在对数据进行读、写操作之前首先对该数据执行封锁操作,例如事tl在对a进行修改之前先对a执行xlock(a),即对a加x锁。这样,当t2请求对a加x锁时就被拒绝

30、,t2只能等待tl释放a上的锁后才能获得对a的x锁,这时它读到的a是tl更新后的值,再按此新的a值进行运算。这样就不会丢失tl的更新。dbms 按照一定的封锁协议对并发操作进行控制,使得多个并发操作有序地执行,就可以避免丢失修改、不可重复读和读“脏”数据等数据不一致性。tlt2xlock(a) 获得控制权读a=16xlock(a)等待aa-1等待写回a=15等待commit等待unlock(a)获得xlock(a)读a=15aa-1写回a=14commitunlock(a)7、答:(1)数据库管理系统在解决死锁的问题上通常采用的方法是:允许死锁发生,dbms检测到死锁后对其加以解除。(2)数据

31、库系统中诊断死锁的方法与操作系统类似,一般使用超时法或事务等待图法。超时法:如果一个事务的等待时间超过了规定的时限,就认为发生了死锁。超时法实现简单,但有可能误判死锁,事务因其他原因长时间等待超过时限时,系统会误认为发生了死锁。若时限设置得太长,又不能及时发现死锁发生。等待图法:事务等待图是一个有向图g=(t,u),t为结点的集合,每个结点表示正运行的事务;u为边的集合,每条边表示事务等待的情况。若t1等待t2,则t1、t2之间划一条有向边,从t1指向t2。事务等待图动态地反映了所有事务的等待情况。并发控制子系统周期性地(比如每隔1分钟)检测事务等待图,如果发现图中存在回路,则表示系统中出现了死锁。dbms并发控制子系统检测到死锁后,就要设法解除。通常采用的方法是选择一个处理死锁代价最小的事务,将其撤消,释放此事务持有的所有锁,使其他事务得以继续运行下去。当

温馨提示

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

评论

0/150

提交评论