首页 > 代码库 > Chapter 7 Integrity(完整性), Views(视图), Security(安全性), and Catalogs(目录)

Chapter 7 Integrity(完整性), Views(视图), Security(安全性), and Catalogs(目录)

 

from Database Design to Physical Form

CREATE TABLE

integrity constraints (完整性约束)

CREATE VIEW

Security

The GRANT & REVOKE statements

Catalogs

Schemas

Introduction

  ->The DBA(数据库管理员) must begin by creating the tables and constraints(约束) and loading the data. Impose(强加上) integrity constraints on the columns 。

  ->Then provide views(视图) of the data, virtually restructuring the physical tables into variant(不同的) table forms, to simplify access to data.

  ->Provide security(安全性), so that only authorized users are able to read or update certain confidential(机密的) data.

  ->The structure of the various tables, views, and other objects of a database are made available to the DBA through a set of system-defined tables, called system catalogs(系统目录).

 

Integrity(完整性)

  ->保证数据完整性(主要指数据的正确性与一致性)是数据库管理员的最重要任务之一。

  ->可以通过约束(Constraint)、规则(Rule)或者缺省值保证数据的完整性,也可以在应用程序层保证数据完整性(这是应用程序设计的问题),或通过触发器保证。

  ->数据完整性类型包括:实体完整性、参照完整性和用户定义完整性  

    ->实体完整性(Entity Integrity) :现实世界的实体是可区分的,即它们具有某种唯一性标识。相应地,关系模型中主键应作为唯一性标识。因此实体完整性规则规定基本关系的所有主键(Primary Key)都不能取空值(NULL) 。

     ->参照完整性(Referential Integrity) :参照完整性维护表与表之间的相关性,通常用“主键(Primary Key)/外键(Foreign Key)”保证,其中Foreign Key可以取NULL值,或取其参照表中Primary Key或者候选键的取值。

    ->用户定义的完整性(User_defined Integrity ):针对某一具体数据的约束条件,由应用环境决定。例如:某个属性具有缺省值、某个属性必须取惟一值(UNIQUE)、某个非主属性不能取NULL值、某个属性的取值范围在0~100之间(CHECK)等等。

  ->数据完整性具体实现包括两类

    ->声明性数据完整性 :声明性数据完整性用约束(Constraint)、规则(Rule) 在数据库中提供保证,这是保证完整性的较好方法。它驻留在数据库内,编程简单,开销小,能更集中管理和保证数据的一致性

    ->过程性数据完整性 :过程性数据完整性用触发器和应用程序代码保证,通常较为复杂、开销较大,但可以执行更多的业务规则。 通常,过程性数据完整性是声明性数据完整性的补充

 

Chapter 7 Integrity(完整性), Views(视图), Security(安全性), and Catalogs(目录)