泛谈数据库设计
数据库设计范式
设计总思路概述
- 纵观全局,详细分析业务的需要,把一些公用的信息提炼出来,做成资源模块
- 根据业务情况,把每个功能做成一个独立的模块,模块的设计才用全库的设计思想
- 模块之间可能有交叉的地方,交叉地方要特别考虑,才用视图,物化试图,或 其他的一些特殊技术以达到耦合性最低
- 把一个业务需求,看作一个对象,然后把对象的属性分类,然后把不同的类别放到
同一个表,把这个对象的公共属性做成一个或几个表以作资源表使用;其实一个数据 库结构就是一个大对象A,大对象A包含若干个较小对象A1到An(功能模块),较小对象又包含若干小对象A11到A1n(具体的表)
数据库设计模式
设计思路(关系)
没有不存在的数据关系,只有想不到的数据结构。我们把数据结构分类归纳为以下几种:
树形结构(自反)
通常来说结构中出现层级关系时,我们可以考虑树形结构
单表性
这里设计的比较简单,满足一个基本的4NF即可。
主从性结构
通常来说是一个主表,通过关系关联一个从表,类似一个星型结构
设计scheme
我们知道常见的设计范式有1NF,2nF,3NF,4NF,这里简单的说一下吧
1NF:
第一范式(确保每列保持原子性) 所有字段值都是不可分解的原子值
2NF:
也就是说在一个数据库表中,一个表中只能保存一种数据,不可以把多种数据保存在同一张数据库表中。得有主键。
3NF:
每一列数据都和主键直接相关,而不能间接相关
demo实例
用Excel 表单设计设计数据库结构
如下表单设计:

按照上述的思路我们可以设计如下思路:
结果如下:

一个主表3个字表,子表见上述框内。
本文深入探讨了数据库设计的基本思路,强调全局分析和模块化设计,以降低耦合性。介绍了数据库设计模式,包括树形结构、单表性和主从性结构,并阐述了1NF至3NF的范式理论。通过Excel表格展示了具体的设计实例,呈现了一个主表与多个子表的关系。
2万+

被折叠的 条评论
为什么被折叠?



