数据库管理——数据库的完整性

数据库的完整性数据库

目录:测试

1.完整性子系统spa

2.SQL中的完整性约束code

 

1.完整性子系统事务

数据库中完整性一词是指数据的正确性、有效性和相容性,防止错误的数据进入数据库。io

正确性:是指数据的合法性,例如,数值型数据只能包含数字而不能包含字母;语法

有效性:是指数据是否属于所定义的有效范围;方法

相容性:是指表示同一事实的两个数据应相同,不一致就是不相容。数据

 

DBMS必须提供一种功能来保证数据库中的数据时正确的,避免非法的不符合语义的错误数据的输入和输出,即所谓“垃圾进垃圾出”所形成的无效操做和错误操做。检查数据库中的数据是否知足规定的条件称为“完整性检查”。数据库中的数据应该知足的条件称为“完整性约束条件”,有时也称为完整性规则。sse

 

DBMS中执行完整性检查的子系统称为“完整性子系统”。完整性子系统的主要功能有两点

①监督事务的执行,并测试是否违反完整性规则。

②如有违反现象,则采起适当操做,例如,采用拒绝操做,报告违反状况,改正错误等方法处理。

 

2.SQL中的完整性约束

SQL中把完整性约束分红三大类:域约束、基本表约束和断言。

1.域约束

能够用“CREATE DOMAIN”语句定义新的域,而且还能够出现CHECK子句。

例:定义一个新的域COLOR,可用下列语句实现:

CREATE DOMAIN COLOR CHAR(6) DEFAULT'???'
    CONSTRAINT VALID_COLORS
        CHECK(VALUE IN
            ('Red','Yellow','Blue','Green','???'));

2.基本表约束

SQL的基本表约束主要有3中形式:候选键定义、外键定义和“检查约束”定义。这些定义均可以在前面加上“CONSTRAINT<约束名>”,由此为新约束起个名字。

①候选键

UNIQUE (<列名序列>)或PRIMARY KEY (<列名序列>)

②外键

FOREIGN KEY (<列名序列>)
    REFERENCES <参照表> [(<列名序列>)]
        [ON DELETE <参照动做>]
        [ON UPDATE <参照动做>]

③“检查约束”

这种约束是对单个关系的元组值加以约束。方法是在关系定义中任何须要的地方加上关键字CHECK和约束条件。

CHECK(<条件表达式>)

3.断言

若是完整性约束的牵涉面较广,与多个关系有关,或者与聚合操做有关,那么SQL2会提供“断言”(Assertions)机制让用户书写完整性约束。断言能够向关系同样,用CREATE语句定义,其语法以下:

CREATE ASSERTION <断言名> CHECK (<条件>)

DROP ASSERTION <断言名>
相关文章
相关标签/搜索