数据库完整性及约束
1、 数据完整性:常用三种类型的约束保证数据完整性有域(列)完整性、实体完整性、引用完整性。
2、 实体完整性:能够唯一标识表中的第一个记录。
保证方法有主键约束、标识约束、唯一约束。
主键约束与唯一约束添加的基本语法
Alter table 表名 addconstraint 约束名 约束类型 具体的约束说明
约束名的取名规则:约束类型_约束字段。
比如主键(Primary Key)约束:PK_StuNo,唯一(Unique Key)约束UQ_StuIdNo。
alter table students
add constraint PK_StudentId primary key (StudentId)
alter table Students
add constraint UQ_StudnetNo unique(studentNo)
3、 域完整性:表中特定列数据的有效性,确保不会输入无效的值。
保证方法有检查约束、限制数据类型、默认值、非空约束。
约束名的取名规则:检查(check key)约束:CK_Age;默认(default key)约束:DF_Address。
alter table students
add constraint CK_Age check (age between 15 and 28)
alter table students
add constraint DF_Address default ('地址不详') for Address
4、 引用完整性:维护表间数据的有效性、完整性。
约束方法:建立外键,关联另一表的主键,即外键约束
约束名的取名规则:外键(foreign key)约束:FK_LoginId
alter table students
add constraint Fk_LoginId foreign key(classid) references studentclass(classid)
5、 外键的使用:要求数据类型、数据长度必须与对应的主键表字段完全一致;添加数据时,要首先添加主键表,再添加外键表;删除数据时,要首先删除外键表数据,再删除主键表数据。
6、 完整数据库创建步骤:
建库—》建表—》主键约束—》域完整性约束—》外键约束
|