一、数据库三级模式
三个抽象层次:
1. 视图层:最高层次的抽象,描述整个数据库的某个部分的数据
2. 逻辑层:描述数据库中存储的数据以及这些数据存在的关联
3. 物理层:最低层次的抽象,描述数据在存储器中时如何存储的
数据库的三级模式:
1. 外模式(用户模式、子模式):用户与数据库系统的接口,是用户需要使用的部分数
据的描述
2. 概念模式(模式):数据库中全部数据的逻辑结构和特征的描述,反应数据库的结构
及其联系,是相对稳定的
3. 内模式(存储模式):是数据物理结构和存储方式的描述,是数据在数据库内部的表
示方式。定义所有的内部记录类型、索引和文件的组织方式以及数据控制方面的细节。
二、关系型数据库
关系模型是关系型数据的基础
关系模型组层:关系数据结构、关系操作集合、关系完整性规则
关系的完整性约束:
完整性规则保证当授权用户对数据做修改时不会破坏数据的一致性,防止数据的意外破
坏。分为:
实体完整性:要求每个表必须有主键,且组建必须唯一且非空
参照完整性:实体之间的连续描述
用户定义完整性:由应用环境决定的因素(如年纪必须大于0)
关系运算:
并(Union),差(difference),交(Intersection)与数学中的概念类似
笛卡尔积:R为n目的元数,S的m目的元数,R×S为(n+m)目的元组集合
投影(Projection):垂直方向上(列)的运算
选择(Selection):水平方向上(行)的运算
连接(Join):
θ连接:笛卡尔积中选取属性满足一定条件的元组
等值链接:θ为“=”时
自然连接:两个关系中进行比较的分量必须是相同的属性组,别再结果中去掉重复
的
除:同时进行水平和垂直方向上的运算。给丁关系R(X,Y)和S(Y,Z)。则R➗S应当
满足元组在X的分量值x包含在S在属性组Y上投影的集合。
外连接:
左外连接:用左侧原则去匹配右侧原则,空值用null填充
右外连接:用右侧原则去匹配左侧原则,空值用null填充
全外连接:先进行左外连接,再进行右外连接
规范化(数据库范式)
第一范式(1NF):
若关系模式R的每个分量都是不可再分的数据项,则R属于第一范式
1NF存在的问题:1. 数据冗余度大;2. 插入一场;3.修改一场;4. 删除异常
第二范式(2NF):
若关系模式R属于1NF,且每个非主属性完全依赖于码,则关系模式属于第二范
式,即1NF消除了非主属性对码的部分函数依赖。(每个非主属性必须用所有的码才能
推导出,而不是部分码就可以推导出)
第三范式(3NF):
当2NF的前提下,消除了非主属性对码的传递函数依赖(非主属性不能通过其他非
主属性推导得出)
BCNF(巴克斯范式):
当3NF消除了主属性对码的部分函数依赖和传递函数依赖,(第三范式下,消除主
键之间的依赖关系)特性如下:
1. 所有非主属性对每一个码都是完全函数依赖;
2. 所有非主属性对每一个不包含它的码,也是完全函数依赖
3. 没有任务属性完全函数依赖于非码的任何一组属性
第四范式(4NF):
限制关系模式的属性间不允许有非平凡且非函数依赖的多值依赖