数据库第五章——数据库完整性

数据库第五章——数据库完整性

数据库的完整性(integrity)是只数据的正确性(correctness)和相容性(compat-ability)。正确性是指数据是符合现实世界语义、翻译当前实际状况的,相容性是指数据库同一对象在不同关系表中的数据是符合逻辑的。

一、实体完整性

1.定义实体完整性

实体完整性在CREATE TABLE再用PRIMARY KEY定义。有两种方式:

//1.定义列属性时用列级约束条件
CREATE TABLE Student
(Sno CHAR(9) PRIMARY KEY,
 Sname CHAR(20) NOT NULL,
 Ssex CHAR(2)
);

//2.用表级约束条件定义
CREATE TABLE Student
(Sno CHAR(9) ,
 Sname CHAR(20) NOT NULL,
 Ssex CHAR(2),
 PRIMARY KEY (Sno)
);

//当定义多个为主码时,只能用第二种
CREATE TABLE SC
(Sno CHAR(9) NOT NULL,
 Cno CHAR(4) NOT NULL,
 Grade SMALLINT,
 PRIMARY KEY (Sno,Cno)
);

2.实体完整性检查和违约处理

  • 检查主码值是否唯一,如果不唯一则拒绝插入或修改;
  • 检查主码的各个属性是否为空,如果一个为空则拒绝插入或修改。

二、参照完整性

1.定义参照完整性

实体完整性在CREATE TABLE再用FOREIGN KEY定义。

CREATE TABLE SC
(Sno CHAR(9) NOT NULL,
 Cno CHAR(4) NOT NULL,
 Grade SMALLINT,
 PRIMARY KEY (Sno,Cno),
 FOREIGN KEY (Sno) REFERENCES Student(Sno),
 FOREIGN KEY (Cno) REFERENCES Course(Cno)
);

2.参照完整性检查和违约处理

在这里插入图片描述

三、用户定义的完整性

1.属性上的约束条件

(1)属性上约束条件的定义
(2)属性上约束条件的检查和违约处理

2.元组上的约束条件

(1)元组上约束条件的定义
(2)元组上约束条件的检查和违约处理

四、完整性约束命名子句

1.完整性约束命名子句

2.修改表中的完整性约束

五、域中的完整性限制

六、断言

1.创建断言的语句格式

2.删除断言的语句格式

七、触发器

1.定义触发器

2.激活触发器

3.删除触发器

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值