数据库技术与应用第5、6章 习题答案

合集下载

数据库应用 课后习题答案

数据库应用 课后习题答案

第1章数据库基础练习题一、单项选择题1.C 2.A 3.C 4.D 5.D6.B 7.A 8.B 9.B 10.D11.C 12.A 13.C 14.B 15.A16.B 17.A 18.D 19.B 20.B21.A; D 22.A 23.C 24.D 25.B26.B 27.B 28.D 29.B 30.B二、填空题1.概念;数据2.属性3.码4.一对一联系;一对多(或多对一)联系;多对多联系5.候选码6.候选码7.关系名(属性1,属性2,…,属性n)8.关系数据结构;关系操作集合;关系完整性约束9.实体;参照;用户定义的;实体;参照10.空值11.需求分析阶段;概念结构设计阶段;逻辑结构设计阶段;物理结构设计阶段;数据库实施阶段;数据库运行和维护阶段12.准确了解并分析用户对系统的要求,尤其是用户的信息要求、处理要求、安全性与完整性要求,确定所要开发的应用系统的目标,产生用户和设计者都能接受的需求说明书,做为下一步数据库概念结构设计的依据。

13.将需求分析得到的用户需求抽象为信息结构即概念模型。

14.将概念结构进一步转化为某一DBMS支持的数据模型,并对其进行优化。

15.为逻辑数据模型选取一个最适合应用环境的物理结构,包括数据库在物理设备上的存储结构和存取方法。

.第2章 SQL Server简介练习题一、单项选择题1.B 2.C 3.D 4.B 5.C6.D 7.C 8.C 9.B 10.A11.B 12.B二、简答题1.答:客户-服务器结构把整个任务划分为客户机上的任务和服务器上的任务。

客户机上的任务只要有:●建立和断开与服务器的连接。

●提交数据访问请求。

●等待服务通告、接受请求结果或错误。

●处理数据库访问结果或错误、包括重发请求和终止请求。

●提供应用程序的友好用户界面。

●数据输入输出及验证。

服务器上的任务主要有:●为多用户管理一个独立的数据库。

●管理和处理接收到的数据访问请求,包括管理请求队列、管理缓存、响应服务、管理结果和通知服务完成。

数据库技术与应用(经)习题集参考答案

数据库技术与应用(经)习题集参考答案

数据库技术与应用(经)习题集参考答案第1章习题参考答案1、数据定义、数据操纵2、文件系统阶段、数据库系统阶段3、属性、字段、元组、记录4、关键字5、域6、属性、属性到域的映象7、关系、关系8、投影9、选择运算、投影运算10、连接运算、自然连接三、简答题1、答:数据库(DataBase)是被长期存放在计算机内、有组织的、可以表现为多种形式的可共享的数据集合。

数据库管理系统(DataBase Management System,简称DBMS)是计算机系统软件,它的职能是有效地组织和存储数据、获取和管理数据,接受和完成用户提出的访问数据的各种请求。

数据库系统是指拥有数据库技术支持的计算机系统,它可以实现有组织地、动态地存储大量相关数据,提供数据处理和信息资源共享服务。

数据库系统是指在计算机系统中引入数据库后的系统,一般由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员和用户构成。

2、答:关系是一张二维表,每个关系有一个关系名。

在计算机中,一个关系可以存储为一个文件。

在Access中,一个关系就是一个表对象。

元组是二维表中水平方向的行,有时也叫做一条记录。

属性是二维表中垂直方向的列,有时也叫做一个字段。

3、答:数据库系统由四部分组成:硬件系统、系统软件、数据库应用系统和各类人员。

4、答:常用的数据模型有层次模型、网状模型和关系模型。

层次模型的特点是:形状象一棵倒立的树,有且仅有一个结点无父结点,这个结点称为根结点,其他结点有且仅有一个父结点。

网状模型的特点是:形状象一张网,允许一个以上的结点无父结点,一个结点可以有多于一个的父结点。

关系模型的特点是:在关系中,数据的逻辑结构是一张二维表。

该表满足每一列中的分量是类型相同的数据;列的顺序可以是任意的;行的顺序可以是任意的;表中的分量是不可再分割的最小数据项,即表中不允许有子表;表中的任意两行不能完全相同。

层次模型对具有一对多层次关系的数据描述非常自然、直观、容易理解;网状模型主要是描述具有多对多关系的数据。

数据库技术与应用SQL Server 2008第5章习题参考答案

数据库技术与应用SQL Server 2008第5章习题参考答案

第5章习题解答1.思考题(1)什么是聚集索引?什么是非聚集索引?它们的区别是什么?答:聚集索引(Clustered)将数据行的键值在数据表内排序并存储对应的数据记录,使得数据表的物理顺序与索引顺序一致。

非聚集索引(Non-clustered)具有完全独立于数据行的结构。

数据存储在一个地方,索引存储在另一个地方。

聚集索引确定表中数据的物理顺序。

非聚集索引中索引的逻辑顺序与磁盘上行的物理存储顺序不同。

(2)一个表中的数据可以按照多种顺序来存储吗?一个表中能创建几个聚集索引?聚集索引一定是唯一索引吗?为什么?答:一个表中的数据只能按照一种顺序来存储,所以一个表中只能创建一个聚集索引。

唯一索引是给所做的索引增加了唯一性的约束,添加,修改索引列中数据时,不允许出现重复值。

聚集索引是唯一的,也可以不是唯一的,就看如何定义。

(3)视图和数据表的区别是什么?视图可以创建索引、创建主健、约束吗?为什么?答:视图和数据表的区别:1)视图是已经编译好的sql语句。

而表不是。

2)视图没有实际的物理记录。

而表有。

3)表是内容,视图是窗口。

4)表只用物理空间而视图不占用物理空间,视图只是逻辑概念的存在,表可以及时对它进行修改,但视图只能有创建的语句来修改。

5)表是内模式,视图是外模式。

6)视图是查看数据表的一种方法,可以查询数据表中某些字段构成的数据,只是一些SQL语句的集合。

从安全的角度说,视图可以不给用户接触数据表,从而不知道表结构。

7)表属于全局模式中的表,是实表;视图属于局部模式的表,是虚表。

8)视图的建立和删除只影响视图本身,不影响对应的基本表。

(4)能不能基于临时表建立视图?由什么语句可建立临时表?在CREA TE VIEW语句中能不能使用INTO关键字?为什么?答:不能基于临时表建立视图。

由SELECT INTO语句可建立临时表,在CREA TE VIEW 语句中不能使用INTO关键字。

(5)视图存储记录吗?对更新视图的操作最终都转化为对什么的更新操作?答:视图的信息存放在系统表中,可以使用查询语句或系统存储过程进行查询。

【精品】数据库技术和应用部分习题解答

【精品】数据库技术和应用部分习题解答

【关键字】精品第1章部分习题解答一. 填空题1.数据模型通常由(数据结构)、(数据操作)和(数据完整性约束)三要素组成。

2.数据模型通常分(层次)、(网络)、(关系)和(面向对象)是四种。

3.数据操作描述的是系统的动态特性,主要分为(检索)和(革新)两大类,共包括(查询)、(插入)、(删除)和(修改)4种操作。

4.关系数据库系统是以(关系模型)为基础的数据库系统。

5.从数据库管理系统的角度划分数据库系统的体系结构,可分为(外模式)、(模式)和(内模式)三层。

6.有了外模式/模式映象可以保证数据和应用程序之间的(逻辑独立性);有了模式/内模式映象,可以保证数据和应用程序之间的(物理独立性)。

7.数据库管理系统主要由(数据描述语言及其翻译程序)、(数据操纵/查询语言及其翻译程序)和(数据库管理例行程序)三部分组成。

8.数据库管理系统在三层结构之间提供的两层映象是(外模式/模式映象)和(模式/内模式映象)。

9.当前数据库系统的主流是(关系数据库系统)。

10.在E-R图中,实体集用(矩形)表示,实体集和联系的属性用(椭圆形)表示,实体之间的联系用(菱形)表示,联系与其涉及的实体集之间以直线连接,并在直线端部标上联系的种类(1:1,1:n,m:n)。

11.房屋租赁公司利用数据库记录房主的房屋和公司职员的信息。

其中房屋信息包括房屋编号、地址、面积、朝向、租金价格。

职员的信息包括员工编号、姓名、联系的客户、约定客户见面时间、约定客户看房的编号。

房屋租赁公司的E-R图如下图所示:图房屋租赁公司的E-R图在括号中填人正确的答案。

A: (房屋) B:(带客户看房) C:(职员) D:(地址) E:(租金价格) F:(联系的客户)G:(约定客户见面时间) H:(约定客户看房的编号)二. 选择题1.( B )是按照一定的数据模型组织的,长期储存在计算机内,可为多个用户共享的数据的聚集。

A.数据库系统B.数据库C.关系数据库D。

数据库应用与设计 (清华大学出版社)参考答案

数据库应用与设计 (清华大学出版社)参考答案

《数据库应用与设计》习题参考答案第1章习题参考答案1、答案:数据库是长期储存在计算机设备上、相互关联的、可以被用户共享的数据集合。

2、答案:数据库中的数据共享带来如下好处:低冗余,保证数据的一致性,易于扩充。

但是数据库中的数据共享可能会引起并发访问的冲突,这就需要采用并发控制来避免。

3、答案:因为概念数据模型可以真实地反映现实世界,被人们所理解。

它是创建数据模型的第一个阶段。

4、答案:5、答案:因为多对多联系是一类比较复杂的联系,一般数据库管理系统也不直接支持多对多联系(需要付出更大的代价),所以多对多联系通常需要转换成一对多联系的。

6、答案:存储数据独立性指当改变存储文件的组织方式或存储结构时,应用程序无需修改。

概念数据独立性指当概念文件的结构发生变化时,应用程序无需修改。

这两种数据独立性是通过三层结构获得的。

在三层结构的方案中,CONCEPTUAL-ROUTINE保证了概念数据的独立性,而STORAGE-ROUTINE则保证了存储数据独立性。

7、答案:数据库模式是用数据描述语言对数据库结构的每一层的框架及结构进行的精确定义。

数据库模式分为存储模式(内模式)、概念模式(模式)、外部模式(子模式)。

存储模式(内模式)定义了存储数据库结构,概念模式(模式)定义了概念数据库结构,外部模式(子模式)定义了外部数据库结构。

8、答案:用户程序通过DBMS修改一条记录时所发生的一系列事件如下:(1)用户程序A向DBMS发出修改一条记录的指令,这时,用户程序要给出外部文件名、记录的关键字值和要修改的信息。

(2)DBCS分析所接到的指令,访问对应的外部模式。

(3)DBCS完成外部模式到概念模式的转换,决定访问哪个(些)概念文件。

(4)由DBSS完成概念模式到存储模式的转换,并决定访问哪个(些)存储文件。

(5)DBSS调用修改方法,通过操作系统修改相应的存储文件。

(6)用户程序从系统缓冲区中获得DBMS返回的状态信息。

《数据库技术与应用》第6章习题答案

《数据库技术与应用》第6章习题答案
解:
关系模式:
客户(驾照号,姓名,住址,电话)
车辆(车辆编号,车型,出厂年份)
事故(事故பைடு நூலகம்号,事故发生日期,发生地点,赔偿金)
存在的函数依赖: 客户(驾照号→姓名,驾照号→住址,驾照号→电话) 车辆(车辆编号→车型,车辆编号→出厂年份、车辆编号→驾照号) 事故(事故编号→事故发生日期,事故编号→发生地点,事故编号→赔偿金、事故编号→车辆编号) 4. 设关系模式R(A,B,C,D,E,F),函数依赖集F={A C,C A,B AC,D AC,BD A}。 (1) 求出R的候选码。 (2) 求出F的最小函数依赖集。 解: (1)B、D。 (2) ①将F中每个函数依赖的右部均变成单属性。则, F={A C,C A,B A,B C,D A,D C,BD A}; ②去掉F中各函数依赖左部多余的属性。 在BD A中,由于存在B A和D A因此,BD A为多余的函数依赖,可去掉。 ③去掉F中冗余的函数依赖。 由于B A可由B C和C A推出,因此,可去掉B A。 D A可由D C和C A推出,因此,可去掉D A。 因此,F m={A C,C A,B C,D C }。 5. 设X在关系模式R中成立。如果存在Z X使得Z Y成立,则称函数依赖X称为部分函数依赖,并称Y部分函数依赖于X;否则称 X为完全函数依赖,并称Y完全依赖于X。使用完全函数依赖概念给出2NF的等价定义。 解:
若R1NF,且R的所有函数依赖都满足完全函数依赖,则R2NF。 6. 证明: (1) 如果R的所有属性都是主属性,则R是3NF。 (2) 如果R的码包含R的所有属性(全码),则R是BCNF。
解:
(1) 证明:关系模式R中若不存在这样的候选码X,属性组Y及非主属性Z(Z Y)使得X Y,Y Z成立,则称R3NF。因为如果R的所 有属性都是主属性,即没有非主属性,则不存在非主属性对码的部分和传递函数依赖。因此如果R的所有属性都是主属性,则 R是3NF。 (2) 证明:BCNF要求关系范式满足1NF,且每一个函数依赖的决定因子都包含码。而全码的关系满足1NF,且只有一个决定 因子,即关系模式包含的所有属性。因此如果R 的码包含R的所有属性(全码),则R是BCNF。 7. 在关系模式设计中,有没有理由设计一个属于2NF,但不属于更高范式的关系模式?解释你的答案。

《数据库应用技术》作业及答案

《数据库应用技术》作业及答案

《数据库应用技术》作业及答案第一章思考与练习题一、选择题1.三级模式间存在两种映射,它们是(C)。

A.模式与子模式间,模式与内模式间B.子模式与内模式间,外模式与内模式间C.外模式与模式间,模式与内模式间D.模式与内模式间,模式与模式间2. SQL Server系统中的所有系统级信息存储于哪个数据库( A )。

A.master B.model C.tempdb D.msdb3.下面关于tempdb数据库描述不正确的是( D )。

A.是一个临时数据库 B.属于全局资源C.没有权限限制 D.是用户建立新数据库的模板4.在数据库技术中,面向对象数据模型是一种( B )。

A.概念模型B.结构模型C.物理模型D.形象模型5.数据库管理系统常见的数据模型有(B)。

A.网状、关系和语义B.层次、关系和网状C.环状、层次和关系D.网状、链状和层次6.用户看到的数据表,属于数据库系统三级模式中的( D )。

A.外模式B.内模式C.子模式D.模式7.对数据的插入属于数据库管理系统( B )的功能。

A.数据定义B.数据操纵C.数据库的运行管理D.数据库的建立和维护8.保持数据的完整性属于数据库管理系统( C )的功能。

A.数据定义B.数据操纵C.数据库的运行管理D.数据库的建立和维护9.在SQL Server数据库中,默认情况下Sys通常是( C )。

A.数据文件的后缀B.事务日志文件的后缀C.系统表表名的前缀D.辅助文件的后缀二、填空题1.计算机数据处理技术大致经历了(人工管理)、(文件管理)、(数据库管理)等不同的发展阶段。

2.数据库系统由(外模式)、(模式)和(内模式)三级抽象模式构成。

3.数据库管理系统的主要功能包括(数据定义)、(数据操纵)、(数据库的运行管理)、(数据库的建立和维护)。

4.关系模型由三部分组成(数据结构)、(关系操作集合)和(关系的完整性)。

5. SQL Server提供了大量易用的管理工具,比较常用的主要有(服务管理器)、(企业管理器)和(查询分析器)。

(完整版)《数据库原理及应用》课后习题参考答案解析

(完整版)《数据库原理及应用》课后习题参考答案解析

《数据库原理与应用》课后习题参考答案第一章作业参考答案1. 单选题 C C D B C2. 判断题对错错错对3填空题网状模型用户商业智能数据挖掘系统设计4简答题1)数据模型是指描述事物对象的数据组成、数据关系、数据约束的抽象结构及其说明。

数据模型是指描述事物对象的数据组成、数据关系、数据约束的抽象结构及其说明。

数据模型是指描述事物对象的数据组成、数据关系、数据约束的抽象结构及其说明。

3)数据约束:用于描述数据结构中数据之间的语义联系、数据之间的制约和依存关系,以及数据动态变化的规则。

主流数据库采用关系图模型。

数据库典型数据模型:层次数据模型网状数据模型关系数据模型其它数据模型(如对象数据模型、键值对数据模型、列式数据模型。

)2)数据库——是一种依照特定数据模型组织、存储和管理数据的文件,数据库文件一般存放在辅助存储器以便长久保存。

数据库具有如下特点:数据不重复存放;提供给多种应用程序访问;数据结构独立于使用它的应用程序;对数据增、删、改、检索由统一软件进行管理和控制。

3)数据库(Database)是一种依照特定模型组织、存储和管理数据的数据结构。

在数据库中,不仅存放了数据,而且还存放了数据与数据之间的关系。

数据库内部元素:用户表:用户在数据库中创建的数据库表;系统表:数据库中系统自带的数据库表;视图:数据库中用于对数据进行查询的虚拟表;索引:数据库中用于加快数据查询的索引项;约束:数据库中对数据、数据关系施加的规则;存储过程:数据库内部完成特定功能处理的程序;触发器:数据库内部因数据变化自动执行的一类存储过程等等4)数据库系统包括:用户、数据库应用程序、数据库管理系统和数据库四个组成要素。

5)数据库管理系统(Database Manage System,DBMS )——是一种专门用来创建数据库、管理数据库、维护数据库,并提供对数据库访问的系统软件。

数据库管理系统(DBMS)主要功能:创建数据库和表; 创建支持结构,如索引等; 读取数据库数据 ; 修改数据库数据; 维护数据库结构; 执行规则; 并发控制; 提供安全性;执行备份和恢复等等第二章作业参考答案1 单选题 C B D A A2. 判断题对对错对错3填空题全外连接数据约束候选键用户定义完整性4简答题外码键1)在关系模型中,使用“关系”来存储“实体”中的数据。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第5章数据库完整性与安全性1. 什么是数据库的完整性?什么是数据库的安全性?两者之间有什么区别和联系?解:数据库的完整性是指数据库中数据的正确性、有效性和相容性,其目的是防止不符合语义、不正确的数据进入数据库,从而来保证数据库系统能够真实的反映客观现实世界。

数据库安全性是指保护数据库,防止因用户非法使用数据库造成数据泄露、更改或破坏。

数据的完整性和安全性是两个不同的概念,但是有一定的联系:前者是为了防止数据库中存在不符合语义的数据,防止错误信息的输入和输出,即所谓垃圾进垃圾出所造成的无效操作和错误结果。

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

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

2. 什么是数据库的完整性约束条件?完整性约束条件可以分为哪几类?解:完整性约束条件是指数据库中的数据应该满足的语义约束条件。

一般可以分为六类:静态列级约束、静态元组约束、静态关系约束、动态列级约束、动态元组约束、动态关系约束。

静态列级约束是对一个列的取值域的说明,包括以下几个方面:①数据类型的约束,包括数据的类型、长度、单位、精度等;②对数据格式的约束;③对取值范围或取值集合的约束;④对空值的约束;⑤其他约束。

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

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

常见的静态关系约束有:①实体完整性约束;②参照完整性约束;③函数依赖约束。

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

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

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

3. 试述DBMS如何实现完整性控制。

解:为了维护数据库的完整性,DBMS提供了以下三种机制:①完整性约束条件定义完整性约束条件也称为完整性规则,是数据库中的数据必须满足的语义约束条件。

SQL标准使用了一系列概念来描述完整性,包括关系模型的实体完整性、参照完整性和用户定义完整性。

这些完整性一般由SQL的DDL语义来实现。

它们作为数据库模式的一部分存入数据字典中。

②完整性检查方法检查数据是否满足已定义的完整性约束条件称为完整性检查。

一般在INSERT、UPDATE、DELETE语句执行后开始检查,也可以在事务提交时检查。

检查这些操作执行后数据库中的数据是否违背了完整性约束条件。

③违约处理若发现用户操作违背了完整性约束条件,应采取一定的措施,如拒绝(NOACTION)执行该操作,或级连(CASCADE)执行其它操作,进行违约处理以保证数据的完整性。

4. 现有以下四个关系模式:供应商(供应商编号,姓名,电话,地点),其中供应商编号为主码;零件(零件编号,零件名称,颜色,重量),其中零件编号为主码;工程(工程编号,工程名称,所在地点),其中工程编号为主码;供应情况(供应商编号,零件编号,工程编号,数量),其中供应商编号,零件编号,工程编号为主码用SQL语句定义这四个关系模式,要求在模式中完成以下完整性约束条件的定义:①定义每个模式的主码;②定义参照完整性;③定义零件重量不得超过100千克。

解:CREATE SCHEMA Supplier_schemaCREATE TABLE Supplier( Sno CHAR(5) PRIMARY KEY,Sname CHAR(20) NOT NULL,Phone CHAR(13),Address CHAR(30));CREATE SCHEMA Part_schemaCREATE TABLE Part( Pno CHAR(7) PRIMARY KEY,Pname CHAR(20) NOT NULL,Color CHAR(10),Weight SMALLINT CHECK(Weight <=100));CREATE SCHEMA Project_schemaCREATE TABLE Project( Jno CHAR(7) PRIMARY KEY,Jname CHAR(20) NOT NULL,Jaddress CHAR(30));CREATE SHEMA SPJ_shemaCREATE TABLE SPJ( Sno CHAR(5),Pno CHAR(7),Jno CHAR(7),Quantity SMALLINT,PRIMARY KEY (Sno, Pno, Jno),FOREIGN KEY (Sno) REFERENCES Supplier(Sno),FOREIGN KEY (Pno) REFERENCES Part(Pno),FOREIGN KEY (Jno) REFERENCES Project(Jno));5. 在关系数据库系统中,当操作违反实体完整性、参照完整性和用户自定义的完整性约束条件时,一般是如何分别进行处理的。

解:(1) 按实体完整性规则自动进行检查。

包括:①检查主码值是否唯一,如果不唯一则拒绝插入或修改。

②检查主码的各个属性是否为空,只要有一个为空就拒绝插入或修改。

(2) 按参照完整性检查,违约处理的策略如下:①拒绝(NO ACTION)执行。

不允许该操作执行,该策略一般设置为默认策略。

在被参照关系中删除元组:仅当参照关系中没有任何元组的外码值与被参照关系中要删除元组的主码值相同时,系统才执行删除操作,否则拒绝此操作。

②级联(CASCADE)操作。

当删除或修改被参照表的一个元组造成了与参照表的不一致,则删除或修改参照表中的所有造成不一致的元组。

级联操作必须在定义外码时给出显式定义。

③设置为空值(SET NULL)。

当删除或修改被参照表的一个元组时造成了不一致,则将参照表中的所有造成不一致的元组的对应属性设置为空值。

④置空值删除(NULLIFIES)。

删除被参照关系的元组,并将参照关系中相应元组的外码值置空值。

(3) 按用户自定义完整性检查,违约处理:当往表中插入元组或修改属性的值时,RDBMS就检查属性上的约束条件是否被满足,如果不满足则操作被拒绝执行。

6. 触发器的作用是什么?同一表上的多个触发器被激活时遵循的执行顺序是什么?解:触发器是用户定义在关系表上的一类由事件驱动的特殊过程,它不需要由用户调用执行,而是在用户对表中的数据进行UPDATE、INSERT或DELETE操作时自动触发执行。

它可以实现数据库中相关表的级联修改,能实现比CHECK语句更为复杂的约束,能提供数据库修改前后数据变化的前后状态,能维护非规范化数据。

同一表上的多个触发器激活时遵循以下执行顺序:①执行该表上的BERORE触发器;②激活触发器的SQL语句;③执行该表上的AFTER触发器。

此外,对于同一个表上的多个BEFORE(AFTER)触发器,遵循“谁先创建谁先执行”的原则,即按照触发器创建的时间先后顺序执行。

有些RDBMS是按照触发器名称的字母排序顺序来执行触发器的。

7. 什么是“权限”?用户访问数据库有哪些权限?对数据模式进行修改有哪些权限?解:用户(或应用程序)使用DB的方式称为权限。

用户访问数据库有四种权限:Read(读权限)、Insert(插入)、Update(修改)和Delete (修改)。

用户对数据模式进行修改有四种权限:Index(索引权限:允许用户创建和删除索引),Resource(资源权限:允许用户创建新的关系)、Alteration(修改权限:允许用户在关系结构中加入或删除属性)和Drop(撤销权限:允许用户撤销关系)。

8. 安全性措施中的强制存取控制是如何实现的?解:对每个数据对象赋予一定的密级,级别从高到低有:绝密级、机密级、秘密级、公用级,每个用户也具有相应的级别,称为许可证级别,密级和许可证级别都是有序的,如绝密>机密>秘密>公用,采用规则是:一是用户只能查看比它级别低或是同级的数据,二是用户只能修改和它同级的数据。

9. SQL提供了哪些数据控制语句?举例说明。

解:数据控制语言是用来设置或者更改数据库用户或角色权限的语句。

SQL中,这些语句包括GRANT、REVOKE等语句。

GRANT语句向用户授予权限,REVOKE语句收回授予的权限。

例如:描述把查询Course表的权限授予所有用户的控制语句为GRANT SELECT ON Course TO PUBLIC;描述收回用户U3修改学生学号的查询权限的控制语句为:REVOKE UPDATE(Sno)ON TABLE StudentFROM U3;10. 使用角色有什么好处?涉及角色的SQL语句有哪些?解:使用角色的好处:数据库角色是指被命名的一组与数据库操作相关的权限。

角色是权限的集合,可以为一组具有相同权限的用户创建一个角色,角色简化了授权操作。

使用角色进行授权必须先创建角色,将数据库对象上的存取权限授予角色,才能将角色授予用户,使得用户拥有角色所具有的所有存取权限。

对一个角色授予、拒绝或废除的权限也适用于该角色的任何成员。

涉及角色的SQL语句有:角色的创建CREATE ROLE <角色名>给角色授权GRANT<权限>[,<权限>]…ON <对象类型>对象名TO <角色>[,<角色>]…将一个角色授予其它的角色或用户GRANT <角色1>[,<角色2>]…TO <角色3>[,<用户1>]…[WITH ADMIN OPTION]角色权限的收回REVOKE<权限>[,<权限>]…ON<对象类型><对象名>FROM <角色>[,<角色>]…11. 现有以下两个关系模式:雇员(员工号,姓名,年龄,工资,部门号,职务)部门(部门号,名称,经理名,电话)使用SQL提供的功能完成如下操作:①允许WangHong对两个关系进行任何操作,并可以将他的权限转授他人。

②允许所有用户查询部门关系。

③允许所有用户查询雇员关系中除员工号、年龄和工资之外的所有属性。

④允许LiLan对雇员关系中的工资属性进行修改。

⑤定义一个角色Manager,可以对部门关系进行任何操作,对雇员关系除了不能修改工资外,可以进行任何操作。

⑥SongHua是秘书,拥有角色Manager的权限。

⑦收回①~④的授权。

⑧不允许角色Manager修改雇员的职务属性值。

解:①允许WangHong对两个关系进行任何操作,并可以将他的权限转授他人:GRANT ALL PRIVILEGESON TABLE雇员, 部门TO WangHong;WITH GRANT OPTION;②允许所有用户查询部门关系:GRANT SELECT ON TABLE部门TO PUBLIC;③允许所有用户查询雇员关系中除员工号、年龄和工资之外的所有属性:GRANT SELECT(姓名,部门号,职务) ON TABLE雇员TO PUBLIC;④允许LiLan对雇员关系中的工资属性进行修改:GRANT UPDATE(工资) ON TABLE部门TO LiLan;⑤定义一个角色Manager,可以对部门关系进行任何操作,对雇员关系除了不能修改工资外,可以进行任何操作:CREATE ROLE Manager;GRANT ALL PRIVILEGESON TABLE雇员,部门TO WangHong;REVOKE UPDATE(工资) ON TABLE部门FROM Manager;⑥SongHua是秘书,拥有角色Manager的权限:GRANTManagerTO SongHua;⑦收回(1)~(4)的授权。

相关文档
最新文档