约束是对表执行对数据的列的规则。这些用于限制哪些数据的类型可以进入的表。这确保数据库中的数据的准确性和可靠性。
约束可能是列级或表级。列级约束仅应用于一列,而表级别约束应用于整个表。
下面是通常用于在SQL中的约束。
NOT NULL 约束: 确保列不能有NULL值。
DEFAULT约束: 提供未指定时为列的默认值。
UNIQUE约束: 确保了在一列中的所有的值是不同(唯一)的。
PRIMARY Key(主键) : 唯一标识数据库表中的每一行/记录。
FOREIGN Key(外键): 唯一标识任何其他数据库表中的行/记录。
CHECK约束: CHECK约束可以确保列中的所有值满足一定的条件。
INDEX索引: 使用非常快速地创建和检索数据库中的数据。
当一个表是用CREATE TABLE语句创建,也可以使用ALTER TABLE语句创建表,即使创建约束后,约束也可以再次指定。
您所定义的任何约束可以使用带有DROP CONSTRAINT选项的ALTER TABLE命令删除。
例如,删除EMPLOYEES表的主键约束,可以使用下面的命令:
ALTER TABLE EMPLOYEES DROP CONSTRAINT EMPLOYEES_PK;
一些实现中可提供用于删除某些约束的快捷方式。例如,要在Oracle表中删除主键约束,可以使用下面的命令:
ALTER TABLE EMPLOYEES DROP PRIMARY KEY;
一些实现中允许禁用约束。而不是从数据库中永久删除约束,您可能需要暂时禁用约束,以后再启用它。
完整性约束用于确保在关系数据库中的准确性和一致性的数据。数据完整性是在关系数据库中,通过参照完整性的概念进行处理。
有许多类型的完整性约束,在参照完整性(RI)中发挥作用。这些限制包括主键,外键,唯一约束和上面提到的其他约束限制。