什么是数据库设计?
数据库设计就是将数据库中的数据实体及这些数据实体之间的关系,进行规划和结构化的过程。
为什么需要规范的数据库设计?
通过进行规范化的数据库设计,可以消除不必要的数据冗余,获得合理的数据库设计,提高项目的应用性能。
设计数据库的步骤
1、需要分析阶段:分析客户的业务和数据处理需求
2、概要设计阶段:绘制数据库的E-R图,用于在项目团队内部、设计人员和客户之间进行沟通,确认需求信息的正确性和完整性。
3、详细设计阶段:将E-R图转换为多张表,进行逻辑设计,确认各表的主外键,并应用数据库的三大范式进行审核。
无论数据库的大小和复杂程度如何,在进行数据库分析时,都可以参考下列基本步骤:
(1) 收集信息
(2) 标识实体
(3) 标识每个实体需要存储的详细信息
(4) 标识实体之间的关系
注意:实体一般是名词,一个实体只描述意见事情,不能重复出现含义相同的实体。
概要设计----------绘制 E - R 图
1、实体:所谓实体就是指现实世界中具有区分其他事物的特征或属性并与其他事物有联系的事物。
2、属性:属性可以理解为实体的特种。
3、联系:联系是两个或多个实体之间的关联关系。
4、映射基数:映射基数表示通过联系与该实体关联的其他实体的个数。
5、实体关系图:E-R图以图形的方式将数据库的整个逻辑结构表示出来。E-R图的组成包括以下几部分:
-
矩形表示实体集
-
椭圆形表示属性
-
菱形表示联系集
-
直线用来连接属性和实体集,也用来连接实体集和联系集
规范设计
在数据库设计时,有一些专门的规则,称为数据库的设计范式。遵守这些规则,将创建设计良好的数据库。
1、第一范式
第一范式的目标是确保每列的原子性。如果每列(或者每个属性值)都是不可再分的最小数据单元(也称为最小的原子单元),则满足第一范式。
2、第二范式
第二范式在第一范式的基础上更进一层,其目标是确保表中的每列都和主键相关。如果一个关系满足第一范式,并且除了主键以外的其他列全部依赖于该主键,则满足第二范式。
3、第三范式
第三范式的目标是确保每列都和主键列直接相关,而不是间接相关。如果一个关系满足第二范式,并且除了主键以外的其他列都只能依赖于主键列,列和列之间不存在相互依赖关系,则满足第三范式。