数据库约束
数据库约束是为了保证数据的完整性而实现的一套机制,根据不同数据库的实现而有不同的工具。
1、检查约束:
在定义数据表的时候,在字段级或者表级加入检查约束,使其满足特定的要求。
CRATE TABLE student( id serial, name varchar(10), scrore integer CHECK (scrore > 0)); --------定义分数不能小于等于0,
2、非空约束:
即不为null,在字段后面直接加 not null 即可 。
3、唯一性约束:
定义一个唯一性约束,但并不包括 NULL值,直接在字段定义后加入 unique 即可定义。
4、主键约束:
实质就是 唯一性约束+非空约束。
数据库完整性
完整性包括域完整性、实体完整性、参照完整性和用放到户定义完整性。
1、域完整性约束:
域完整性是保证数据库字段取值的合理性。属性的值应该在域的定义区间。这是关系模式规定的,除此之外,一个属性能否为NULL,这是由语义决定的,也是域完整性约束的主要内容。
2、实体完整性
实体完整性是指关系的主关键字不能重复也不能为NULL。
3、参照完整性
参照完整性是定义建立关系之间联系的主关键字与外部关键字引用的约束条件。
实体完整性和参照完整性适用于任何关系型数据库系统,它主要是针对关系的主关键字和外部关键字取值必须有效而做出的约束。
4、用户定义完整性
用户定义完整性是根据应用环境的要求和实际的需要,对某一具体应用所涉及的数据提出约束性条件。是关于用户的,一般由实际情况来定义的,例如:人的年龄0——100。用户定义完整性主要包括字段有效性约束和记录有效性。