数据库系统概论四

                                                           数据库安全性

数据库的不安全因素

1.非授权用户对数据库的恶意存取和破坏

2.数据库中重要或敏感的数据被泄露

3.安全环境的脆弱性

数据库安全性控制的常用方法

用户标识和鉴定

存取控制

视图

审计

数据加密

自助存取控制方法

通过 SQL GRANT 语句和REVOKE 语句实现

用户权限组成

数据对象

操作类型

定义用户存取权限:定义用户可以在哪些数据库对象上进行哪些类型的操作

定义存取权限称为授权

对象类型

对象

操 作 类 型

 

数据库

 

模式

模式

CREATE SCHEMA

基本表

CREATE TABLEALTER TABLE

视图

CREATE VIEW

索引

CREATE INDEX

 

 

   数据

基本表和视图

SELECTINSERTUPDATEDELETEREFERENCES

ALL PRIVILEGES

属性列

SELECTINSERTUPDATEREFERENCESALL PRIVILEGES

授权与回收

1.GRANT

GRANT语句的一般格式:

GRANT <权限>[,<权限>]...

       ON <对象类型> <对象名>[,<对象类型> <对象名>]…

       TO <用户>[,<用户>]...

       [WITH GRANT OPTION];

语义:将对指定操作对象的指定操作权限授予指定的用户

2.REVOKE

授予的权限可以由数据库管理员或其他授权者用REVOKE语句收回

REVOKE语句的一般格式为:

    REVOKE <权限>[,<权限>]...

    ON <对象类型> <对象名>[,<对象类型><对象名>]…

    FROM <用户>[,<用户>]...[CASCADE | RESTRICT];

1.角色的创建

CREATE  ROLE  <角色名>

 

2.给角色授权

 GRANT  <权限>[,<权限>]…

 ON <对象类型>对象名 

 TO <角色>[,<角色>]…

3.将一个角色授予其他的角色或用户

GRANT  <角色1>[,<角色2>]…

TO  <角色3>[,<用户1>]…

[WITH ADMIN OPTION]

4.角色权限的收回

REVOKE <权限>[,<权限>]…

ON <对象类型> <对象名>

FROM <角色>[,<角色>]…

实现数据库系统安全性的技术和方法

用户身份鉴别

存取控制技术:自主存取控制和强制存取控制

视图技术

审计技术

数据加密存储和加密传输

                                                    数据库完整性

数据的完整性

防止数据库中存在不符合语义的数据,也就是防止数据库中存在不正确的数据

防范对象:不合语义的、不正确的数据

1.完整性约束命名子句

CONSTRAINT <完整性约束条件名><完整性约束条件>

<完整性约束条件>包括NOT NULLUNIQUEPRIMARY KEY短语、FOREIGN KEY短语、CHECK短语等

2. 修改表中的完整性限制

使用ALTER TABLE语句修改表中的完整性限制

1. 创建断言的语句格式

CREATE ASSERTION<断言名><CHECK 子句>

每个断言都被赋予一个名字,<CHECK 子句>中的约束条件与WHERE子句的条件表达式类似。

2. 删除断言的语句格式为

DROP ASSERTION <断言名>;

定义触发器

CREATE TRIGGER语法格式

     CREATE TRIGGER <触发器名

       {BEFORE | AFTER} <触发事件> ON <表名>

       REFERENCING NEW|OLD ROW AS<变量>

       FOR EACH  {ROW | STATEMENT}

       [WHEN <触发条件>]<触发动作体>

 

删除触发器的SQL语法:

     DROP TRIGGER <触发器名> ON <表名>;

QL语法:

     DROP TRIGGER <触发器名> ON <表名>;

关系数据库管理系统完整性实现的机制

完整性约束定义机制

完整性检查机制

违背完整性约束条件时关系数据库管理系统应采取的动作

 

猜你喜欢

转载自blog.csdn.net/qq_20017379/article/details/84289280