教学单元6 数据库的安全管理

一、选择题

1、下面哪个不是数据库系统必须提供的数据控制功能    。

A.安全性 B.可移植性 C.完整性 D.并发控制   

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

A.安全性 B.完整性 C.并发控制 D.恢复    

3、数据库的__________是指数据的正确性和相容性。

A.安全性 B.完整性 C.并发控制 D.恢复    

4、在数据库系统中,对存取权限的定义称为。

A.命令  B.授权  C.定义  D.审计  

5、数据库管理系统通常提供授权功能来控制不同用户访问数据的权限,这主要是为了实现数据库的    。

A.可靠性 B.一致性 C.完整性 D.安全性     

6、下列SQL语句中,能够实现“只收回用户ZHAO对学生表(STUD)中学号(XH)的修改权”这一功能的是  

A.REVOKE UPDATE(XH) ON TABLE FROM ZHAO  B.REVOKE UPDATE(XH) ON TABLE FROM PUBLIC

C.REVOKE UPDATE(XH) ON STUD FROM ZHAO   D.REVOKE UPDATE(XH) ON STUD FROM PUBLIC

7、把对关系SC的属性GRADE的修改权授予用户ZHAO的SQL语句是     

A)GRANT GRADE ON SC TO ZHAO        B)GRANT UPDATE ON SC TO ZHAO

C)GRANT UPDATE(GRADE) ON SC TO ZHAO   D)GRANT UPDATE ON SC (GRADE) TO ZHAO 

8、撤消事务处理一般用(  )

A.ROLLBACK   B. DROP  C.DELALLOCATE  D. DELETE        

二、填空题

1、保护数据安全性的一般方法是___________________

2、目前比较流行的数据加密技术有_________和________技术。

3、在数据库系统中对存取权限的定义称为_________

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

三、间答题

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

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

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

    4SQL语言中提供可哪些数据控制(自主存取控制)的语句?请试举例说明它们的使用方法。

    5、 什么是数据库的完整性?

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

    7、 什么是数据库的完整性约束条件?的分为哪几类?

    8DBMS的完整性控制应具有哪些功能?

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

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

      职工(职工号,姓名,年龄,职务,工资,部门号),其中职工号为主码;

      部门(部门号,名称,经理名,地址,电话),其中部门号为主码;

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

     1)定义每个模式的主码。

     2)定义参照完整性

    3)定义职工年龄不得超过60岁。

四、思考题

如果要让你为某企业的财务管理系统来设计一个数据库安全保障策略,你该如何进行规划?

 


 

习题六答案

一答:

1,B 2,A  3,B  4,B  5,D 6,C  7,C  8,A

二答:

1答

设置用户标识和存取权限控制

2答

对称加密与非对称加密技术

3答

授权

4答

主键,候选键

三答:

1答

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

2答

数据库安全性是计算机系统的安全性的一个部分,数据库系统不仅要利用计算机系统的安全性保证自己系统的安全性,同时还会提供专门的手段和方法,使安全性能更好。例如,在用户要求进入计算机系统时,系统首先根据用户输入的用户标识进行身份鉴定,只有合法的用户才准许进入计算机系统;对已进入的用户,DBMS还要进行存取控制,只允许用户执行合法操作;操作系统也会提供相应的保护措施;数据最后还可以可以以密码形式存储到数据库中。

3答

     用户标识与鉴别;②存取控制;③自主存取控制方法;④强制存取控制方法;

⑤视图机制;⑥审计;⑦数据加密

4答

        GRANT(授权)语句

例:GRANT SELECT,INSERT ON 学生

TO 张勇

WITH GRANT OPTION;

        REVOKE(收回) 语句

例:REVOKE INSERT ON 学生

    FORM张勇;

5答

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

6答

数据库的完整性是指数据的正确性和相容性。数据库的安全性是指保护数据库,以防止不合法的使用造成的数据泄密、更改或破坏。其相同点是两者都是对数据库中的数据进行控制,各自所实现的功能目标不同。

7答

数据完整性约束是为了保证进入数据库中的数据的有效性而定义的数据规则。它可以分为以下两类:

         针对不同的对象可以分为表级约束、元组级约束和属性级约束(也称列约束):表级约束是若干元组间、关系之间的约束;元组级约束则是元组中的字段组和字段间联系的约束;属性级约束主要是针对列的类型、取值范围、精度、排序等而制定的约束条件。

         针对数据对象的状态可以分为静态约束和动态约束:静态约束是指数据库每仪确定状态时的数据对象所应满足的约束条件,他是反映数据库状态稳定时的约束;动态约束是指数据库从一种状态变为另一种状态时,新、旧值之间所满足的约束条件,它是反映数据库在状态变迁的约束。

8答

     定义和存储完整性功能;②检查完整性功能;③控制完整性功能

9答

     外码能够接受空值的问题;

     在被参照关系中删除元组时,采用级联删除、受限插入、或置空值删除的方法处理参照关系;

     在参照关系中插入元组时,可以使用受限插入、递归插入两种方法处理参照关系;

     参照关系的主码时,可以采用不允许修改主码、或允许修改关系主码。但必须保证主码的唯一性和非空性方法处理参照关系;

     修改被参照关系时,可以采用级联修改、拒绝修改和置空值修改方法处理参照关系。

10答

CREATE TABLE职工(职工号 CHAR(5)PRIMARY KEY,

姓名 CHAR(8)NOT NULL,

年龄SMALLINT,

职务CHAR(10)

工资DECIMAL(7,2),

部门号CHAR(5),

CONSTRAINT C1 CHECK(年龄 <60)),

CONSTRAINT C2 FOREIGN KEY (部门号);)

CREATE TABLE 部门(部门号 CHAR(5)PRIMARY KEY,

名称 CHAR(16),

经理名 CHAR(8),

电话 CHAR(8),

CONSTRAINT C3 FOREINGN KEY (经理名)

REFERENCES 职工(姓名));

四答(略)