数据库原理课后题答案_3.docx

上传人:安*** 文档编号:18968681 上传时间:2022-06-03 格式:DOCX 页数:27 大小:32.38KB
返回 下载 相关 举报
数据库原理课后题答案_3.docx_第1页
第1页 / 共27页
数据库原理课后题答案_3.docx_第2页
第2页 / 共27页
点击查看更多>>
资源描述

《数据库原理课后题答案_3.docx》由会员分享,可在线阅读,更多相关《数据库原理课后题答案_3.docx(27页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、数据库原理课后题答案数据库原理课后题答案Documentserialnumber【KKGB-LBS98YT-BS8CB-BSUT-BST108】第1章1.试述数据、数据库、数据库系统、数据库管理系统的概念。答:(1)数据:描绘事物的符号记录成为数据。数据的种类有数字、文字、图形、图像、声音、正文等。数据与其语义是不可分的。2数据库:数据库是长期储存在计算机内的、有组织的、可分享的数据集合。数据库中的数据根据一定的数据模型组织。描绘和储存,具有较小的冗余度、较高的数据独立性和易扩展性,并可为各种用户分享。3数据库系统:数据库系统是指在计算机系统中引入数据库后的系统构成,一般由数据库、数据库管理系

2、统及其开发人具、应用系统、数据库管理员构成。4数据库管理系统:数据库管理系统是位于用户与操作系统之间的一层数据管理软件,用于科学地组织和存储数据、高效地获取和维护数据。DBMS的主要功能包括数据定义功能、数据操作功能、数据库的建立和维护功能。6.试述数据库系统三级形式构造,这种构造的优点是什么答:数据库系统的三级形式机构由外形式、形式和内形式组成。外形式,亦称子形式或用户形式,是数据库用户包括应用程序员和最终用户能够看见和使用的局部数据的逻辑构造和特征的描绘,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示。形式亦称逻辑形式,是数据库中全体数据呃逻辑构造和特征的描绘,是所有用户的公共数

3、据视图。形式描绘的是数据的全局逻辑构造。外形式涉及的是数据的内部逻辑构造,通常是形式的子集。内形式,亦称存储形式,是数据在数据库内部的表示,即对数据的物理构造和存储方式的描绘。数据库系统的三级形式是对数据的三个抽象级别,它对数据的详细组织留给DBMS管理,使用户能逻辑抽象地处理数据,而不必关心数据在计算机中的表示和存储。为了能够在内部实现这三个抽象层次的联络和转换,数据库系统在这三级形式之间提供了两层映像:外形式形式映像和形式内形式映像。正是这两层映像保证了数据库系统中的数据能够具有较高的逻辑独立性和物理独立性。7.定义并解释下列术语。外形式:亦称子形式或用户形式,是数据库用户包括应用程序员和

4、最终用户能够看见和使用的局部数据的逻辑构造和特征的描绘,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示。内形式:亦称存储形式,是数据在数据库内部的表示,即对数据的物理构造和存储方式的描绘。形式:亦称逻辑形式,是数据库中全体数据逻辑构造和特征的描绘,是所有用户的公共数据视图。形式描绘的是数据的全局逻辑构造。外形式涉及的是数据的内部逻辑构造,通常是形式的子集。DDL:数据库定义语言,用来定义数据库形式、外形式、内形式的语言。DML:数据操纵语言,用来对数据库中数据进行查询、插入、删除和修改的语句。8.什么叫数据与程序的物理独立性什么叫数据与程序的逻辑独立性为何数据库系统具有数据与程序的独

5、立性答:数据与程序的逻辑独立性:当形式改变时(例如增加新的关系、新的属性、改变属性的数据类型等),由数据库管理员各个外形式形式的映像做相应改变,能够使外形式保持不变。应用程序是根据数据的外形式编写的,进而应用程序不必修改,保证了数据与程序的逻辑独立性,简称数据的逻辑独立性。数据与程序的物理独立性:当数据库的存储构造改变了,有数据库管理员对形式内形式映像做相应改变,能够使形式保持不变,进而应用程序也不必改变,保证了数据与程序的物理独立性,简称数据的物理独立性。数据库管理系统在三级形式之间提供的两层映像保证了数据库系统中的数据具有较高的逻辑独立性和物理独立性。第2章数据模型3试描绘数据模型的三个要

6、素。数据模型由数据构造、数据操作和完好性约束三部分组成。1)数据构造:是所研究的对象类型的集合,是对系统静态特性的描绘。2)数据操作:是对数据库中各种对象型)的实例值允许进行的操作的集合,包括操作及有关的操作规则,是对系统动态特性的描绘。3)数据的约束条件:是一组完好性规则的集合。完好性规则是给定的数据模型中数据及其联络所具有的制约和依存规则,用以限定符合数据模型的数据库状态以及状态的变化,以保证数据的正确、有效、相容。7.试述关系模型的概念,定义并解释下面术语。答:关系模型由关系数据构造、关系操作集合和关系完好性约束三部分组成。1关系:一个关系对应通常讲法的一张表2关系形式:对关系的描绘,一

7、般表示为:关系名属性1,属性2,属性n3元祖:表中的一行即为一个元组4属性:表中的一列即为一个属性5码:表中的某个属性组,它能够唯一确定一个元组6域:属性的取值范围7分量:元组中的一个属性值第3章关系数据库3定义并理解下列术语,讲明它们之间的联络与区别。1域:域是一组具有一样数据类型的值的集合;笛卡儿积:给定一组域D1,D2,Dn,这些域中能够有一样的。D1,D2,Dn的笛卡尔积为:D1D2Dn=d1,d2,dn|diDi,i=1,2,n其中每一个元素d1,d2,dn叫做一个n元组或简称元组。元素中的每一个值di叫做一个分量。关系:在域D1,D2,Dn上笛卡尔积D1D2Dn的子集称为关系,表示

8、为RD1,D2,Dn元组:关系中的每个元素是关系中的元组。属性:关系也是一个二维表,表的每行对应一个元组,表的每列对应一个域。由于域能够一样,为了加以区分,必须对每列起一个名字,称为属性。2候选码:若关系中的某一属性组的值能唯一地标识一个元组,则称该属性组为候选码。主码:若一个关系有多个候选码,则选定其中一个为主码。外部码:设F是基本关系R的一个或一组属性,但不是关系R的码,假如F与基本关系S的主码Ks相对应,则称F是基本关系R的外部码,简称外码。基本关系R称为参照关系,基本关系S称为被参照关系或目的关系。关系R和S能够是一样的关系。3关系形式:关系的描绘称为关系形式。它能够形式化地表示为RU

9、,D,dom,F其中R为关系名,U为组成该关系的属性名集合,D为属性组U中属性所来自的域,dom为属性向域的映像集合,F为属性间数据的依靠关系集合。关系:在域D1,D2,,Dn上笛卡儿积D1D2Dn的子集称为关系,表示为RD1,D2,Dn,关系是关系形式在某一时刻的状态或内容。关系形式是静止的、稳定的;而关系是动态的、随时间不断变化的,由于关系操作在不断更新着数据库中的数据。关系数据库:关系数据库也有型和值之分。关系数据库的型也称为关系数据库形式,是对关系数据库的描绘,它包括若干域的定义以及在这些域上定义的若干关系形式。关系数据库的值是这些关系形式在某一时刻对应的关系的集合,通常就称为关系数据

10、库。4试述关系模型的完好性规则。在参照完好性中,为何外部码属性的值可以以为空什么情况下才能够为空答:关系模型的完好性规则是对关系的某种约束条件。关系模型中能够有三类完好性约束:实体完好性、参照完好性和用户定义的完好性。其中实体完好性和参照完好性是关系模型必须知足的完好性约束条件,被称做事关系的两个不变性,应该由关系系统自动支持。1实体完好性规则:若属性A是基本关系R的主属性,则属性A不能取空值。2参照完好性规则:若属性或属性组F是基本关系R的外码,它与基本关系S的主码Ks相对应基本关系R和S不一定是不同的关系,则对于R中每个元组在F上的值必须为:1或者取空值F的每个属性值均为空值2或者等于S中

11、的某个元组的主码值。3用户定义的完好性是针对某一详细关系数据库的约束条件。它反映某一详细应用所涉及的数据必须知足的语义要求。在参照完好性中,外部码属性的值能够为空,它表示该属性的值尚未确定,但前提条件是该外部码属性不是其所在关系的主属性。例如,在下面的“学生表中,“专业号是一个外部码,不是学生表的主属性,能够为空,其语义是,该学生的专业尚未确定。学生学号,姓名,性别,专业号,年龄专业专业号,专业名而在下面的“选修表中的“课程号固然也是一个外部码属性,但它又是“课程表的主属性,所以不能为空,由于关系模型必须知足实体完好性。课程课程号,课程名,学分选修学号,课程号,成绩p615、设有一个SPJ数据

12、库,包括S、P、J、SPJ四个关系形式:S(SNO,SNAME,STATUS,CITY);P(PNO,PNAME,COLOR,WEIGHT);J(JNO,JNAME,CITY);SPJ(SNO,PNO,JNO,QTY);供给商表S由供给商代码SNO、供给商姓名SNAME)、供给商状态STATUS)、供给商所在城市CITY组成;零件表P由零件代码(PNO)、零件名PNAME、颜色COLOR)、重量WEIGHT组成;工程项目表J由工程项目代码JNO、工程项目名JNAME、工程项目所在城市CITY组成;供给情况表SPJ由供给商代码SNO、零件代码PNO、工程项目代码JNO、供给数量QTY组成,表示某

13、供给商供给某种零件给某工程项目的数量为QTY。今有若干数据如下:S表1求供给工程J1零件的供给商号SNO;答关系代数SNO(JNO=J1(SPJ)2求供给工程J1零件P1的供给商号SNO;答关系代数SNO(JNO=J1PNO=P1(SPJ)3求供给工程J1零件为红色的供给商号SNO;答关系代数SNO(SNO,PNO(JNO=J1(SPJ)PNO(COLOR=红(P)(4)求没有使用天津供给商生产的红色零件的工程号JNO;答关系代数JNO(J)-JNO(SNO(CITY=天津(S)SNO,PN0,JNO(SPJ)PNO(COLOR=红(P)解析减法运算中被减的部分是使用了天津供给商生产的红色零件

14、的所有工程号,J是全部工程的工程号,两者相减就是没有使用天津供给商生出的红色零件的工程号,包括没有使用任何零件的工程号。(5)求至少用了S1供给商所供给的全部零件的工程号JNO;答关系代数JNO,PNO(SPJ)PNO(SNO=s1(SPJ)解析上面公式中除号前的部分是所有工程与该工程所用的零件,除号后的部分是S1所供给的全部零件号。对于SPJ表中的某一个JNO,假如该工程使用的所有零件的集合包含S1所供给的全部零件号,则该JNO符合此题条件,在除法运算的结果集中。能够看到,使用关系代数的除法运算概念明晰,语言表达也很简单。7关系代数的基本运算有哪些选择、投影、并、差和笛卡儿积五种。第4章关系

15、数据库的标准语言SQL5针对习题3中的4个表试用SQL完成如下操作。1找出所有供给商的姓名和所在的城市。SELECTSNAME,CITYFROMS;5找出上海厂同提供的所有零件号码SELECTDISTINCTPNOFROMSPJWHERESNOINSELECTSNOFROMSWHERECITY=上海;8把所有红色的零件的颜色改成蓝色UPDATEPSETCOLOR=蓝WHERECOLOR=红(10)从供给商的关系中删除S2的记录,并从供给关系中删除相应记录。DELETEFROMSPJWHERESNO=2;DELETEFROMSWHERESNO=S2;6什么是基本表什么是视图两者的区别和联络是什么

16、基本表是本身独立存在的表。视图是人一个或几个基本表导出的表。视图本身不独立存储在数据库中,是一个虚表。即数据库中只存放视图的定义而不存放视图对应的数据,这些数据仍存放在导出视图的基本表中。用户能够好像基本表那样使用视图,能够在视图上再定义视图。7试述视图的优点。1视图能简化用户的操作;2视图使用户能以多种角度看待同一数据;3视图对重构数据库提供了一定程度的逻辑独立性;4视图能够对机密数据提供安全保护。9哪类视图是能够更新的基本表的行列子集视图是能够更新的。第5章数据库的安全性1什么是数据库的安全性答:数据库的安全性是指保护数据库以防止不合法的使用所造成的数据泄露,更改正毁坏。试述实现数据库安全

17、性控制的常见方法和技术3实现数据库安全性控制的常见方法和技术有:1用户标识和鉴别:该方法由系统提供一定的方式让用户标识本人的名字或身份。每次用户要求进入系统时,由系统进行核对,通过鉴定后才提供系统的使用权。2存取控制:通过用户权限定义和合法权检查确保只要合法权限的用户访问数据库,所有未被受权的人无法存取数据。例如C2集中地自主存取控制DAC,B1集中的强迫存取控制MAC。3视图机制:为不同的用户定义视图,通过视图机制把要保密的数据对无权存取的用户隐藏起来,进而自动地对数据提供一定程度的安全保护。4审计:建立审计日志,把用户对数据库的所有操作自动记录下来放入审计日志中,DBA能够利用审计跟踪的信

18、息,重现导致数据库现有状况的一系列事件,找出非法存取数据的人、时间和内容等。5数据加密:对存储和传输的数据进行加密处理,进而使得不知道解密算法的人无法获知数据的内容。6.什么是数据库的审计功能,为何要提供审计功能答:审计功能是指DBMS的审计模块在用户对数据库执行操作的同时把所有操作自动记录到系统的审计日志中。由于任何系统的安全保护措施都不是完美无缺的,蓄意盗窃毁坏数据的人总可能存在。利用数据库的审计功能,DBA能够根据审计跟踪的信息,重现导致数据库现有状况的一系列事件,找出非法存取数据的人、时间和内容等。第6章数据库的完好性1什么是数据库的完好性答:数据库的完好性是指数据的正确性和相容性。6

19、假设有下面两个关系形式:职工职工号,姓名,年龄,职务,工资,部门号,其中职工号为主码;部门部门号,名称,经理名,地址,电话号,其中部门号是主码。用SQL语言定义这两个关系形式,要求在形式中完成下面完好性约束条件的定义:定义每个形式的主码;定义参照完好性;定义职工年龄不超过60岁。答:CREATETABLEDEPT(DeptnoNUMBER(2),DeptnameVARCHAR(10),ManagerVARCHAR(10),PhoneNumberChar(12)CONSTRAINTPK_SCPRIMARYKEY(Deptno);CREATETABLEEMP(EmpnoNUMBER(4)prima

20、rykey,EnameVARCHAR(10),AgeNUMBER(2),CONSTRAINTC1CHECK(AageFOREIGNKEY(Deptno)REFERENCESDEPT(Deptno);7关系系统中,当操作违背实体完好性、参照完好性和用户定义的完好性约束条件时,一般是怎样分别进行处理的答:对于违背实体完好性和用户定义完好性的操作,一般都采用拒绝执行的方式处理。而对于违背参照完好性的操作,并不都是简单地拒绝执行,有时要根据应用语义执行一些附加的操作,以保证数据的正确性。第7章数据库恢复技术5数据库的恢复技术有哪些数据转储和登录日志文件是数据库恢复的基本技术。当系统运行经过中发生故障,

21、利用转储的数据库后备副本和日志文件就能够将数据库恢复到故障前的某个一致性状态。第8章并发控制1.在数据库中为何要并发控制答:数据库是分享资源,通常有很多个事务同时在运行。当多个事务并发地存取数据库时就会产生同时读取和或修改同一数据的情况。若对并发操作不加控制就可能读取和存储不正确的数据,毁坏数据库的一致性。所以数据库管理系统必须提供并发控制机制。2.并发操作可能会产生哪几类数据不一致用什么方法能避免各种不一致的情况答:并发操作带来的数据不一致性包括三类:丢失修改、不可重复读和读“脏数据。1丢失修改两个事务T1和T2读入同一数据并修改,T2提交的结果毁坏了覆盖了T1提交的结果,导致T1的修改被丢

22、失。2不可重复读不可重复读是指事务T1读取数据后,事务T2提交执行更新操作,使T1无法再现前一次读取结果。3读脏数据读“脏数据是指事务T1修改某一数据,并将其写回磁盘,事务T2读取同一数据后,T1由于某种原因被撤销,这时T1已修改正的数据恢复原值,T2读到的数据就与数据库中的数据不一致,则T2读到的数据就为“脏数据,即不正确的数据。避免不一致性的方法和技术就是并发控制。最常用的技术是封锁技术。可以以用其他技术,例如在分布式数据库系统中能够采用时间戳方法来进行并发控制。4基本的封锁类型有几种试述它们的含义。答:基本的封锁类型有两种:排它锁和分享锁。排它锁又称为写锁。若事务T对数据对象A加上X锁,

23、则只允许T读取和修改A,其他任何事务都不能再对A加任何类型的锁,直到T释放A上的锁。这就保证了其他事务在T释放A上的锁之前不能再读取和修改A。分享锁又称为读锁。若事务T对数据对象A加上S锁,则事务T能够读A但不能修改A,其他事务只能再对A加S锁,而不能加X锁,直到T释放A上的S锁。这就保证了其他事务能够读A,但在T释放A上的S锁之前不能对A做任何修改。5怎样用封锁机制保证数据的一致性答:DBMS在对数据进行读、写操作之前首先对该数据执行封锁操作,例如下列图中事务T1在对进行修改之前先对A执行XockA,即对A加X锁。这样,当T2请求对A加X锁是就被拒绝,T2只能等待T1释放A上的锁后才能获得对

24、A的X锁,这时它读到的A是T1更新后的值,再按此新的A值进行运算。这样就不会丢失T1的更新。DBMS根据一定的封Array锁协议,对并发控制进行控制,使得多个并发操作有序地执行,就能够避免丢失修改、不可重复读和读“脏数据等数据不一致性。5.什么是封锁协议不同级别的封锁协议的主要区别是什么答:在运用封锁技术对数据加锁时,要约定一些规则。例如,在运用X锁和S锁对数据对象加锁时,要约定何时申请X锁或S锁、何时释放封锁等。这些约定或者规则称为封锁协议。对封锁方式约定不同的规则,就构成了各种不同的封锁协议、不同级别的封锁协议,例如三级封锁协议,三级封锁协议的主要区别在于什么操作需要申请封锁,何时申请封锁

25、以及何时释放锁即持锁时间的长短。一级封锁协议:事务T在修改数据R之前必须先对其加X锁,直到事务结束才释放。二级封锁协议:一级封锁协议加上事务T在读取数据R之前必须先对其加S锁,读完后即可释放S锁。三级封锁协议:一级封锁协议加上事务T在读取数据R之前必须先对其加S锁,直到事务结束才释放。8什么是活锁什么是死锁答:T1T2T3T4LockR.LockR.等待lockR.Unlock等待.LockR.等待LockR等待.等待.等待.等待Unlock等待,等待.LockR假如事务T1封锁了数据R,事务T2又请求封锁R,于是T2等待。T3也请求封锁R,当T1释放了R上的封锁之后系统首先批准了T3的请求,

26、T2仍然等待。然后T4又请求封锁R,当T3释放了R上的封锁之后系统又批准了T4的请求T2有可能永远等待,这就是活锁的情形。活锁的含义是该等待事务等待时间太长,似乎被锁住了,实际上可能被激活。假如事务T1封锁了数据R1,T2封锁了数据R2,然后T1又请求封锁R2,因T2已封锁了R2,于是T1等待T2释放R2上的锁。接着T2又申请分所R1,因T1已封锁了R1,也只能T1释放R1上的锁。这样就出现了T1在等待T2,而T2又在等待T1的局面,T1和T2两个事务永远不能结束,构成死锁。T1T2lockR1.LockR2.LockR2.等待lockR1.8.试述活锁的产生原因和解决方法。答:活锁产生的原因

27、:当一系列封锁不能根据其先后顺序执行时,就可能导致一些事务无限期等待某个封锁,进而导致活锁。避免活锁的简单方法是采用先来先服务的策略。当多个事务请求封锁同一数据对象时,封锁子系统按请求封锁的先后次序对事务排队,数据对象上的锁一旦释放就批准申请队列中的第一个事务获得锁。10请给出预防死锁的若干方法。答:在数据库中,产生死锁的原因是两个或多个事务都已封锁了一些数据对象,然后又都请求已被其他事务封锁的数据加锁,进而出现死等待。防止死锁的发生其实就是要毁坏产生死锁的条件。预防死锁通常有两种方法:1一次封锁法,要求每个事务必须一次将所有要使用的数据全部加锁,否则就不能继续执行;2顺序封锁法,预先对数据对

28、象规定一个封锁顺序,所有事务都能按这个顺序实行封锁。不过,预防死锁的策略不大合适数据库系统的特点,详细原因可参加(概论)。11请给出检测死锁发生的一种方法,当发生死锁后怎样解除死锁答:数据库系统一般采用允许死锁发生,DBMS检测到死锁后加以解除的方法。DBMS中诊断死锁的方法与操作系统类似,一般使用超时法或事务等待图法。超时法是:假如一个事务的等待时间超过了规定的时限,就以为发生了死锁。超时法实现简单,但有可能误判死锁,事务因其他原因长时间等待超过时限时,系统会误以为发生了死锁。若时限设置的太长,又不能及时发现死锁发生。DBMS并发控制子系统检测到死锁后,就要设法解除。通常采用的方法是选择一个处理死锁代价最小的事务,将其撤销,释放此事务持有的所有锁,使其他事务得以继续运行下去。当然,对撤销的事务所执行的数据修改操作必须加以恢复。12什么样的并发调度是正确的调度答:可串行化的调度室正确的调度。可串行化的调度的定义:多个事务的并发执行是正确的,当且仅当其结果与按某一次序串行执行它们时的结果一样,称这种调度策略为可串行化的调度。13设T1,T2,T3是如下的3个事务:T1:A=A+2;T2:A=A*2;

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 考试试题 > 习题库

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁