课程名称:数据库设计那些事
课程章节:逻辑设计
课程讲师:sqlercn
课程内容:
什么是逻辑设计?它是干什么的?
- 逻辑设计就是将需求转化为数据库的“逻辑模型”
- 可以通过ER图的形式对逻辑模型进行展示
- 逻辑设计无需考虑某个数据库的特性,这一步的逻辑模型是对所有数据库通用的
ER图名词
- 联系:又称关系,反映实体内部或实体之间的关联;实体内部的联系通常是指组成实体的各属性之间的联系,实体之间的关系通常指不同实体集之间的联系
- 元祖:表中的一行
- 属性:表中的一列就是一个属性,每个属性都有属性名
- 候选码:表中的某个属性或属性组,它可以唯一确定一个元祖
- 主码:又称主键,一个表中可能有多个候选码,选定其中一个为主码
- 域:属性的取值范围
- 分量:元祖中的一个属性值
ER图 - 图形含义
- 矩形:表示实体集
- 椭圆:表示实体的属性,属性名加下划线表示主码
- 菱形:表示联系
- 线段:用线段将属性和实体集、实体集和关系相连
操作异常和数据冗余
- 插入异常:如果某实体随着另一实体的存在而存在,即缺少某个实体时则无法表达这个实体,那么这个表就存在插入异常
- 更新异常:如果更改表所对应的某个实体实例的单独属性时,需要将多行更新,那么就说这个表存在更新异常
- 删除异常:如果删除表中的某一行来反映某实体实例失效时导致另一个不同实体实例信息丢失,那么这个表中就存在删除异常
- 数据冗余:指相同的数据在多个地方存在,或者说表中的某个列可以有其它列计算得到,这样就说表中存在着数据冗余
※第一范式
数据库设计有六种范式,但我们只介绍四种
第一范式定义:数据库表中的所有字段都是单一属性,不可再分的。这个单一属性是由基本的数据类型所构成的;换句话说,第一范式要求数据库中的表都是二维表
※第二范式
定义:数据库表中不存在非关键字段对任一候选关键字段的部分函数依赖;换句话说,所有单关键字段的表都符合第二范式
部分函数依赖是指某个组合关键字(候选码)的其中一个关键字决定非关键字段的值的情况
※第三范式
定义:数据库表中不存在非关键字段对任意候选关键字段的传递函数依赖,则符合第三范式
传递函数依赖是指某个组合关键字或单关键字影响非关键字的值,且该非关键字影响其它非关键字的值的情况
※BC范式
定义:数据库表中不存在任何字段对任一候选关键字段的传递函数依赖,则符合BC范式;也就是说组合关键字之间也不能存在传递函数依赖关系
课程收获
跟着老师学到了数据库的逻辑设计中的范式,在多次做项目的过程中,遇到的一些问题,结合目前所学的内容,认识到了设计阶段的范式要求对于后续编码及数据维护工作的重要性
点击查看更多内容
为 TA 点赞
评论
共同学习,写下你的评论
评论加载中...
作者其他优质文章
正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦