文章目录
- 第五章,数据库设计
- 一,设计数据库
- 二,E-R图
- 三,数据规范化
第五章,数据库设计
一,设计数据库
-
良好的数据库设计
- 节省数据的存储空间
- 能够保证数据的完整性
- 方便进行数据库应用系统的开发
-
糟糕的数据库设计
- 数据冗余、存储空间浪费
- 内存空间浪费
- 数据更新和插入的异常
-
结论:当数据库比较复杂时我们需要设计数据库
-
软件项目开发周期中数据库设计
-
数据库设计步骤
- 收集信息
- 与该系统有关人员进行交流、座谈,充分了解用户需求,理解数据库需要完成的任务
- 标识实体 (Entity)
- 标识数据库要管理的关键对象或实体,实体一般是名词
- 标识每个实体的属性(Attribute)
- 标识实体之间的关系(Relationship)
- 收集信息
二,E-R图
-
E-R图符号
-
映射基数
-
关系模式
- 用二维表的形式表示实体和实体间联系的数据模型即关系模式
- E-R图转换为关系模式的步骤
- 把每个实体都转化为关系模式R(U)形式
- 建立实体间联系的转换
-
转化E-R图为数据库模型图
- 将各实体转换为对应的表,将各属性转换为各表对应的列
- 标识每个表的主键列
- 在表之间建立主外键,体现实体
三,数据规范化
-
不合规范的表设计
- 信息重复
- 更新异常
- 插入异常:无法正确表示信息
- 删除异常:丢失有效信息
-
第一范式 (1st NF):确保每列的原子性
- 如果每列都是不可再分的最小数据单元(也称为最小的原子单元),则满足第一范式(1NF)
-
第二范式 (2nd NF):要求每个表只描述一件事情
-
第三范式 (3nd NF):满足2NF,并且除了主键以外的其他列都不传递依赖于主键列
-
规范化和性能的关系
- 通过在给定的表中添加额外的字段,以大量减少需要从中搜索信息所需的时间
- 通过在给定的表中插入计算列(如成绩总分),以方便查询
-
在数据规范化同时,要综合考虑数据库的性能