ImageVerifierCode 换一换
格式:DOCX , 页数:34 ,大小:129.32KB ,
资源ID:29369068      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/29369068.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(完整版数据库原理课后题答案.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

完整版数据库原理课后题答案.docx

1、完整版数据库原理课后题答案第1章1.试述数据、数据库、数据库系统、数据库管理系统的概念。答:(1)数据:描述事物的符号记录成为数据。数据的种类有数字、文字、图形、图像、声音、正文等。数据与其语义是不可分的。(2)数据库:数据库是长期储存在计算机内的、有组织的、可共享的数据集合。数据库中的数据按照一定的数据模型组织。描述和储存,具有较小的冗余度、较高的数据独立性和易扩展性,并可为各种用户共享。(3)数据库系统:数据库系统是指在计算机系统中引入数据库后的系统构成,一般由数据库、数据库管理系统(及其开发人具)、应用系统、数据库管理员构成。(4)数据库管理系统:数据库管理系统是位于用户与操作系统之间的

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

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

4、,是与某一应用有关的数据的逻辑表示。内模式:亦称存储模式,是数据在数据库内部的表示,即对数据的物理结构和存储方式的描述。模式:亦称逻辑模式,是数据库中全体数据逻辑结构和特征的描述,是所有用户的公共数据视图。模式描述的是数据的全局逻辑结构。外模式涉及的是数据的内部逻辑结构,通常是模式的子集。DDL:数据库定义语言,用来定义数据库模式、外模式、内模式的语言。DML:数据操纵语言,用来对数据库中数据进行查询、插入、删除和修改的语 句。8.什么叫数据与程序的物理独立性?什么叫数据与程序的逻辑独立性?为什么数据库系统具有数据与程序的独立性? 答:数据与程序的逻辑独立性:当模式改变时(例如增加新的关系、新

5、的属性、改变属性的数据类型等),由数据库管理员各个外模式模式的映像做相应改变,可以使外模式保持不变。应用程序是依据数据的外模式编写的,从而应用程序不必修改,保证了数据与程序的逻辑独立性,简称数据的逻辑独立性。数据与程序的物理独立性:当数据库的存储结构改变了,有数据库管理员对模式内模式映像做相应改变,可以使模式保持不变,从而应用程序也不必改变,保证了数据与程序的物理独立性,简称数据的物理独立性。数据库管理系统在三级模式之间提供的两层映像保证了数据库系统中的数据具有较高的逻辑独立性和物理独立性。第2章 数据模型3试描述数据模型的三个要素。 数据模型由数据结构、数据操作和完整性约束三部分组成。(1)

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

7、)(3)元祖:表中的一行即为一个元组(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、系,表示为R(D1,D2,Dn) 元组:关系中的每个元素是关系中的元组。 属性:关系也是一个二维表,表的每行对应一个元组,表的每列对应一个域。由于域可以相同,为了加以区分,必须对每列起一个名字,称为属性。(2)候选码:若关系中的某一属性组的值能唯一地标识一个元组,则称该属性组为候选码。 主码:若一个关系有多个候选码,则选定其中一个为主码。 外部码:设F是基本关系R的一个或一组属性,但不是关系R的码,如果F与基本关系S的主码Ks相对应,则称F是基本关系R的外部码,简称外码。 基本关系R称为参照关系,基本关系S称为被参照关系或目标关系。关系R和S可以是相同的关系。(3)关系模式:关系的描述称为关系

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

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

11、组在F上的值必须为: 1)或者取空值(F的每个属性值均为空值) 2)或者等于S中的某个元组的主码值。 (3)用户定义的完整性是针对某一具体关系数据库的约束条件。它反映某一具体应用所涉及的数据必须满足的语义要求。 在参照完整性中,外部码属性的值可以为空,它表示该属性的值尚未确定,但前提条件是该外部码属性不是其所在关系的主属性。例如,在下面的“学生”表中,“专业号”是一个外部码,不是学生表的主属性,可以为空,其语义是,该学生的专业尚未确定。 学生(学号,姓名,性别,专业号,年龄) 专业(专业号,专业名)而在下面的“选修”表中的“课程号”虽然也是一个外部码属性,但它又是“课程”表的主属性,所以不能为

12、空,因为关系模型必须满足实体完整性。 课程(课程号,课程名,学分) 选修(学号,课程号,成绩)p61 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); 供应商表S由供应商代码(SNO)、供应商姓名(SNAME)、供应商状态(STATUS)、供应商所在城市(CITY)组成; 零件表P由零件代码(PNO)、零件名(PNAME)、颜色(COLOR)、重量(WEIGHT)组成; 工程项目表J由工程项目代

13、码(JNO)、工程项目名(JNAME)、工程项目所在城市(CITY)组成; 供应情况表SPJ由供应商代码(SNO)、零件代码(PNO)、工程项目代码(JNO)、供应数量(QTY)组成,表示某供应商供应某种零件给某工程项目的数量为QTY。 今有若干数据如下:S表SNOSNAMESTATUSCITYS1精益20天津S2盛锡10北京S3东方红30北京S4丰泰盛20天津S5为民30上海 P表PNOPNAMECOLORWEIGHTP1螺母红12P2螺栓绿17P3螺丝刀蓝14P4螺丝刀红14P5凸轮蓝40P6齿轮红30J表JNOJNAMECITYJ1三建北京J2一汽长春J3弹簧厂天津J4造船厂天津J5机车

14、厂唐山J6无线电厂常州J7半导体厂南京SPJ表SNOPNOJNOQTYS1P1J1200S1P1J3100S1P1J4700S1P2J2100S2P3J1400S2P3J2200S2P3J4500S2P3J5400S2 P5J1400S2P5J2100S3P1J1200S3P3J1200S4P5J1100S4P6J3300S4P6J4200S5P2J4100S5P3J1200S5P6J2200S5P6J4500试分别用关系代数完成如下查询:(1)求供应工程J1零件的供应商号SNO;答关系代数 SNO(JNO=J1 ( SPJ)) (2)求供应工程J1零件P1的供应商号 SNO;答关系代数 SN

15、O(JNO=J1 PNO=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) 解析 减法运算中被减的部分是使用了天津供应商生产的红色零件的所有工程号,JNO(J)是全部工程的工程号,两者相减就是没有使用天津供应商生出的红色零件的工程号,包括没有使用任何零件的工程号。 (5)求至少用了S1供应商所供应的全部零件的工

16、程号JNO; 答 关系代数 JNO,PNO(SPJ)PNO(SNO=s1(SPJ) 解析 上面公式中除号前的部分是所有工程与该工程所用的零件,除号后的部分是S1所供应的全部零件号。对于SPJ表中的某一个JNO,如果该工程使用的所有零件的集合包含S1所供应的全部零件号,则该JNO符合本题条件,在除法运算的结果集中。可以看到,使用关系代数的除法运算概念清晰,语言表达也很简单。 7关系代数的基本运算有哪些?选择、投影、并、差和笛卡儿积五种。第4章 关系数据库的标准语言SQL5针对习题3中的4个表试用SQL完成如下操作。(1)找出所有供应商的姓名和所在的城市。SELECT SNAME,CITY FRO

17、M S;(5)找出上海厂同提供的所有零件号码SELECT DISTINCT PNO FROM SPJ WHERE SNO IN (SELECT SNO FROM S WHERE CITY=上海);(8)把所有红色的零件的颜色改成蓝色UPDATE P SET COLOR=蓝 WHERE COLOR=红(10)从供应商的关系中删除S2的记录,并从供应关系中删除相应记录。DELETE FROM SPJ WHERE SNO=2;DELETE FROM S WHERE SNO=S2;6什么是基本表?什么是视图?两者的区别和联系是什么?基本表是本身独立存在的表。视图是人一个或几个基本表导出的表。视图本身不

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

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

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

21、模式: 职工(职工号,姓名,年龄,职务,工资,部门号),其中职工号为主码; 部门(部门号,名称,经理名,地址,电话号),其中部门号是主码。用SQL语言定义这两个关系模式,要求在模式中完成以下完整性约束条件的定义:定义每个模式的主码;定义参照完整性;定义职工年龄不超过60岁。答:CREATE TABLE DEPT (Deptno NUMBER(2), Deptname VARCHAR(10), Manager VARCHAR(10), PhoneNumber Char(12) CONSTRAINT PK_SC PRIMARY KEY (Deptno);CREATE TABLE EMP (Empn

22、o NUMBER(4) primary key, Ename VARCHAR(10), Age NUMBER(2), CONSTRAINT C1 CHECK (Aage =60), Job VARCHAR(9), Sal NUMBER(7,2), Deptno NUMBER(2), CONSTRAINT FK_DEPTNO FOREIGN KEY(Deptno) REFERENCES DEPT(Deptno);7关系系统中,当操作违反实体完整性、参照完整性和用户定义的完整性约束条件时,一般是如何分别进行处理的?答:对于违反实体完整性和用户定义完整性的操作,一般都采用拒绝执行的方式处理。而对于违

23、反参照完整性的操作,并不都是简单地拒绝执行,有时要根据应用语义执行一些附加的操作,以保证数据的正确性。第7章 数据库恢复技术5数据库的恢复技术有哪些?数据转储和登录日志文件是数据库恢复的基本技术。当系统运行过程中发生故障,利用转储的数据库后备副本和日志文件就可以将数据库恢复到故障前的某个一致性状态。第8章 并发控制1.在数据库中为什么要并发控制?答:数据库是共享资源,通常有许多个事务同时在运行。当多个事务并发地存取数据库时就会产生同时读取和或修改同一数据的情况。若对并发操作不加控制就可能读取和存储不正确的数据,破坏数据库的一致性。所以数据库管理系统必须提供并发控制机制。2.并发操作可能会产生哪

24、几类数据不一致?用什么方法能避免各种不一致的情况? 答:并发操作带来的数据不一致性包括三类:丢失修改、不可重复读和读“脏”数据。 (1)丢失修改 两个事务T1和T2读入同一数据并修改,T2提交的结果破坏了(覆盖了)T1提交的结果,导致T1的修改被丢失。 (2)不可重复读 不可重复读是指事务T1读取数据后,事务T2提交执行更新操作,使T1无法再现前一次读取结果。 (3)读”脏”数据 读“脏”数据是指事务T1修改某一数据,并将其写回磁盘,事务T2读取同一数据后,T1由于某种原因被撤销,这时T1已修改过的数据恢复原值,T2读到的数据就与数据库中的数据不一致,则T2读到的数据就为“脏”数据,即不正确的

25、数据。避免不一致性的方法和技术就是并发控制。最常用的技术是封锁技术。也可以用其他技术,例如在分布式数据库系统中可以采用时间戳方法来进行并发控制。4基本的封锁类型有几种?试述它们的含义。 答:基本的封锁类型有两种:排它锁和共享锁。排它锁又称为写锁。若事务T对数据对象A加上X锁,则只允许T读取和修改A,其他任何事务都不能再对A加任何类型的锁,直到T释放A上的锁。这就保证了其他事务在T释放A上的锁之前不能再读取和修改A。共享锁又称为读锁。若事务T对数据对象A加上S锁,则事务T可以读A但不能修改A,其他事务只能再对A加S锁,而不能加X锁,直到T释放A上的S锁。这就保证了其他事务可以读A,但在T释放A上

26、的S锁之前不能对A做任何修改。5如何用封锁机制保证数据的一致性? 答:DBMS在对数据进行读、写操作之前首先对该数据执行封锁操作,例如下图中事务T1在对进行修改之前先对A执行Xock(A),即对A加X锁。这样,当T2请求对A加X锁是就被拒绝,T2只能等待T1释放A上的锁后才能获得对A的X锁,这时它读到的A是T1更新后的值,再按此新的A值进行运算。这样 就不会丢失T1的更新。 T1T21XlockA获得2读A=163AA-1 写回A=15 Commit Unlock A Xlock A等待等待等待等待获得Xlock A读A=15AA-1写回A=14CommitUnlock A DBMS按照一定的

27、封锁协议,对并发控制进行控制,使得多个并发操作有序地执行,就可以避免丢失修改、不可重复读和读“脏”数据等数据不一致性。5.什么是封锁协议?不同级别的封锁协议的主要区别是什么? 答:在运用封锁技术对数据加锁时,要约定一些规则。例如,在运用X锁和S锁对数据对象加锁时,要约定何时申请X锁或S锁、何时释放封锁等。这些约定或者规则称为封锁协议。对封锁方式约定不同的规则,就形成了各种不同的封锁协议、不同级别的封锁协议,例如三级封锁协议,三级封锁协议的主要区别在于什么操作需要申请封锁,何时申请封锁以及何时释放锁(即持锁时间的长短)。一级封锁协议:事务T在修改数据R之前必须先对其加X锁,直到事务结束才释放。二

28、级封锁协议:一级封锁协议加上事务T在读取数据R之前必须先对其加S锁,读完后即可释放S锁。三级封锁协议:一级封锁协议加上事务T在读取数据R之前必须先对其加S锁,直到事务结束才释放。8什么是活锁?什么是死锁?答: T1 T2 T3 T4 Lock R . . . . Lock R . . . 等待 lock R . Unlock 等待 . Lock R . 等待 Lock R 等待 . 等待 . 等待 . 等待 Unlock 等待 , 等待 . Lock R 如果事务T1封锁了数据R,事务T2又请求封锁R,于是T2等待。T3也请求封锁R,当T1释放了R上的封锁之后系统首先批准了T3的请求,T2仍然

29、等待。然后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两个事务永远不能结束,形成死锁。 T1 T2 lock R1 . . Lock R2 . . Lock R2 . 等待 lock R1.8.试述活锁的产生原因和解决方法。 答:活锁产生的原因:当一系列封锁不能按照其先后顺序执行时,就可能导致一些事务无限期等待某个封锁,从而导致活锁。 避免活锁的简单方法是采用先来先服务的策略。当多个事务请求封锁同一数据对象时,封锁子系统按请求封锁的先后次序对事务排队,数据对象上的锁一旦释放就批准申请队列中的第一个事务获得锁。10请给出预防死锁的若干方法。答:在数据库中,产生死锁的原因是两个或多个事务都已封锁了一些数据对象,然后又都请求已被其他事务封锁的数据加锁,从而出现死等待。防止死锁的发生其实就是要破坏产生死锁的条件。预防死锁通常有两种方法:(1)一次封锁法,要求每个事务必须一次将所有要使用的

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1