第三节
1.关系数据库的优点:高级的非过程语言,较好的数据独立性
2.网状模型和层次模型与底层实现的结合紧密,关系模型具有坚实的理论基础,成为主流数据模型
3.关系数据模型的组成要素:关系数据结构、关系操作集合、关系完整性约束。
4.表 是一个二维的数据结构,由表名、列、若干行数据组成;也称为关系
5.关系 一个关系逻辑上对应一张二维表
6.关系的三种类型:基本关系、查询表和视图表。
7.列 也称为字段或属性
8.行 也称为元组或记录
9.码或键 属性的值能用来唯一标识该关系的元组
10.超码或超键 在码中去除某个属性,任然是这个关系的码。关系的所有属性的集合,也是这个关系的最大超码或超键。
11.候选码或候选键 在码中不能从中移去任何一个属性,否则它就不再是这个关系的码或键。
12.外码或外键 某个属性不是这个关系的主码,而是另外一个关系的主码
13.参照关系和被参照关系,参照关系也称为从关系,被参照关系也称为主关系,他们是指以外码相关联的两个关系。
14.基本的关系操作:
检索:查询;
更新:插入、删除、修改
基本操作:选择、投影、并、差、笛卡尔积、连接、除、交。
15.关系语言的分类:关系代数语言、关系演算语言
16.关系操作的三大要素:操作对象,操作符,以及操作集合
第4节
1.关系完成性约束 数据库的完整性是指数据库中的正确性、相容性、一致性。
1)完整性约束的分类
实体完整性约束:主码的组成不能为空,主属性不能是空值NULL
参照完整性约束:定义外码与主码之间的引用规则,要么外码等于主码中的某个元组的主码值,要么为空值
用户完整性约束:域完整性约束(针对某一个应用环境的完整性约束)
2.函数依赖的分类
1)完全函数依赖、设R为任一给定关系,x y 为其属性集,若x->y,且x中的任何真子集x1,都有x1-/->Y没有关系,则称Y完全函数依赖x
2)部分函数依赖、设R为任一给定关系,x y 为其属性集,若x->y,且x中存在一个真子集x1,都有x1到Y没有关系,则称Y完全函数依赖x
3)传递函数依赖、设R为任一给定关系,x y z为其不同属性子集,若x->y,y-/->x,y-z,则x->z,称为z传递函数依赖于x。
3.规范化
第一范式:设R为任一给定关系,若R中的每个列与行的交点处取值都是不可再分的基本元素,则R为第一范式 缺点是冗余高,插入操作异常,删除操作异常
第二范式:设R为任一给定关系,若R为第一范式,且其所有非主属性都完全依赖于候选关键字,则R为第二范式
第三范式:设R为任一给定关系,若R为第二范式,且每一个非主属性都不传递函数依赖于候选关键字,则R为第三范式。
第三范式改进为BCNF:设R为任一给定关系,X y为其属性集,F为其函数依赖集,若R为第三范式,且其F中的所有函数依赖x->y (y不属于x)中的x必包含候选关键字,则R为BCNF
1NF->2NF 拆拆拆 2NF->3NF找到传递函数依赖关系,x,,拆成两个表格 x,y y,z
3NF->BCNF 列出表格中的所有函数依赖关系,每个关系拆出一个表格。