软件设计师考点三之数据库系统
- 数据库模式(❤❤)
- ER模型(❤❤❤❤❤)
- 关系代数(❤❤❤)
- 规范化理论(❤❤❤❤❤)
- SQL语言(❤❤❤❤)
- 并发控制(❤❤)
- 数据库完整性约束(❤)
- 数据库安全
- 数据备份
- 根据备份方式分类
- 根据备份数据量分类
数据库模式(❤❤)
- 三级模式
外模式对应视图,模式(概念模式)对应数据库表,内模式对应物理文件 - 两层映像
外模式-模式映像,模式-内模式映像;两层映像可以保证数据库中的数据具有较高的逻辑独立性和物理独立性。 - 独立性
逻辑独立性:即逻辑结构发生改变时,用户程序对外模式的调用可以不做修改;
物理独立性:即数据库的内模式发生改变时,数据的逻辑结构不变。
ER模型(❤❤❤❤❤)
- 概念
E-R图也称实体-联系图(Entity Relationship Diagram),提供了表示实体类型、属性和联系的方法,用来描述现实世界的概念模型。 - 组成部分
- 矩形框:表示实体,在矩形框中写上实体的名字
- 椭圆形框:表示实体或联系的属性
- 菱形框:表示联系,在框中记入联系名
- 连线:实体与属性之间;实体与联系之间;联系与属性之间用直线相连,(对于一对一联系,要在两个实体连线方向各写1; 对于一对多联系,要在一的一方写1,多的一方写N;对于多对多关系,则要在两个实体连线方向各写N,M。)
- 集成方法
- 多个局部E-R图一次集成
- 逐步集成,用累加的方式一次集成两个局部E-R
- 集成冲突及解决办法
- 属性冲突:包括属性域冲突和属性取值冲突
- 命名冲突:包括同名异义和异名同义
- 结构冲突:包括同一对象在不同应用中具有不同的抽象,以及同一实体在不同局部E-R图中所包含的属性个数和属性排列次序不完全相同。
- 注意事项
一个实体型转换为一个关系模式
联系转关系模式(ER图中的联系转换为表结果中的联系)
- 1:1联系:可将联系合并至任意端的实体关系模式中
- 1:n联系:可将联系合并至n端实体关系模式中。
- m:n联系:联系必须单独转换成关系模式
三个以上实体间的一个多元联系
- 例题
三个或三个以上实体间的一个多元联系可以转换为一个关系模式,与该多元联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为各实体码的组合。
关系代数(❤❤❤)
- 并
- 交
- 差
- 笛卡尔积
- 投影
- 选择
- 联接
规范化理论(❤❤❤❤❤)
- 函数依赖
设R(U)是属性U上的一个关系模式,X和Y是U的子集,r为R的任一关系,如果对于r中的任意两个元组u、v,只要有u[X] = v[X],就有u[Y] = v[Y],则称X函数决定Y,或称Y函数依赖于X,记为X->Y。
- 求候选键
- 将关系的函数依赖关系,用"有向图"的方式表示。
- 找出入度为0的属性,并以该属性集合为起点,尝试遍历有向图,若能正常遍历图中所有结点,则该属性集即为关系模式的候选键。
- 若入度为0的属性集不能遍历图中所有结点,则需要尝试性的将一些中间节点(既有入度,也有出度的结点)并入入度为0的属性集中,直至该集合能遍历所有结点,集合为候选键。
- 主属性与非主属性
组成候选码的属性就是主属性,其它的就是非主属性 - 范式
第一范式(1NF)
- 在关系模式R中,当且仅当所有域只包含原子值,即每个属性都是不可再分的数据项,则称关系模式R是第一范式。
第二范式(2NF)
- 当且仅当关系模式R是第一范式(1NF),且每一个非主属性完全依赖候选键(没有不完全依赖)时,则称关系模式R是第二范式。
第三范式(3NF)
- 当且仅当关系模式R是第二范式(2NF),且R中没有非主属性传递依赖于候选键时,则称关系模式R是第三范式。
BC范式(BCNF)
- 设R是一个关系模式,F是它的依赖集,R属于BCNF当且仅当其F中每个依赖的决定因素必定包含R的某个候选码。
- 模式分解
- 无损分解公式法
- 反规范化
由于规范化会使表不断拆分,从而导致数据表过多。这样虽然减少了数据冗余,提高了增删改速度,但会增加查询工作量。系统需要进行多次连接,才能进行查询操作,使得系统效率大大下降。
技术手段
- 增加派生性冗余列
- 增加冗余列
- 重新组表
- 分割表
SQL语言(❤❤❤❤)
并发控制(❤❤)
- 基本概念
- 封锁协议
一级封锁协议
- 事务T在修改数据R之前必须先对其加X锁(排他锁-写锁),直到事务结束才释放。可防止丢失修改
二级封锁协议
- 一级封锁协议加上事务T在读取数据R之前先对其加S锁(共享锁-读锁),读完后可释放S锁。可防止丢失修改,还可防止读"脏"数据
三级封锁协议
- 一级封锁协议加上事务T在读取数据R之前先对其加S锁,直到事务结束才释放锁。可防止丢失修改、防止读"脏"数据与防止数据重复读
两段锁协议
- 可串行化的。可能发生死锁
数据库完整性约束(❤)
数据库安全
- 常用措施
- 用户标识和鉴定
- 存取控制
- 密码存储和传输
- 视图的保护
- 审计
数据备份
根据备份方式分类
- 冷备份
也称静态备份,是将数据库正常关闭,在停止状态下,将数据库的文件全部备份(复制)下来。 - 热备份
热备份也称为动态备份,是利用备份软件,在数据库正常运行的状态下,将数据库中的数据文件备份出来
根据备份数据量分类
- 完全备份
备份所有数据 - 差量备份
仅备份上一次完全备份之后变化的数据 - 增量备份
备份上一次备份之后变化的数据