王珊《数据库系统概论》(第4版)章节专项练习及详解
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

第4章 数据库安全性

一、选择题

1下述哪一个SQL语句用于实现数据存取的安全机制(  )。

A.COMMIT

B.ROLLBACK

C.GRANT

D.CREATE TABLE

【答案】C

【解析】COMMIT是向数据库递交数据,ROLLBACK是回滚数据,CREATE TABLE是创建表,而GRANT是用来对用户权限进行管理,可以实现数据存取的安全机制。

2关于登录账号和数据库用户,下列各项表述不正确的是(  )。

A.登录账号是在服务器级创建的,数据库用户是在数据库级创建的

B.创建数据库用户时必须存在该用户的登录账号

C.数据库用户和登录账号必须同名

D.一个登录账号可以对应多个数据库用户

【答案】C

【解析】登录账户属于SQL Server服务安全防线,用户只有拥有SQL Server服务登录账户,才能与SQL Server建立链接;数据库用户属于SQL Server数据库安全防线,SQL Server中的每个数据库都有自己的用户和角色,该数据库只能由它的用户和角色访问。它们是不同级别的账号,它们需要绑定,创建数据库用户时必须存在该用户的登录账号,一个登录账号可以对应多个数据库用户,但不需要同名。

3关于SQL Server的数据库角色叙述正确的是(  )。

A.用户可以自定义固定角色

B.数据库角色是系统自带的,用户一般不可以自定义

C.每个用户只能拥有一个角色

D.角色用来简化将很多用户权限分配给很多用户这一复杂任务的管理

【答案】D

【解析】服务器级的角色建立在SQL服务器上,是系统预定义的,用户不能创建服务器角色,只能选择合适的服务器角色,但能定义数据库角色;一个数据库用户可以出现在多种角色中;角色是多权限分配给多用户这一复杂任务的管理方式。

4关于SQL Server的数据库权限叙述不正确的是(  )。

A.SQL Server数据库的对象权限可以用GRANT分配,而语句权限不可以用GRANT分配

B.服务器权限能通过固定服务器角色进行分配,不能单独分配给用户

C.系统管理员能使用SQL Server执行任何任务

D.每个用户可以被分配若干权限,并且有可能把权限赋予其他用户

【答案】A

【解析】服务器级的角色建立在SQL服务器上,是系统预定义的,用户不能创建服务器角色,只能选择合适的服务器角色,SQL Server的数据库权限可以分为数据库对象权限和语句权限,对象权限和语句权限都可以通过GRANT和REVOKE来分配和收回,系统管理员具有最高的权限。

5保护数据库,防止未经授权或不合法的使用造成的数据泄漏、非法更改或破坏。这是指数据的(  )。

A.安全性

B.完整性

C.并发控制

D.恢复

【答案】A

【解析】数据安全性是指防止未经授权或不合法的用户使用数据库。

6用于实现数据存取安全性的SQL语句是(  )。

A.CREATE TABLE

B.COMMIT

C.GRANT和REVOKE

D.ROLLBACK

【答案】C

【解析】CREATE TABLE是建立基表的语句;COMMIT是提交事务的语句;ROLLBACK是回滚事务的语句;GRANT是授权语句,REVOKE是回收权限的语句。

7采用定义视图的机制在数据控制方面要解决的问题是(  )。

A.数据安全性

B.数据完整性

C.数据库恢复

D.数据库并发控制

【答案】A

【解析】采用定义视图的机制在数据控制方面要解决的问题是数据安全性。

二、填空题

1数据的安全性是指(  )。

【答案】保护数据库,防止未经授权或不合法的使用造成的数据泄漏、更改或破坏

2安全性控制的一般方法有(  )、(  )、(  )、和(  )视图的保护五级安全措施。

【答案】用户标识与系统鉴定;存取控制;审计;数据加密

3(  )和(  )一起组成了安全性子系统。

【答案】用户权限定义;合法权检查机制

4在SQL语言中,为了数据库的安全性,设置了对数据的存取进行控制的语句,对用户授权使用(  )语句,收回所授的权限使用(  )语句。

【答案】GRANT;REVOKE

5(  )、(  )、(  )和是计算机系统中的三类安全性。

【答案】技术安全类;管理安全类;政策法律类安全性

三、判断题

1DBMS提供授权功能控制不同用户访问数据的权限,主要目的是为了实现数据库的完整性。(  )

【答案】×

【解析】DBMS提供授权功能控制不同用户访问数据的权限,主要目的是为了实现数据库的安全性。

2SQL Server有两种安全性认证模式:Windows NT和SQL Server。(  )

【答案】×

【解析】SQL Server的安全性认证模式有两种:混合模式和集成模式。混合模式允许使用windows NT安全性认证模式或者SQL Server安全性认证模式,而集成模式只能够使用windows NT安全认证模式。SQL Server的缺省安全模式为混合模式。

3视图机制虽然有一定的安全保护功能,但不精细,往往不能达到应用系统的要求。(  )

【答案】

四、问答题

1什么是数据库的安全性?有哪些安全措施?

答:(1)数据库的安全性是指保护数据库,防止不合法的使用,以免数据的泄漏、非法更改和破坏。、

(2)数据库安全性控制的方法

用户标识与系统鉴定:DBMS都要提供一定的方式供用户标识自己。在存取数据库的数据之前,用户首先要自我标识,系统对用户的标识进行核定,通过鉴定后,才提供数据库的使用权。常用的标识方法是用户名和口令字。

存取权限的控制:用户被获准使用数据库之后,还要根据预定的用户权限进行存取控制,如某个用户只能读哪些数据库表,某个用户只能写哪些数据库表等。

数据加密:以密码的方式存储数据。

2假设已建立了学生基本表Student(Sno,Sname,Ssex,Sage,Sdept),课程基本表Course(Cno,Cname,Ccredit),基本表SC(Sno,Cno,Grade),试用SQL的授权和回收语句完成下列操作:

(1)把查询Student表的权限授予用户U1。

(2)把对Student表和Course表的全部权限授予用户U2和U3。

(3)把对表SC的查询权限授予所有用户。

(4)把查询Student表和修改学生学号的权限授给用户U4。

(5)把对表SC的INSERT权限授予U5,并允许他再将此权限授予其他用户。

(6)DBA把在数据库SC中建立表的权限授予用户U8。

(7)把用户U4修改学生学号的权限收回。

(8)收回所有用户对表SC的查询权限。

(9)把用户U5对SC表的INSERT权限收回。

答:(1)GRANT SELECT ON TABLE Student TO U1;

(2)GRANT ALL PRIVILIGES ON TABLE Student,Course TO U2,U3;

(3)GRANT SELECT ON TABLE SC TO PUBLIC;

(4)GRANT UPDATE(Sno),SELECT ON TABLE Student TO U4;

(5)GRANT INSERT ON TABLE SC TO U5 WITH GRANT OPTION;

(6)GRANT CREATE1:AB ON DATABASE S C TO U8;

(7)REVOKE UPDATE(Sno)ON TABLE Student FROM U4;

(8)REVOKE SELECT ON TABLE SC FROM PUBLIC;

(9)REVOKE INSERT ON TABLE SC FROM U5;

3SQL中用户权限有哪几类?并做必要的解释。

答:SQL定义了如下6类用户权限供用户选择使用:

(1)SELECT:允许用户对关系或视图执行SELECT操作。

(2)INSERT:允许用户对关系或视图执行INSERT操作。

(3)DELETE:允许用户对关系或视图执行DELETE操作。

(4)UPDATE:允许用户对关系或视图执行UPDATE操作。

(5)REFERENCES:允许用户在定义新关系时,引用其他关系的主码作为外码。

(6)USAGE:允许用户使用已定义的域。