《数据库技术与应用》第5章习题答案_第1页
《数据库技术与应用》第5章习题答案_第2页
《数据库技术与应用》第5章习题答案_第3页
《数据库技术与应用》第5章习题答案_第4页
《数据库技术与应用》第5章习题答案_第5页
全文预览已结束

下载本文档

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

文档简介

1、第5章数据库完整性与安全性1、 什么就是数据库得完整性?什么就是数据库得安全性?两者之间有什么区别与联系?解:数据库得完整性就是指数据库中数据得正确性、有效性与相容性,其目得就是防止不符合语义、不正确得数据进入数据库,从而来保证数据库系统能够真实得反映客观现实世界。数据库安全性就是指保护数据库,防止因用户非法使用数据库造成数据泄露、更改或破坏。数据得完整性与安全性就是两个不同得概念,但就是有一定得联系:前者就是为了防止数据库中存在不符合语义得数据,防止错误信息得输入与输出,即所谓垃圾进垃圾出所造成得无效操作与错误结果.后者就是保护数据库防止恶意得破坏与非法得存取。也就就是说,安全性措施得防范对

2、象就是非法用户与非法操作,完整性措施得防范对象就是不合语义得数据。2、 什么就是数据库得完整性约束条件?完整性约束条件可以分为哪几类?解:完整性约束条件就是指数据库中得数据应该满足得语义约束条件。一般可以分为六类:静态列级约束、静态元组约束、静态关系约束、动态列级约束、动态元组约束、动态关系约束。静态列级约束就是对一个列得取值域得说明,包括以下几个方面:数据类型得约束,包括数据得类型、长度、单位、精度等:对数据格式得约束;对取值范围或取值集合得约束;对空值得约束;其她约束。静态元组约束就就是规定组成一个元组得各个列之间得约束关系,静态元组约束只局限在单个元组上。静态关系约束就是在一个关系得各个

3、元组之间或者若干关系之间常常存在各种联系或约束。常见得静态关系约束有:实体完整性约束;参照完整性约束;函数依赖约束。动态列级约束就是修改列定义或列值时应满足得约束条件,包括下面两方面:修改列定义时得约束:修改列值时得约束。动态元组约束就是指修改某个元组得值时需要参照其旧值,并且新旧值之间需要满足某种约束条件。动态关系约束就是加在关系变化前后状态上得限制条件,例如事务一致性、原子性等约束条件。3、 试述DBMS如何实现完整性控制。解:为了维护数据库得完整性,DBMS提供了以下三种机制: 完整性约束条件定义完整性约束条件也称为完整性规则,就是数据库中得数据必须满足得语义约束条件。SQL标准使用了一

4、系列概念来描述完整性,包括关系模型得实体完整性、参照完整性与用户定义完整性。这些完整性一般由SQL得DDL语义来实现。它们作为数据库模式得一部分存入数据字典中。 完整性检查方法检查数据就是否满足已定义得完整性约束条件称为完整性检查。一般在INSERT、UPDATE、DELETE语句执行后开始检查,也可以在事务提交时检查。检查这些操作执行后数据库中得数据就是否违背了完整性约束条件.违约处理若发现用户操作违背了完整性约束条件,应采取一定得措施,如拒绝(NOACTION)执行该操作,或级连(CASCADE)执行其它操作,进行违约处理以保证数据得完整性。4、 现有以下四个关系模式:供应商(供应商编号,

5、姓名,电话,地点),其中供应商编号为主码零件(零件编号,零件名称,颜色,重量),其中零件编号为主码;工程(工程编号,工程名称,所在地点),其中工程编号为主码;供应情况(供应商编号,零件编号,工程编号,数量),其中供应商编号,零件编号,工程编号为主码用SQL语句定义这四个关系模式,要求在模式中完成以下完整性约束条件得定义:定义每个模式得主码;定义参照完整性;定义零件重量不得超过100千克。解:CREATESCHEMASupplier,schemaCREATETABLESupplier(SnoCHAR(5)PRIMARYKEY,SnameCHAR(20)NOTNULL,PhoneCHAR(13),

6、AddressCHAR(30);CREATESCHEMAPart_schemaCREATETABLEPart(PnoCHAR(7)PRIMARYKEY,PnameCHAR(20)NOTNULL,ColorCHAR(10),WeightSMALLINTCHECK(Weight<=100);CREATESCHEMAProject_schemaCREATETABLEProject(JnoCHAR(7)PRIMARYKEY,JnameCHAR(20)NOTNULL,JaddressCHAR(30);CREATESHEMACREATETABLESPJ(SnoCHAR(5),PnoCHAR(7),J

7、noCHAR(7),QuantitySMALLINT,PRIMARYKEY(Sno,Pno,Jno),FOREIGNKEY(Sno)REFERENCESSupplier(Sno),FOREIGNKEY(Pno)REFERENCESPart(Pno),FOREIGNKEY(Jno)REFERENCESProject(Jno));5、 在关系数据库系统中,当操作违反实体完整性、参照完整性与用户自定义得完整性约束条件时,一般就是如何分别进行处理得。解:(1) 按实体完整性规则自动进行检查。包括:检查主码值就是否唯一,如果不唯一则拒绝插入或修改.检查主码得各个属性就是否为空,只要有一个为空就拒绝插入或

8、修改.(2)按参照完整性检查,违约处理得策略如下:拒绝(NOACTION)执行。不允许该操作执行,该策略一般设置为默认策略。在被参照关系中删除元组:仅当参照关系中没有任何元组得外码值与被参照关系中要删除元组得主码值相同时,系统才执行删除操作,否则拒绝此操作级联(CASCADE)操作.当删除或修改被参照表得一个元组造成了与参照表得不一致,则删除或修改参照表中得所有造成不一致得元组。级联操作必须在定义外码时给出显式定义。设置为空值(SETNULL)。当删除或修改被参照表得一个元组时造成了不一致,则将参照表中得所有造成不一致得元组得对应属性设置为空值。置空值删除(NULLIFIES)。删除被参照关系

9、得元组,并将参照关系中相应元组得外码值置空值。(3)按用户自定义完整性检查,违约处理:当往表中插入元组或修改属性得值时,RDBMS就检查属性上得约束条件就是否被满足,如果不满足则操作被拒绝执行.6、 触发器得作用就是什么?同一表上得多个触发器被激活时遵循得执行顺序就是什么?解:触发器就是用户定义在关系表上得一类由事件驱动得特殊过程,它不需要由用户调用执行,而就是在用户对表中得数据进行UPDATE、INSERT或DELETE操作时自动触发执行。它可以实现数据库中相关表得级联修改,能实现比CHECK语句更为复杂得约束,能提供数据库修改前后数据变化得前后状态,能维护非规范化数据。同一表上得多个触发器

10、激活时遵循以下执行顺序:执行该表上得BERORE触发器;激活触发器得SQL语句;执行该表上得AFTER触发器。此外,对于同一个表上得多个BEFORE(AFTER)触发器,遵循谁先创建谁先执行”得原则,即按照触发器创建得时间先后顺序执行。有些RDBMS就是按照触发器名称得字母排序顺序来执行触发器得。7、什么就是权限”?用户访问数据库有哪些权限?对数据模式进行修改有哪些权限?解:用户(或应用程序)使用DB得方式称为权限。用户访问数据库有四种权限:Read(读权限卜Insert(插入)、Update(修改)与Delete(修改).用户对数据模式进行修改有四种权限:Index(索引权限:允许用户创建与

11、删除索引),Resource(资源权限:允许用户创建新得关系)、A1teration(修改权限:允许用户在关系结构中加入或删除属性)与Drop(撤销权限:允许用户撤销关系).8、安全性措施中得强制存取控制就是如何实现得?解:对每个数据对象赋予一定得密级,级别从高到低有:绝密级、机密级、秘密级、公用级,每个用户也具有相应得级别,称为许可证级别,密级与许可证级别都就是有序得,如绝密机密秘密公用,采用规则就是:一就是用户只能查瞧比它级别低或就是同级得数据,二就是用户只能修改与它同级得数据。9、 SQL提供了哪些数据控制语句?举例说明.解:数据控制语言就是用来设置或者更改数据库用户或角色权限得语句。S

12、QL中,这些语句包括GRANT、REVOKE等语句。GRANT语句向用户授予权限,REVOKE语句收回授予得权限.例如:描述把查询Course表得权限授予所有用户得控制语句为GRANTSELECTONCourseTOPUBLIC;描述收回用户U3修改学生学号得查询权限得控制语句为:REVOKEUPDATE(Sno)ONTABLEStudentFROMU3;10、 使用角色有什么好处?涉及角色得SQL语句有哪些?解:使用角色得好处:数据库角色就是指被命名得一组与数据库操作相关得权限。角色就是权限得集合,可以为一组具有相同权限得用户创建一个角色,角色简化了授权操作。使用角色进行授权必须先创建角色,

13、将数据库对象上得存取权限授予角色,才能将角色授予用户,使得用户拥有角色所具有得所有存取权限.对一个角色授予、拒绝或废除得权限也适用于该角色得任何成员.涉及角色得SQL语句有:角色得创建CREATEROLE角色名给角色授权GRANT权限,权限ON对象类型对象名TO角色/角色将一个角色授予其它得角色或用户GRANT角色1,角色2TO角色3,用户1WITHADMINOPTION角色权限得收回REVOKE权限,权限ON对象类型对象名FROM角色,角色11、现有以下两个关系模式:雇员(员工号,姓名,年龄,工资,部门号,职务)部门(部门号,名称,经理名,电话)使用SQL提供得功能完成如下操作:允许Wang

14、Hong对两个关系进彳T任何操作,并可以将她得权限转授她人。允许所有用户查询部门关系.允许所有用户查询雇员关系中除员工号、年龄与工资之外得所有属性允许LiLan对雇员关系中得工资属性进行修改。定义一个角色Manager,可以对部门关系进行任何操作,对雇员关系除了不能修改工资外,可以进行任何操作。SongHua就是秘书,拥有角色Manager得权限.收回得授权。不允许角色Manager修改雇员得耳R务属性值.解:允许WangHong对两个关系进行任何操作,并可以将她得权限转授她人:GRANTALLPRIVILEGESONTABLE雇员,部门TOWangHong;WITHGRANTOPTION;允

15、许所有用户查询部门关系:GRANTSELECTONTABLE部门TOPUBLIC;允许所有用户查询雇员关系中除员工号、年龄与工资之外得所有属性:GRANTSELECT(姓名,部门号,职务)ONTABLE雇员TOPUBLIC;允许LiLan对雇员关系中得工资属性进行修改:GRANTUPDATE(工资)ONTABLE部门TOLiLan;定义一个角色Manager,可以对部门关系进行任何操作,对雇员关系除了不能修改工资外,可以进行任何操作:CREATEROLEManager;GRANTALLPRIVILEGESONTABLE雇员,部门TOWangHong;REVOKEUPDATE(工资)ONTABLE部门FROMManager;SongHua就是秘书,拥有角色Manager得权限:GRANTMana

温馨提示

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

评论

0/150

提交评论