5 数据库完整性(上)

 ̄綄美尐妖づ 提交于 2019-11-29 05:42:11

数据库完整性

  1. 完整性指数据的正确性和相容性
  2. 完整性:为了防止数据库中存在不符合语义的数据,不正确的数据
  3. 安全性:保护数据库恶意破会和非法存取
  4. 维护完整性,数据库系统必须实现 如下功能
    1. 提供定义完整性的约束条件机制:由sql数据定义语言实现,作为数据库模式的一部分存入数据字典
    2. 完整性检查的方法: 在insert ,update,delete语句执行后开始检查,也可以在事务提交时检查
    3. 违约处理: 发现用户的操作违背了完整性约束条件将采取一定的动作,如拒绝(no action)操作或(cascade)级联其他操作

sql 语言如何实现完整性控制的方法

5. 1 实体完整性

5.1.1定义实体完整性

多个属性构成的码只能定义为表级约束
create table student (sno char(9)) primary key, //列级约束
sname char20) not null

);或者
create table student (sno char(9),sname char(20) not null

primary key(sno) // 表级约束

create table student (sno char(9) not null,sname char(20) not null,
…, priamry key(sno,sname));

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

实体完整性自动检查:
1. 主码值是否唯一:全表扫描非常费时间,建立主码B+树索引
2. 主码的属性是否为空

5.2 参照完整性

5.2.1 定义参照完整性

关系模型的参照完整性在create table 中用foreign key短语定义那些列为外码,用references 短语指明 这些外码参照哪些表的主码
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)

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

参zhao

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!