数据库系统概论第四版课本答案.docx

上传人:b****7 文档编号:9482482 上传时间:2023-02-04 格式:DOCX 页数:36 大小:117.68KB
下载 相关 举报
数据库系统概论第四版课本答案.docx_第1页
第1页 / 共36页
数据库系统概论第四版课本答案.docx_第2页
第2页 / 共36页
数据库系统概论第四版课本答案.docx_第3页
第3页 / 共36页
数据库系统概论第四版课本答案.docx_第4页
第4页 / 共36页
数据库系统概论第四版课本答案.docx_第5页
第5页 / 共36页
点击查看更多>>
下载资源
资源描述

数据库系统概论第四版课本答案.docx

《数据库系统概论第四版课本答案.docx》由会员分享,可在线阅读,更多相关《数据库系统概论第四版课本答案.docx(36页珍藏版)》请在冰豆网上搜索。

数据库系统概论第四版课本答案.docx

数据库系统概论第四版课本答案

 

第4章数据库安全性

1.什么是数据库的安全性?

答:

数据库的安全性是指保护数据库以防止不合法的使用所造成的数据泄露、更改或破坏。

2.数据库安全性和计算机系统的安全性有什么关系?

答:

安全性问题不是数据库系统所独有的,所有计算机系统都有这个问题。

只是在数据库系统中大量数据集中存放,而且为许多最终用户直接共享,从而使安全性问题更为突出。

系统安全保护措施是否有效是数据库系统的主要指标之一。

数据库的安全性和计算机系统的安全性,包括操作系统、网络系统的安全性是紧密联系、相互支持的,

3.试述可信计算机系统评测标准的情况,试述TDI/TCSEC标准的基本内容。

答:

各个国家在计算机安全技术方面都建立了一套可信标准。

目前各国引用或制定的一系列安全标准中,最重要的是美国国防部(DoD)正式颁布的《DoD可信计算机系统评估标准》(伽stedCo哪utersystemEvaluationcriteria,简称TcsEc,又称桔皮书)。

(TDI/TCSEC标准是将TcsEc扩展到数据库管理系统,即《可信计算机系统评估标准关于可信数据库系统的解释》(TmstedDatabaseInterpretation简称TDI,又称紫皮书)。

在TDI中定义了数据库管理系统的设计与实现中需满足和用以进行安全性级别评估的标准。

TDI与TcsEc一样,从安全策略、责任、保证和文档四个方面来描述安全性级别划分的指标。

每个方面又细分为若干项。

4.试述TcsEC(TDI)将系统安全级别划分为4组7个等级的基本内容。

答:

根据计算机系统对安全性各项指标的支持情况,TCSEC(TDI)将系统划分为四组(division)7个等级,依次是D、C(CI,CZ)、B(BI,BZ,B3)、A(AI),按系统可靠或可信程度逐渐增高。

这些安全级别之间具有一种偏序向下兼容的关系,即较高安全性级别提供的安全保护包含较低级别的所有保护要求,同时提供更多或更完善的保护能力。

各个等级的基本内容为:

D级D级是最低级别。

一切不符合更高标准的系统,统统归于D组。

Cl级只提供了非常初级的自主安全保护。

能够实现对用户和数据的分离,进行自主存取控制(DAC),保护或限制用户权限的传播。

C2级实际是安全产品的最低档次,提供受控的存取保护,即将Cl级的DAC进一步细化,以个人身份注册负责,并实施审计和资源隔离。

Bl级标记安全保护。

对系统的数据加以标记,并对标记的主体和客体实施强制存取控制(MAC)以及审计等安全机制。

B2级结构化保护。

建立形式化的安全策略模型并对系统内的所有主体和客体实施DAC和MACo

B3级安全域。

该级的TCB必须满足访问监控器的要求,审计跟踪能力更强,并提供系统恢复过程。

Al级验证设计,即提供B3级保护的同时给出系统的形式化设计说明和验证以确信各安全保护真正实现。

5.试述实现数据库安全性控制的常用方法和技术。

答:

实现数据库安全性控制的常用方法和技术有:

(l)用户标识和鉴别:

该方法由系统提供一定的方式让用户标识自己的名字或身份。

每次用户要求进入系统时,由系统进行核对,通过鉴定后才提供系统的使用权。

(2)存取控制:

通过用户权限定义和合法权检查确保只有合法权限的用户访问数据库,所有未被授权的人员无法存取数据。

例如CZ级中的自主存取控制(DAC),Bl级中的强制存取控制(MAC)。

(3)视图机制:

为不同的用户定义视图,通过视图机制把要保密的数据对无权存取的用户隐藏起来,从而自动地对数据提供一定程度的安全保护。

(4)审计:

建立审计日志,把用户对数据库的所有操作自动记录下来放入审计日志中,DBA可以利用审计跟踪的信息,重现导致数据库现有状况的一系列事件,找出非法存取数据的人、时间和内容等。

(5)数据加密:

对存储和传输的数据进行加密处理,从而使得不知道解密算法的人无法获知数据的内容。

6.什么是数据库中的自主存取控制方法和强制存取控制方法?

答:

自主存取控制方法:

定义各个用户对不同数据对象的存取权限。

当用户对数据库访问时首先检查用户的存取权限。

防止不合法用户对数据库的存取。

强制存取控制方法:

每一个数据对象被(强制地)标以一定的密级,每一个用户也被(强制地)授予某一个级别的许可证。

系统规定只有具有某一许可证级别的用户才能存取某一个密级的数据对象。

7.SQL语言中提供了哪些数据控制(自主存取控制)的语句?

请试举几例说明它们的使用方法。

答:

SQL中的自主存取控制是通过GRANT语句和REVOKE语句来实现的。

如:

GRANTSELECT,INSERTONStudent

TO王平

WITHGRANTOPTION;

就将Student表的SELECT和INSERT权限授予了用户王平,后面的“WITHGRANTOPTION”子句表示用户王平同时也获得了“授权”的权限,即可以把得到的权限继续授予其他用户。

REVOKEINSERTONStudentFROM王平CASCADE;

就将Student表的INSERT权限从用户王平处收回,选项CASCADE表示,如果用户王平将Student的INSERT权限又转授给了其他用户,那么这些权限也将从其他用户处收回。

 

8.请用SQL的GRANT和REVOKE语句(加上视图机制)完成以下授权定义或存取控制功能:

(a)用户王明对两个表有SELECT权力。

GRANTSELECTON职工,部门

TO王明

(b)用户李勇对两个表有INSERT和DELETE权力。

GRANTINSERT,DELETEON职工,部门

TO李勇

(c)每个职工只对自己的记录有SELECT权力。

GRANTSELECTON职工

WHENUSER()=NAME

TOALL;

(d)用户刘星对职工表有SELECT权力,对工资字段具有更新权力。

GRANTSELECT,UPDATE(工资)ON职工

TO刘星

(e)用户张新具有修改这两个表的结构的权力。

GRANTALTERTABLEON职工,部门

TO张新;

(f)用户周平具有对两个表所有权力(读,插,改,删数据),并具有给其他用户授权的权力。

GRANTALLPRIVILIGESON职工,部门

TO周平

WITHGRANTOPTION;

(g)用户杨兰具有从每个部门职工中SELECT最高工资、最低工资、平均工资的权力,他不能查看每个人的工资。

CREATEVIEW部门工资AS

SELECT部门.名称,MAX(工资),MIN(工资),AVG(工资)

FROM职工,部门

WHERE职工.部门号=部门.部门号

GROUPBY职工.部门号

GRANTSELECTON部门工资

TO杨兰;

9.把习题8中

(1)---(7)的每一种情况,撤销各用户所授予的权力

(1)REVOKESELECTON职工,部门FROM王明;

(2)REVOKEINSERT,DELETEON职工,部门FROM李勇;

(3)REOVKESELECTON职工

WHENUSER()=NAME

FROMALI;

(4)REVOKESELECT,UPDATEON职工

FROM刘星;

(5)REVOKEALTERTABLEON职工,部门

FROM张新;

(6)REVOKEALLPRIVILIGESON职工,部门

FROM周平;

(7)REVOKESELECTON部门工资

FROM杨兰;

DROPVIEW部门工资;

10.为什么强制存取控制提供了更高级别的数据库安全性?

答:

强制存取控制(MAC)是对数据本身进行密级标记,无论数据如何复制,标记与数据是一个不可分的整体,只有符合密级标记要求的用户才可以操纵数据,从而提供了更高级别的安全性。

11.理解并解释MAC机制中主体、客体、敏感度标记的含义。

答:

主体是系统中的活动实体,既包括DBMS所管理的实际用户,也包括代表用户的各进程。

客体是系统中的被动实体,是受主体操纵的,包括文件、基表、索引、视图等。

对于主体和客体,DBMS为它们每个实例(值)指派一个敏感度标记(Label)。

敏感度标记被分成若干级别,例如绝密(TopSecret)、机密(Secret)·可信(Confidential)、公开(PubliC)等。

主体的敏感度标记称为许可证级别(ClearanCe玫vel),客体的敏感度标记称为密级(ClassificationLevel)。

13.什么是数据库的审计功能,为什么要提供审计功能?

答:

审计功能是指DBMS的审计模块在用户对数据库执行操作的同时把所有操作自动记录到系统的审计日志中。

因为任何系统的安全保护措施都不是完美无缺的,蓄意盗窃破坏数据的人总可能存在。

利用数据库的审计功能,DBA可以根据审计跟踪的信息,重现导致数据库现有状况的一系列事件,找出非法存取数据的人、时间和内容等。

14.统计数据库中存在何种特殊的安全性问题?

答:

统计数据库允许用户查询聚集类型的信息,如合计、平均值、最大值、最小值等,不允许查询单个记录信息。

但是,人们可以从合法的查询中推导出不合法的信息,即可能存在隐蔽的信息通道,这是统计数据库要研究和解决的特殊的安全性问题。

 

第5章数据库完整性

1什么是数据库的完整性?

答:

数据库的完整性是指数据的正确性和相容性。

2.数据库的完整性概念与数据库的安全性概念有什么区别和联系?

答:

数据的完整性和安全性是两个不同的概念,但是有一定的联系。

前者是为了防止数据库中存在不符合语义的数据,防止错误信息的输入和输出,即所谓垃圾进垃圾出(Garba:

eInGarba:

eout)所造成的无效操作和错误结果。

后者是保护数据库防止恶意的破坏和非法的存取。

也就是说,安全性措施的防范对象是非法用户和非法操作,完整性措施的防范对象是不合语义的数据。

3.什么是数据库的完整性约束条件?

可分为哪几类?

完整性约束条件是指数据库中的数据应该满足的语义约束条件。

一般可以分为六类:

静态列级约束、静态元组约束、静态关系约束、动态列级约束、动态元组约束、动态关系约束。

静态列级约束是对一个列的取值域的说明,包括以下几个方面:

(l)对数据类型的约束,包括数据的类型、长度、单位、精度等;

(2)对数据格式的约束;(3)对取值范围或取值集合的约束;(4)对空值的约束;(5)其他约束。

静态元组约束就是规定组成一个元组的各个列之间的约束关系,静态元组约束只局限在单个元组上。

静态关系约束是在一个关系的各个元组之间或者若干关系之间常常存在各种联系或约束。

常见的静态关系约束有:

(l)实体完整性约束;

(2)参照完整性约束;(3)函数依赖约束。

动态列级约束是修改列定义或列值时应满足的约束条件,包括下面两方面:

(l)修改列定义时的约束;

(2)修改列值时的约束。

动态元组约束是指修改某个元组的值时需要参照其旧值,并且新旧值之间需要满足某种约束条件。

动态关系约束是加在关系变化前后状态上的限制条件,例如事务一致性、原子性等约束条件。

4.DBMS的完整性控制机制应具有哪些功能?

答:

DBMS的完整性控制机制应具有三个方面的功能:

(l)定义功能,即提供定义完整性约束条件的机制;

(2)检查功能,即检查用户发出的操作请求是否违背了完整性约束条件;(3)违约反应:

如果发现用户的操作请求使数据违背了完整性约束条件,则采取一定的动作来保证数据的完整性。

5.RDBMS在实现参照完整性时需要考虑哪些方面?

RDBMs在实现参照完整性时需要考虑以下几个方面:

(l)外码是否可以接受空值。

(2)册l除被参照关系的元组时的考虑,这时系统可能采取的作法有三种:

l)级联删除(CASCADES);2)受限删除(RESTRICTED);3)置空值删除(NULLIFIES)。

(3)在参照关系中插入元组时的问题,这时系统可能采取的作法有:

l)受限插入;2)递归插入。

(4)修改关系中主码的问题。

一般是不能用UPDATE语句修改关系主码的。

如果需要修改主码值,只能先删除该元组,然后再把具有新主码值的元组插入到关系中。

如果允许修改主码,首先要保证主码的惟一性和非空,否则拒绝修改。

然后要区分是参照关系还是被参照关系。

6.假设有下面两个关系模式:

职工(职工号,姓名,年龄,职务,工资,部门号),其中职工号为主码;部门(部门号,名称,经理名,电话),其中部门号为主码。

用sQL语言定义这两个关系模式,要求在模式中完成以下完整性约束条件的定义:

定义每个模式的主码;定义参照完整性;定义职工年龄不得超过60岁。

CREATETABLEDEPT

(DeptnoNUMBER

(2),

DeptnameVARCHAR(10),

ManagerVARCHAR(10),

PhoneNumberChar(12)

CONSTRAINTPK_SCRIMARYKEY(Deptno));

CREATETABLEEMP

(EmpnoNUMBER(4),

EnameVARCHAR(10),

AgeNUMBER

(2),

CONSTRAINTC1CHECK(Aage<=60),

JobVARCHAR(9),

SalNUMBER(7,2),

DeptnoNUMBER

(2),

CONSTRAINTFK_DEPTNO

FOREIGNKEY(Deptno)

REFFERENCESDEPT(Deptno));

7.关系系统中,当操作违反实体完整性、参照完整性和用户定义的完整性约束条件时,一般是如何分别进行处理的?

答:

对于违反实体完整性和用户定义的完整性的操作一般都采用拒绝执行的方式进行处理。

而对于违反参照完整性的操作,并不都是简单地拒绝执行,有时要根据应用语义执行一些附加的操作,以保证数据库的正确性。

第6章关系数据库理论

1.理解并给出下列术语的定义:

函数依赖、部分函数依赖、完全函数依赖、传递依赖、候选码、主码、外码、全码(All一key)、1NF、ZNF、3NF、BcNF、多值依赖、4NF。

定义1:

设R(U)是属性集U上的关系模式。

X,Y是属性集U的子集。

若对于R(U)的任意一个可能的关系r,r中不可能存在两个元组在X上的属性值相等,而在Y上的属性值不等,则称X函数确定Y或Y函数依赖于X,记作XY。

(即只要X上的属性值相等,Y上的值一定相等。

术语和记号:

XY,但Y不是X的子集,则称XY是非平凡的函数依赖。

若不特别声明,总是讨论非平凡的函数依赖。

XY,但Y是X的子集,则称XY是平凡的函数依赖。

若XY,则X叫做决定因素(Determinant)。

若XY,YX,则记作XY。

若Y不函数依赖于X,则记作XY。

定义2:

在R(U)中,如果XY,并且对于X的任何一个真子集X’,都有X’Y,则称Y对X完全函数依赖

若XY,但Y不完全函数依赖于X,则称Y对X部分函数依赖

定义3:

若关系模式R的每一个分量是不可再分的数据项,则关系模式R属于第一范式(1NF)。

定义4:

若关系模式R∈1NF,且每一个非主属性完全函数依赖于码,则关系模式R∈2NF。

(即1NF消除了非主属性对码的部分函数依赖则成为2NF)。

定义5:

关系模式R中若不存在这样的码X、属性组Y及非主属性Z(Z不是Y的子集)使得XY,YX,YZ成立,则称R∈3NF。

定义6:

关系模式R∈1NF。

若XY且Y不是X的子集时,X必含有码,则R∈BCNF。

定义7:

关系模式R∈1NF,如果对于R的每个非平凡多值依赖XY(Y不是X的子集,Z=U-X-Y不为空),X都含有码,则称R∈4NF。

2.建立一个关于系、学生、班级、学会等诸信息的关系数据库。

学生:

学号、姓名、出生年月、系名、班号、宿舍区。

班级:

班号、专业名、系名、人数、入校年份。

系:

系名、系号、系办公地点、人数。

学会:

学会名、成立年份、办公地点、人数。

语义如下:

一个系有若干专业,每个专业每年只招一个班,每个班有若干学生。

一个系的学生住在同一宿舍区。

每个学生可参加若干学会,每个学会有若干学生。

学生参加某学会有一个入会年份。

请给出关系模式,写出每个关系模式的极小函数依赖集,指出是否存在传递函数依赖,对于函数依赖左部是多属性的情况讨论函数依赖是完全函数依赖,还是部分函数依赖。

指出各关系模式的候选码、外部码,有没有全码存在?

解:

(1)关系模式如下:

学生:

S(Sno,Sname,Sbirth,Dept,Class,Rno)

班级:

C(Class,Pname,Dept,Cnum,Cyear)

系:

D(Dept,Dno,Office,Dnum)

学会:

M(Mname,Myear,Maddr,Mnum)

(2)每个关系模式的最小函数依赖集如下:

A、学生S(Sno,Sname,Sbirth,Dept,Class,Rno)的最小函数依赖集如下:

SnoSname,SnoSbirth,SnoClass,ClassDept,DEPTRno

传递依赖如下:

由于SnoDept,而DeptSno,DeptRno(宿舍区)

所以Sno与Rno之间存在着传递函数依赖。

由于ClassDept,DeptClass,DeptRno

所以Class与Rno之间存在着传递函数依赖。

由于SnoClass,ClassSno,ClassDept

所以Sno与Dept之间存在着传递函数依赖。

B、班级C(Class,Pname,Dept,Cnum,Cyear)的最小函数依赖集如下:

ClassPname,ClassCnum,ClassCyear,PnameDept.

由于ClassPname,PnameClass,PnameDept

所以C1ass与Dept之间存在着传递函数依赖。

C、系D(Dept,Dno,Office,Dnum)的最小函数依赖集如下:

DeptDno,DnoDept,DnoOffice,DnoDnum

根据上述函数依赖可知,Dept与Office,Dept与Dnum之间不存在传递依赖。

D、学会M(Mname,Myear,Maddr,Mnum)的最小函数依赖集如下:

MnameMyear,MnameMaddr,MnameMnum

该模式不存在传递依赖。

(3)各关系模式的候选码、外部码,全码如下:

A、学生S候选码:

Sno;外部码:

Dept、Class;无全码

B、班级C候选码:

Class;外部码:

Dept;无全码

C、系D候选码:

Dept或Dno;无外部码;无全码

D、学会M候选码:

Mname;无外部码;无全码

3.试由amstrong公理系统推导出下面三条推理规则:

(l)合并规则:

若X一Z,X一Y,则有X一YZ

(2)伪传递规则:

由x一Y,明吟z有翔一z

(3)分解规则:

x一Y,zcy,有x一z

证明

(l)已知X一Z,由增广律知哟,YZ,又因为X一Y,可得狱一X卜)YZ,最后根据传递律得x一YZ。

(2)已知X一Y,据增广律得翔一Wy,因为阴几)Z,所以X林协明,Z,通过传递律可知翔一Z。

(3)已知zcy,根据自反律知、吟z,又因为x一Y,所以由传递律可得x一Z。

5.试举出3个多值依赖的实例。

答:

(1)关系模式MSC(M,S,C)中,M表示专业,S表示学生,C表示该专业的必修课。

假设每个专业有多个学生,有一组必修课。

设同专业内所有学生选修的必修课相同,实例关系如下。

按照语义对于M的每一个值Mi,s有一个完整的集合与之对应而不问C取何值,所以M一一S。

由于C与S的完全对称性,必然有M一一C成立。

(2)关系模式ISA(I,S,A)中,I表示学生兴趣小组,S表示学生,A表示某兴趣小组的活动项目。

假设每个兴趣小组有多个学生,有若干活动项目。

每个学生必须参加所在兴趣小组的所有活动项目,每个活动项目要求该兴趣小组的所有学生参加。

按照语义有I一一S,I一一A成立。

(3)关系模式RDP(R,D,P)中,R表示医院的病房,D表示责任医务人员,P表示病人。

假设每个病房住有多个病人,有多个责任医务人员负责医治和护理该病房的所有病人。

12.下面的结论哪些是正确的?

哪些是错误的?

对于错误的请给一个反例说明之。

(1)任何一个二目关系是属于3NF。

答:

正确。

因为关系模式中只有两个属性,所以无传递。

(2)任何一个二目关系是属于BCNF.

答:

正确。

按BCNF的定义,若XY,且Y不是X的子集时,每个决定因素都包含码,对于二目关系决定因素必然包含码。

详细证明如下:

(任何二元关系模式必定是BCNF)。

证明:

设R为一个二目关系R(A1,A2),则属性A1和A2之间可能存在以下几种依赖关系:

A、A1A2,但A2A1,则关系R的码为A1,决定因素都包含码,所以,R是BCNF。

B、A1A2,A2A1,则关系R的码为A2,所以决定因素都包含码,R是BCNF。

包含码。

R是BCNF。

C、R的码为(A1,A2)(即A1A2,A2A1),决定因素都

(3)任何一个二目关系是属于4NF.

答:

正确。

因为只有两个属性,所以无非平凡的多值依赖。

第7章数据库设计

1.试述数据库设计过程。

答:

这里只概要列出数据库设计过程的六个阶段:

(l)需求分析;

(2)概念结构设计;(3)逻辑结构设计;(4)数据库物理设计;(5)数据库实施;(6)数据库运行和维护。

这是一个完整的实际数据库及其应用系统的设计过程。

不仅包括设计数据库本身,还包括数据库的实施、运行和维护。

设计一个完善的数据库应用系统往往是上述六个阶段的不断反复。

2.试述数据库设计过程各个阶段上的设计描述。

答:

各阶段的设计要点如下:

(l)需求分析:

准确了解与分析用户需求(包括数据与处理)。

(2)概念结构设计:

通过对用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS的概念模型。

(3)逻辑结构设计:

将概念结构转换为某个DBMS所支持的数据模型,并对其进行优化。

(4)数据库物理设计:

为逻辑数据模型选取一个最适合应用环境的物理结构(包括存储结构和存取方法)。

(5)数据库实施:

设计人员运用DBMS提供的数据语言、工具及宿主语言,根据逻辑设计和物理设计的结果建立数据库,编制与调试应用程序,组织数据入库,并进行试运行。

(6)数据库运行和维护:

在数据库系统运行过程中对其

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 文学

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

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