数据库设计
一、设计步骤
1.收集信息(来源项目需求分析)
2.标识实体(一般是需求分析中需要管理的信息名词)
3.标识每个实体的属性
4.实体之间的关系
二、画e-r图(实体关系图)
1.矩形表示实体
2.椭圆表示实体的属性
3.菱形表示实体之间的关系
4.用直线连接实体和属性,实体和实体之间的关系
三、实体之间的关系:
1.一对一 1:1 车和车位
2.一对多 1:N (1:M) 客人和客房
3.多对多 N:M 图书和作者
四、E-R图映射到数据表
1.一般一类实体映射为表
2.实体中的属性映射为表中的列
3.关系的映射:
(1)一对一:映射为一个表,其中一个实体的属性
(2)一对多:每个实体一个表,通过主外键表示关系,如客人和客房,在客人表里添加一个房间号作为外键,客房中的房间号就是主键。
(3)多对多:每个实体一个表,关系映射为一个表
映射3个表,图书表 作者表 关系表
五、用三大范式衡量或规范数据库
1.每列都是一个不可再分的单元(保持原子性) 符合第一大范式
2.在满足第一范式的情况下,每个表只描述一件事,就符合第二范式
3.在满足一二范式的情况下,并且除主键外,其他列都不传递依赖于主键,符合第三范式(除主键外, 所有的列都是直接依赖于主键而不是间接的依赖于主键)
六、数据非规范化设计:
规范化设计的话是把大表拆分成小表,节约空间但同时会降低性能,为了提高性能,进行非规划化设计