在了解关系型数据库,与后端开发流程后,我想到了现实课程中学到的数据库设计流程,对视频中的知识也算是一个小小的拓展与补充。
需求分析
定义数据项字典
数据项字典=数据项+数据结构+数据流+数据存储+处理过程
概念数据库设计
包括概念数据库模式设计与事务设计
实体联系模型:ER模型
- 实体:ER模型基本对象
- 属性:属于实体,是数据库中存储的数据
- 联系:实体间的关联
- 映射基数:1:1, n:n, 1:n
- ISA联系:一个实体集是另一个实体集的子类型
概念数据库设计的基本步骤
- 确定实体集,属性,主键
- 确认实体集间联系与相关约束
- 形成ER图
视图综合设计方法
局部概念模式设计+形成局部ER图 全局概念模式的合成:识别局部ER图间的冲突,修改局部模式,合并,消除冗余
事务设计
逻辑数据库设计
形成初始关系数据库模式,函数依赖与关系模式规范化 关系模式优化,定义约束,等等
将实体,联系变换为关系模式
关系数据库设计理论
函数依赖:对2个元组t1,t2,若t1[X]=t2[X],则t1[Y]=t2[Y],称属性集X函数确定属性集Y,或Y函数依赖于X,记作X->Y。(若Y不是X的子集,称非平凡函数依赖,没有特别声明都是讨论非平凡函数依赖)
若对于X的任意真子集Z,Z->Y均不成立,则称Y完全函数依赖X。若不完全则为部分函数依赖。
X-Y,Y-Z,称Z传递地依赖X
函数依赖集合:逻辑蕴含
函数依赖的公理系统
- XF+:X关于函数依赖集F的闭包
- 候选键
- L,R,N,LR类属性
- 极小函数依赖集
关系模式的规范形式
1NF 2NF:+R中非键属性完全函数依赖于候选键 3NF:+R中任何非键属性都都不传递地依赖于任何候选键 BCNF:+X->Y有X必含候选键