数据库设计心得
- 数据库设计主要包括的几个阶段:
-
- 需求分析阶段,要处理的数据包括:需求文档、数字字典、数据流图等。
- 概念设计阶段,即用E-R图来描述概念模型
- 逻辑设计阶段,即创建某种数据模型并进行优化
- 物理设计阶段,包括存储安排、方法选择、存取路径建立
- 数据库实施阶段,包括编写模式、数据装入、数据库试运行
- 数据库运行维护阶段,包括性能检测、转储、恢复,数据库重组和重构
- 设计概念模型E-R图时,实体之间的联系:
-
- 一对一联系:可用单独的一个表进行存储
- 一对多联系:可用一个或者两个表进行存储
- 多对多联系:必须增加额外的关系表来减少数据的冗余,即使用三个表进行存储。例如我们项目做得微图书销售微信小程序,一个订单可能包含多本图书,一本图书也可能包含在多个订单中,这就是一个多对多的联系,除了需要创建订单表和图书表,还需要创建订单明细表
- 设计数据库是要保证数据库的正确性问题和完整性问题:
-
- 主键约束,数据表中的主键要唯一且值不能为空
- 外键约束,如果数据表中有外键,则外键值不能为空
- 域约束,数据表中字段要有正确的数据类型,即合法值的集合
- 业务规则约束,数据库中存在额外的业务规则需要满足。比如我们项目中,用户购买图书时,只有满足一定的VIP等级才能进行打折等等。
- 数据库设计必须满足的三个范式:
-
- 第一范式:如果关系的每一个属性都是单值的,则该关系满足第一范式。第一范式是对关系的最基本的要求。
- 第二范式:如果关系满足第一范式,并且所有的非主键属性都完全依赖于主键属性,则关系就满足第二范式。
- 如果满足第二范式,而且该关系的非主键属性都不传递依赖于主键属性,则该关系满足第三范式。
- 心得:
- 我们项目关于数据库的设计是一个重点,虽然我们花费了一周多的时间来设计并完善数据库的设计,但是这是一个很有意义的过程。通过全程参与从概念设计到逻辑设计再到物理设计的整个过程,慢慢地掌握了数据库设计的流程和步骤。虽然还没系统学过数据库的设计,但是通过从做中学,一点一滴,一步一步地去学习并完成设计,并解决数据库设计中遇到的问题,不断提高了自己对数据库设计的认识和理解,也提高了团队合作的能力。
原文地址:https://www.cnblogs.com/huangfuzhi/p/9982404.html