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

合集下载

《数据库基础与应用》 课后习题答案

《数据库基础与应用》 课后习题答案

《数据库基础与应用》课后习题答案第一章数据库系统概论1. 人工管理、文件管理、数据库管理2. 依赖于3. 独立、联系4. 做什么、怎么做5. 文件、数据库6. 安全性、一致性、并发性、数据库恢复7. 兼容性强、可靠性高、地域范围广、数据量大、客户数多8. 主属性、非主属性9. 1对1、1对多、多对多10. 1、多11. 1、多12. 记录型、1对多13. 过程、集合14. 元组、属性15. 1、n16. 数据结构、集合运算、独立、数学17. 封装、继承、多态18. 操作系统、开发工具19. 全局模式、外模式、内模式20. 外模式和模式、模式和内模式21. 定义(描述)操纵22. 系统、用户第二章关系运算1. 关系数据结构、关系完整性规则、关系运算2. 域、列名(属性名)3. 1、多4. 候选、属性5. 学生号、非主6. 实体、参照、用户定义7. 空值、主码8. 并、交、差、笛卡尔积9. a1+b1、a2´b210. 选择、211. 4、312. Õ学生号、X、δ课程名=’程序设计’13. Õ课程号(X)、C第三章关系规范化基础1. X→Y、决定因素2. 非平凡、平凡3. 非平凡、完全4. X、Z5. X→(Y,Z)、合并性6. X、候选码7. (A,C)、28. A、19. (A,C,G)、310. 第三、无损连接、函数依赖11. 属性、元组、关系12. 数据冗余、操作异常(更新异常)13. 第一、314. 第一、215. 第二、216. 第二、17. BC第四章结构化查询语言--SQL一、填空题1. 视图、基本表2. 非过程化、集合3. KUCUN、LIU4. 列级、表级5. 主码、单值、外码、检查6. primary key、foreign key7. 建立、修改、删除8. 单行(单值)、多行(多值)9. 插入、修改、删除10. 表、建立11. 修改、查找12. 基本表、视图13. 没有影响、有影响14. create view、update、drop view15.投影、连接、选择16. group by、order by17. inner join、left join、right join二、根据主教材第四章所给的商品库和教学库,按照下列所给的每条SQL查询语句写出相应的功能。

数据库原理与应用教程第四版 第五章答案

数据库原理与应用教程第四版 第五章答案

免责声明:私人学习之余整理,如有错漏,概不负责1.视图的优点简化数据查询语句、使用户能从多角度看待同一数据、提高了数据的安全性、提供了一定程度的逻辑独立性2.使用视图可以加快数据的查询速度吗?为什么?不对。

其本质上还是执行视图内部的查询语句,通过视图查询数据时,都是转换为对基本表的查询,其简化了数据查询语句但是并不能加快数据查询速度。

3.写出创建满足以下要求的视图的SQL语句。

1)查询学生的学号、姓名、所在系、课程号、课程名、课程学分。

CREATE VIEW v1(Sno,Sname,Sdept,Cno,Cname,Credit)ASSELECT s.Sno,Sname,Sdept,o,Cname,CreditFROM Student s JOIN SC ON s.Sno = SC.Sno JOIN Course c ON o = o2)查询学生的学号、姓名、选修的课程名和考试成绩。

CREATE VIEW v2(Sno,Sname,Cname,Grade)ASSELECT s.Sno,Sname,Cname,GradeFROM Student s JOIN SC ON s.Sno = SC.Sno JOIN Course c ON o = o3)统计每个学生的选课门数,列出学生学号和选课门数。

CREATE VIEW v3(Sno,选课门数)ASSELECT s.Sno,COUNT(*)FROM Student s JOIN SC ON s.Sno = SC.SnoGROUP BY Sno4)统计每个学生的修课总学分,列出学生学号和总学分。

(成绩大于等于60)CREATE VIEW v4(Sno,总学分)ASSELECT s.Sno,SUM(Credit)FROM Student s JOIN SC ON s.Sno = SC.Sno JOIN Course c ON o = oWHERE Grade > 60GROUP BY Sno5)查询计算机系Java考试成绩最高的学生的学号、姓名和Java考试成绩。

数据库第五章课后习题答案

数据库第五章课后习题答案

关系规范化理论题目4.20 设关系模式R(ABC),F是R上成立的FD集,F={B→A,C→A },ρ={AB,BC }是R上的一个分解,那么分解ρ是否保持FD集F?并说明理由。

答:已知F={ B→A,C→A },而πAB(F)={ B→A },πBC(F)=φ,显然,分解ρ丢失了FD C→A。

4.21 设关系模式R(ABC),F是R上成立的FD集,F={B→C,C→A },那么分解ρ={AB,AC }相对于F,是否无损分解和保持FD?并说明理由。

答:①已知F={ B→C,C→A },而πAB(F)=φ,πAC(F)={ C→A }显然,这个分解丢失了FD B→C②用测试过程可以知道,ρ相对于F是损失分解。

4.22 设关系模式R(ABCD),F是R上成立的FD集,F={A→B,B→C,A→D,D→C },ρ={AB,AC,BD }是R的一个分解。

①相对于F,ρ是无损分解吗?为什么?②试求F在ρ的每个模式上的投影。

③ρ保持F吗?为什么?答:①用测试过程可以知道,ρ相对于F是损失分解。

②πAB(F)={ A→B },πAC(F)={ A→C },πBD(F)=φ。

③显然,分解ρ不保持FD集F,丢失了B→C、A→D和D→C等三个FD。

4.23 设关系模式R(ABCD),R上的FD集F={A→C,D→C,BD→A},试说明ρ={AB,ACD,BCD }相对于F是损失分解的理由。

答:据已知的F集,不可能把初始表格修改为有一个全a行的表格,因此ρ相对于F是损失分解。

4.24 设关系模式R(ABCD)上FD集为F,并且F={A→B,B→C,D→B}。

①R分解成ρ={ACD,BD},试求F在ACD和BD上的投影。

②ACD和BD是BCNF吗?如不是,望分解成BCNF。

解:①F在模式ACD上的投影为{A→C,D→C},F在模式BD上的投影为{D→B}。

②由于模式ACD的关键码是AD,因此显然模式ACD不是BCNF。

数据库技术与应用SQLServer2005课后习题答案

数据库技术与应用SQLServer2005课后习题答案
R∩S={a1,b1,c1}
R-S={(a2,b2,c1),(a3,b2,c3)}
Π(A,B)={(a1,b1,c1),(a2,b2,c1)}
第三章
一.选择题
1.A 2.C 3.B 4.C 5.B
二.填空题
1.企业版,标准版,开发版,工作组版,精简版。
2.Windows其同模式
3.SQL Server配置管理器
实体属性:实体的特征成为属性。区别于关系属性:二维表的每一列在关系中称为属性
关键字:关系中能够唯一区分确定不同元组的单个属性或属性组合称为该关系的一个关键字。又被称为键或码(key)
外部关键字:如果关系中某个属性或属性组合并非本关系中的关键字但却是另一个关系中的关键字,这样的属性或属性组合被称为本关系中的外部关键字或外键(FOREIGN KEY,FK)
float和real数据类型被称为近似的数据类型。在近似数字数据类型方面,float和real数据的使用遵循IEEE 754标准。近似数字数据类型并不存储为多数数字指定的精确值,它们只储存这些值的最近似值。在很多应用程序中,指定值与存储值之间的微小差异并不明显。
money数据类型存储货币数据。货币数据存储的精确度为四位小数。可以存储在money数据类型中的值的范围是-922,337,203,685,477.5808至+922,337,203,685,477.5807(需8个字节的存储空间)。
如果您认识某个字,您可以快速地从自动中查到这个字。但您也可能会遇到您不认识的字,不知道它的发音,这时候,您就不能按照刚才的方法找到您要查的字,而需要去根据“偏旁部首”查到您要找的字,然后根据这个字后的页码直接翻到某页来找到您要找的字。但您结合“部首目录”和“检字表”而查到的字的排序并不是真正的正文的排序方法,比如您查“张”字,我们可以看到在查部首之后的检字表中“张”的页码是672页,检字表中“张”的上面是“驰”字,但页码却是63页,“张”的下面是“弩”字,页面是390页。很显然,这些字并不是真正的分别位于“张”字的上下方,现在您看到的连续的“驰、张、弩”三字实际上就是他们在非聚集索引中的排序,是字典正文中的字在非聚集索引中的映射。我们可以通过这种方式来找到您所需要的字,但它需要两个过程,先找到目录中的结果,然后再翻到您所需要的页码。聚集索引在每个表内又只能建立一个,而非聚类索引可以建立多个。

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

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

数据库技术与应用(经)习题集参考答案第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、答案:5、答案:因为多对多联系是一类比较复杂的联系,一般数据库管理系统也不直接支持多对多联系(需要付出更大的代价),所以多对多联系通常需要转换成一对多联系的。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

《数据库应用技术》作业及答案第一章思考与练习题一、选择题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. 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)的授权。

相关文档
最新文档