Note/大学笔记/数据库系统原理/单元复习资料/数据库复习4.md

55 lines
1.9 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

## 数据库完整性
数据库完整性是指数据的正确性和相容性。
完整性约束 实体完整性 参照完整性 用户定义的完整性
##### 实体完整性
若属性指一个或一组属性A是基本关系R的主属性则A不能取空值。所谓空值就是“不知道” “不存在” 或者“无意义”的值。
关系模型的实体完整性在 create table 中用primary key定义。
###### 实体完整性检查和违约处理
1检查主码值是否唯一如果不唯一则拒绝插入和修改
2检查主码的各个属性是否为空只要有一个为空就拒绝插入和修改。
##### 参照完整性
设F是基本关系R的一个或一组属性但不是关系R的码Ks是基本关系S的主码。如果F与Ks相对应则称F是R的外码并称基本关系R为参照系基本关系S为被参照系。
若属性或属性组F是基本关系R的外码它与基本关系S的主码Ks相对应基本关系R和S不一定是不同的关系则对于R中的每个元组在F上的值必须
或者取空值
或者等于S中某个原则的主码值
###### 参照完整性检查和违约处理
1 拒绝执行(一般设置为默认策略)
2 级联cascade操作
3 设置为空值
##### 用户定义完整性
用户定义的完整性是针对某一具体关系数据库的约束条件,它反映某一具体应用所涉及的数据必须满足的语义要求。
在create table 中定义属性的同时,可以根据应用要求定义属性上的约束条件,即属性值限制,包括: 列值非空not null列值唯一unique用check短语指定列值应该满足的条件。
#### 完整性约束命名子句
constraint 完整性约束条件名 完整性约束条件
<u>要求 用check短语写约束条件 和外键约束必须掌握</u>
定义触发器
练习 第四上机内容。文件在群里。