首页 > 代码库 > 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(目录)