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

第5章数据库完整性与安全性1. 什么是数据库的完整性?什么是数据库的安全性?两者之间有什么区别和联系?解:数据库的完整性是指数据库中数据的正确性、有效性和相容性,其目的是防止不符合语义、不正确的数据进入数据库,从而来保证数据库系统能够真实的反映客观现实世界。
数据库安全性是指保护数据库,防止因用户非法使用数据库造成数据泄露、更改或破坏。
数据的完整性和安全性是两个不同的概念,但是有一定的联系:前者是为了防止数据库中存在不符合语义的数据,防止错误信息的输入和输出,即所谓垃圾进垃圾出所造成的无效操作和错误结果。
后者是保护数据库防止恶意的破坏和非法的存取。
也就是说,安全性措施的防范对象是非法用户和非法操作,完整性措施的防范对象是不合语义的数据.2。
什么是数据库的完整性约束条件?完整性约束条件可以分为哪几类?解:完整性约束条件是指数据库中的数据应该满足的语义约束条件。
一般可以分为六类:静态列级约束、静态元组约束、静态关系约束、动态列级约束、动态元组约束、动态关系约束.静态列级约束是对一个列的取值域的说明,包括以下几个方面:①数据类型的约束,包括数据的类型、长度、单位、精度等;②对数据格式的约束;③对取值范围或取值集合的约束;④对空值的约束;⑤其他约束.静态元组约束就是规定组成一个元组的各个列之间的约束关系,静态元组约束只局限在单个元组上。
静态关系约束是在一个关系的各个元组之间或者若干关系之间常常存在各种联系或约束。
常见的静态关系约束有:①实体完整性约束;②参照完整性约束;③函数依赖约束.动态列级约束是修改列定义或列值时应满足的约束条件,包括下面两方面:①修改列定义时的约束;②修改列值时的约束。
动态元组约束是指修改某个元组的值时需要参照其旧值,并且新旧值之间需要满足某种约束条件.动态关系约束是加在关系变化前后状态上的限制条件,例如事务一致性、原子性等约束条件。
3. 试述DBMS如何实现完整性控制.解:为了维护数据库的完整性,DBMS提供了以下三种机制:①完整性约束条件定义完整性约束条件也称为完整性规则,是数据库中的数据必须满足的语义约束条件.SQL标准使用了一系列概念来描述完整性,包括关系模型的实体完整性、参照完整性和用户定义完整性。
《数据库基础与应用》 课后习题答案

《数据库基础与应用》课后习题答案第一章数据库系统概论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考试成绩。
(完整word版)数据库原理与应用教程 何玉洁 五——八章课后习题部分答案

第五章一、试说明使用视图的好处。
答:1、简化数据查询语句2、使用户能从多角度看待同一数据3、提高了数据的安全性4、提供了一定程度的逻辑独立性二、使用视图可以加快数据的查询速度,这句话对吗?为什么?答:不对。
因为数据库管理系统在对视图进行查询时,首先检查要查询的视图是否存在,如果存在,则从数据字典中提取视图的定义,把视图的定义语句对视图语句结合起来,转换成等价的对基本表的查询,然后再执行转换后的查询,所以使用视图不可以加快数据的查询速度。
三、利用第3章建立的Student、Course和SC表,写出创建满足下述要求的视图的SQL语句。
(1)查询学生的学号、姓名、所在系、课程号、课程名、课程学分。
答:CREATE VIEW IS_S_CASSELECT Sno,Sname,Sdept,Cno,Cname,CreditFROM Student S JOIN SC ON S.Sno=SC.SnoJOIN Course C ON o=o四、利用第三题建立的视图,完成如下查询:(1)查询考试成绩大于等于90分的学生的姓名、课程号和成绩。
答:SELECT Sname,Cno,GradeFROM IS_SCWHERE Grade>=90五、修改第三题(4)定义的视图,使其查询每个学生的学号,总学分以及总的选课门数。
答:ALTER VIEW IS_CCASSELECT Sno,COUNT(Credit),COUNT(Cno)FROM SC JOIN Course C ON o=oGROUP BY Sno第六章一、关系规范化中的操作异常有哪些?它是由什么引起的?解决的方法是什么?答:操作异常:数据冗余问题、数据更新问题、数据插入问题和数据删除问题。
它是由关系模式中某些属性之间存在的“不良”的函数依赖关系一起的。
解决的方法是进行模式分解,即把一个关系模式分解成两个或多个关系模式,在分解的过程中消除那些“不良”的函数依赖,从而获得良好的关系模式。
数据库技术与应用课后答案

<<数据库技术与应用——Visual FoxPro 6.0篇>>练习题答案第1章练习题答案一、选择题题号 1 2 3 4 5 6 7 8 9 10答案 B A A D C B B B A A二、填空题1、数据定义、数据操纵2、文件系统阶段、数据库系统阶段3、属性、字段、元组、记录4、关键字5、域6、属性、属性到域的映象7、关系、关系8、投影9、选择运算、投影运算10、连接运算、自然连接三、简答题1、答:数据库(DataBase)是被长期存放在计算机内、有组织的、可以表现为多种形式的可共享的数据集合。
数据库管理系统(DataBase Management System,简称DBMS)是计算机系统软件,它的职能是有效地组织和存储数据、获取和管理数据,接受和完成用户提出的访问数据的各种请求。
数据库系统是指拥有数据库技术支持的计算机系统,它可以实现有组织地、动态地存储大量相关数据,提供数据处理和信息资源共享服务。
数据库系统是指在计算机系统中引入数据库后的系统,一般由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员和用户构成。
2、答:关系是一张二维表,每个关系有一个关系名。
在计算机中,一个关系可以存储为一个文件。
在Visual FoxPro中,一个关系就是一个表文件。
元组是二维表中水平方向的行,有时也叫做一条记录。
属性是二维表中垂直方向的列,有时也叫做一个字段。
3、答:数据库系统由四部分组成:硬件系统、系统软件、数据库应用系统和各类人员。
4、答:常用的数据模型有层次模型、网状模型和关系模型。
层次模型的特点是:形状象一棵倒立的树,有且仅有一个结点无父结点,这个结点称为根结点,其他结点有且仅有一个父结点。
网状模型的特点是:形状象一张网,允许一个以上的结点无父结点,一个结点可以有多于一个的父结点。
关系模型的特点是:在关系中,数据的逻辑结构是一张二维表。
该表满足每一列中的分量是类型相同的数据;列的顺序可以是任意的;行的顺序可以是任意的;表中的分量是不可再分割的最小数据项,即表中不允许有子表;表中的任意两行不能完全相同。
数据库技术与应用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.第2章关系数据库4. (1)(2)(3)(4)(5)5.(1)(2)(3)第四章关系数据库4.第五章数据库设计1. 数据库系统的设计分为哪几个阶段?各阶段完成的具体任务是什么?答:(1)系统需求分析阶段:要收集数据库所有用户的信息内容和处理要求,并加以规划和分析。
(2)概念结构设计阶段:是把用户的信息要求统一到一个整体逻辑结构中,此结构能够表达用户的要求,是一个独立于任何DBMS软件和硬件的概念模型。
(3)逻辑结构设计阶段:是将上一步所得到的概念模型转换为某个DBMS所支持的数据模型,并对其进行优化。
(4)物理结构设计阶段:是为逻辑数据模型建立一个完整的能实现的数据库结构,包括存储结构和存取方法。
(5)数据库实施阶段:根据物理结构设计的结果把原始数据装入数据库,建立一个具体的数据库并编写和调试相应的应用程序。
(6)数据库运行与维护阶段:主要是收集和记录实际系统运行的数据,用来评价数据库系统的性能,进一步调整和修改数据库。
2. 数据库结构设计的任务是什么?分别形成的数据库模式是什么?答:数据库的结构设计是指根据给定的应用环境,进行数据库的模式或子模式的设计。
它包括数据库的概念设计、逻辑设计和物理设计。
数据库结构设计的不同阶段形成了数据库的各级模式,即:(1)在概念设计阶段形成独立于机器特点,独立于个DBMS产品的概念模式,在本篇中就是E-R 图;(2)在逻辑设计阶段将E-R图转换成具体产品支持的数据模型,如关系模型,形成数据库逻辑模式,然后在基本表的基础上再建立必要的视图,形成数据的外模式;(3)在物理设计阶段,根据DBMS特点和处理的需要,进行物理存储安排,建立索引,形成数据库内模式。
3.数据库设计过程的输入和输出有哪些内容?答:数据库设计过程的输入包括四部分内容:1)总体信息需求;2)处理需求;(3)DBMS的特征;(4)硬件和OS(操作系统)特征。
《数据库应用技术》作业及答案

《数据库应用技术》作业及答案第一章思考与练习题一、选择题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、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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));CREATESCHEMA Part_schemaCREATE TABLEPart(PnoCHAR(7)PRIMARY KEY,PnameCHAR(20) NOT NULL,Color CHAR(10),WeightSMALLINT CHECK(Weight <=100));CREATE SCHEMA Project_schemaCREATE TABLEProject( JnoCHAR(7)PRIMARYKEY,Jname CHAR(20)NOT NULL,Jaddress CHAR(30));CREATESHEMA SPJ_shemaCREATE TABLESPJ( Sno CHAR(5),Pno CHAR(7),Jno CHAR(7),QuantitySMALLINT,PRIMARY KEY(Sno,Pno,Jno),FOREIGN KEY (Sno)REFERENCESSupplier(Sno),FOREIGN KEY (Pno) REFERENCESPart(Pno),FOREIGN KEY (Jno) REFERENCESProject(Jno));5、在关系数据库系统中,当操作违反实体完整性、参照完整性与用户自定义得完整性约束条件时,一般就是如何分别进行处理得。
解:(1) 按实体完整性规则自动进行检查。
包括:①检查主码值就是否唯一,如果不唯一则拒绝插入或修改.②检查主码得各个属性就是否为空,只要有一个为空就拒绝插入或修改.(2)按参照完整性检查,违约处理得策略如下:①拒绝(NO ACTION)执行。
不允许该操作执行,该策略一般设置为默认策略。
在被参照关系中删除元组:仅当参照关系中没有任何元组得外码值与被参照关系中要删除元组得主码值相同时,系统才执行删除操作,否则拒绝此操作.②级联(CASCADE)操作. 当删除或修改被参照表得一个元组造成了与参照表得不一致,则删除或修改参照表中得所有造成不一致得元组。
级联操作必须在定义外码时给出显式定义。
③设置为空值(SETNULL)。
当删除或修改被参照表得一个元组时造成了不一致,则将参照表中得所有造成不一致得元组得对应属性设置为空值。
④置空值删除(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修改学生学号得查询权限得控制语句为:REVOKEUPDA TE(Sno)ON TABLE StudentFROMU3;10、使用角色有什么好处?涉及角色得SQL语句有哪些?解:使用角色得好处:数据库角色就是指被命名得一组与数据库操作相关得权限。
角色就是权限得集合,可以为一组具有相同权限得用户创建一个角色,角色简化了授权操作。
使用角色进行授权必须先创建角色,将数据库对象上得存取权限授予角色,才能将角色授予用户,使得用户拥有角色所具有得所有存取权限.对一个角色授予、拒绝或废除得权限也适用于该角色得任何成员.涉及角色得SQL语句有:角色得创建CREATEROLE 〈角色名>给角色授权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 ALLPRIVILEGESON TABLE雇员,部门TOWangHong;WITHGRANT OPTION;②允许所有用户查询部门关系:GRANT SELECT ON TABLE部门TOPUBLIC;③允许所有用户查询雇员关系中除员工号、年龄与工资之外得所有属性:GRANT SELECT(姓名,部门号,职务)ON TABLE雇员TOPUBLIC;④允许LiLan对雇员关系中得工资属性进行修改:GRANT UPDATE(工资) ON TABLE部门TO LiLan;⑤定义一个角色Manager,可以对部门关系进行任何操作,对雇员关系除了不能修改工资外,可以进行任何操作:CREATE ROLE Manager;GRANTALL PRIVILEGESONTABLE雇员,部门TOWangHong;REVOKE UPDATE(工资) ON TABLE部门FROM Manager;⑥SongHua就是秘书,拥有角色Manager得权限:GRANTManagerTO SongHua;⑦收回(1)~(4)得授权.REVOKE ALLPRIVILEGESONTABLE雇员, 部门FROMWangHong;REVOKE SELECT ON TABLE部门FROM PUBLIC;REVOKESELECT(姓名,部门号,职务)ONTABLE雇员FROM PUBLIC;REVOKE UPDATE(工资)ON TABLE部门FROMLiLan;⑧不允许角色Manager修改雇员得职务属性值:REVOKEUPDATE(职务) ONTABLE雇员FROM Manager;。