这几天看了一下ERP数据库设计,总结几个数据库设计的小技巧。 说实话,ERP系统确实是博大精深,而且对各个不同行业,都有不同的应用设计。 1、大部分表都有的字段: ID:内码,表的唯一主键之一 Code:编码,有的可以用来做主键 Name:名称 State:记录状态 Enabled:是否有效 Desc:描述 Demo:备注 SortID:排序 CreateDate:记录创建日期 CreateUser:记录创建人 ModifyDate:记录更新日期 ModifyUser:记录更新人 2、在同一张表中有父子关系设计比如用一张表表示单位,就是一个树结构因此在树表里面,一般有下面字段: ParentID:父ID Level:记录在本树中的层次 IsLeaf:记录是否是树的叶子节点 3、有数据迁移的表:比如交易类型数据,一般有2张表表示 a、原始表:记录数据最新状态 b、迁移表:记录数据迁移状态 Action:表示数据前移原因 4、在表中字段不足表示的情况下,有2种解决方案: a、预留一定数量字段 这种方案比较简单,使用起来也方便,避免了扩表的麻烦 缺点就是,扩展字段表达意义含糊,而且当扩展 b、采用EAV(Entity Attribute Value)设计:实体、属性、值,数据库模型的一种。 这个扩展方式,动态为数据模型增加或移除属性而不必改变表结构。 但是同时存在问题,解析表字段麻烦,在查询、插入数据时候,会比较复杂。 请大家补充一般设计数据库小技巧。 (责任编辑:IT) |