数据库设计经验浅谈一

根据多年设计经验,我总结了一些应用系统设计套路和大家一起探讨探讨,比较简单,抛转引玉而已
数据库部分:
每次来一个新的系统,做完需求后,总是要设计数据库, 根据业务需求设计表结构,也是有一定套数的,如果不按照这些套数走,总是会系统实施,维护带来问题,教材上的三个范式比较抽象, 我这几年总结下来,觉得数据库设计主要就下面几个类型
两大主要类型,维护类和应用类
维护类有3种类型
代码表 程序里用来进行硬编码的表,这类表一般都可以通过程序里定义枚举,集合类型来代替 常见的设计是id,code,name三字段,这些表在系统初始化的时候,不可以清除数据
基础表 一个系统里面的基础资料,比如职工,科室,部门这些,这类表还有一个特性就是需要分类.常见设计是两个表,表一是实体表,必须的字段是ID,编码code,名称name,备注,删除标志,所在分类 表二是分类表,作用是对实体表进行分类,字段有id,上级编码,是否末级,name,两个表通过表一的所在分类和表二的id进行关联.
基础表最典型的应用就是部门表的设计,部门是个树状结构,设计表结构的时候,新手总爱设计成一个表,带来很多问题,按照基础表模式设计,就可以避免
关系对照表 对两个基础表进行组合, ,其字段有ID,基础表一主键id,基础表二主键id. 典型应用是:要保存职工和部门的关系,设计的时候并不是在职工表里面添个所属部门来关联,而是单独设计一个职工部门关系对照表
应用表 有两大类型,就是大家比较熟悉的主从明细表类型
主表 根据需求来设计,这类表需要的字段除了业务信息外,还需要审核标志,制单人,审核人,操作时间,以及业务流程控制字段
从表 保存主表的详细业务信息,通过主表的ID做关联,往往是一条主表记录关联多条从表记录
应用表典型应用就是管理系统中各种单据的保存
 
关于ID的设计,有两种选择比较好
第一个是 自增长的ID,整形数
第二个是 GUID类型,(在分布式开发时候,推荐使用)
 
在设计一个应用系统的数据库时候,强烈建议先做概念模型,每个表大多数都可以按照上面总结的类型来设计
表的设计规范化后,最大的好处还在于,在开发程序中,针对这五种类型,配合对象持久化技术,就可以开发通用的程序模板,从而提高开发效率
关于表设计和对象设计之间的关系 , 有机会后我也总结一下经验 , 和大家探讨探讨 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值