sql中表达完整性约束的规则主要有哪几种
1、实体完整性:规定表的每一行在表中是惟一的实体。
2、域完整性:是指表中的列必须满足某种特定的数据类型约束,其中约束又包括取值范围、精度等规定。
3、 参照完整性:是指两个表的主关键字和外关键字的数据应一致,保证了表之间的数据的一致性,防止了数据丢失或无意义的数据在数据库中扩散。
4、用户定义的完整性:不同的关系数据库系统根据其应用环境的不同,往往还需要一些特殊的约束条件。用户定义的完整性即是针对某个特定关系数据库的约束条件,它反映某一具体应用必须满足的语义要求。
扩展资料
完整性约束的类型介绍:
1、与表有关的约束:是表中定义的一种约束。可在列定义时定义该约束,此时称为列约束,也可以在表定义时定义约束,此时称为表约束。
2、域(Domain)约束:在域定义中被定义的一种约束,它与在特定域中定义的任何列都有关系。
3、断言(Assertion):在断言定义时定义的一种约束,它可以与一个或多个表进行关联。
关系的完整性约束通常包括域完整性,实体完整性、参照完整性和用户定义完整性。
1、域完整性,是保证数据库字段取值的合理性,是最简单、最基本的约束。
2、实体完整性,作用是指在传输、存储信息或数据的过程中,确保信息或数据不被未授权的篡改或在篡改后能够被迅速发现。
3、参照完整性,作用是定义建立关系之间联系的主关键字与外部关键字引用的约束条件。关系数据库中通常都包含多个存在相互联系的关系,关系与关系之间的联系是通过公共属性来实现的。
4、用户定义完整性作用是根据应用环境的要求和实际的需要,对某一具体应用所涉及的数据提出约束性条件。
扩展资料:
关系完整性模型
关系完整性模型中常用的关系操作包括:选择、投影、连接、并、交、差等查询操作和增加、删除、修改操作两大部分。查询的表达能力是其中最重要的部分。
关系操作的的特点是集合操作方式,即操作对象和结构都是集合。这种操作方式也为一次一集合的方式。相应地,非关系数据模型的数据操作方式则为一次一记录的方式。
参考资料来源:
sql约束性分为实体完整性,参照完整性,用户定义完整性,删除约束
实体完整性
1.建表时定义主键
Create table 表名
(
Sno int identity(1,1),
Sname nvarchar(20),
--设置主键
Primary key (Sno)
)
2.添加主键
alter table 表名
add constraint PK_表名_Sno
primary key(id)
参照完整性
1.建表时定义外键
create table 表名
(
sno int identity(1,1) primary key,
cno int not null,
foreign key(cno) References
表名2(Cno)
on Delete cascade --级联删除
on update cascade --级联更新
-- on delete on action 删除管制
)
2.添加外键
alter table 表名
add constraint FK_表名_表名2
Foreign key(cid) references 表名2(cid)
用户定义完整性
非空约束
alter table 表名
alter column name varchar(20) not null
2.唯一约束
alter table 表名
add constraint UQ_表名_列名 unique(列)
3.检查约束
alter table 表名
add constraint CK_表名_列名 check(age>5)
4.默认约束
alter table 表名
add constraint DF_表名_列名 default('男')
for gender
删除约束 --删除约束
alter table 表名 drop constraint DF_表名_列
实体完整性:又称行完整性,要求在表中不能存在完全相同的行,而且每行都要具有一个非空且又不重复的主键值。
参照完整性:又称引用完整性,指表间的规则,作用于有关联的两个或两个以上的表,通过使用主键和外键(或唯一键)之间的关系,使表中的键值在相关表中保持一致。
用户自定义完整性:指针对某一具体关系数据库的约束条件,它反映某一具体应用所涉及的数据必须满足的语义要求。