一.目录
前言
内容
结语
二. 前言
开发人员不懂业务设计就离淘汰不远了!但业界依然存在这一群人,无非就是基础不牢,不思进取,工作多年依然没有带过团队,主导过业务设计。
三.内容
做任何事都有套路,只是迹象明不明显而已。如果说做的项目能用就行也没有问题,只能说明你们还于"农业社会"时期,与时代格格不入。良好的数据库设计会让代码效率高,拓展性强,易用。
设计步骤
需求分析:分析需求方业务和数据。重点准确无误的了解需求方的需求,在实际开发中我推崇全员参与需求说明会,增强团队成员的责任感。
概要设计:确定有多少张表,表与表之间的关系
详细设计:我通常用word模板设计字段,数据类型,索引,主键等一目了然。然后,在项目设计评审会上与团队成员一起评审。
三范式
为什么要有规范呢?无非就以下几种:
统一管理,便沟通,易维护,易传承
坑已经有踩过了,提示你前面就是坑!
第一范式
确保每列的原子性,每列或者属性值都不可再分的的最小数据单元。举例,用户表:id,用户名,性别,年龄。。。每个字段都是最小的单元,不能再细分
第二范式
确保表上的每列都和主键相关。比如用户表,角色表,用户表是不能保存用户角色的,一张表通常只记录一类信息
第三范式
确保每列都和主键直接相关 。主要是Armstrong公理(从已知的一些函数依赖,可以推导出另外一些函数依赖,这就需要一系列推理规则,这些规则常被称作“Armstrong 公理”。)比如,用户表,用户类型表,类型不能存在于‘用户表’
四.结语
在实际项目中会做适当冗余,但要考虑业务拓展性,清楚业务发展方面,综合考虑来选择方案

文章转载自香蜜湖的蜜,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




