数据库管理

您所在的位置:网站首页 sql中的完整性约束分为三大类 数据库管理

数据库管理

2024-07-02 05:54| 来源: 网络整理| 查看: 265

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

数据库的完整性

目录:

1.完整性子系统

2.SQL中的完整性约束

 

1.完整性子系统

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

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

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

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

 

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

 

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

 



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3