数据字典设计规则(未完善)

数据字典设计规则
数据类型规则:
tinyint 类型 -127~128
如果是只有两个状态(0,1)的设置长度为1,或者不设置,Hibernate反向引擎会返回Boolean
如果状态多于2为则设置长度为2(tinyint(2),Hiberante反向引擎会返回Integer
字段设计原则:

1) 每个表中都应该添加的3 个有用的字段,
created,日期类型,在SQL Server 下默认为GETDATE()
creator,Varchar类型,在SQL Server 下默认为NOT NULL DEFAULT USER
version,Integer类型 记录的版本标记;有助于准确说明记录中出现null 数据或者丢失数据的原因

  2) 需要记录表更新时间和更新用户应添加以下2个字段
       updated, 日期类型,在mysql下默认为:
       updater, varchar类型,在mysql 下默认为NOT NULL DEFAULT USER

 
  3) 开始时间,结束时间应记录为:
        begin_time,long类型, 开始时间,
end_time ,long类型, 结束时间
表名规则:
字段名规则:
1) 采用有意义的列名

表内的列要针对键采用一整套设计规则。每一个表都将有一个自动ID作为主健,逻辑上的主健作为第一组候选主健来定义;
A、如果是数据库自动生成的编码,统一命名为:ID
B、如果是自定义的逻辑上的编码则用缩写加“ID”的方法命名,即“XXXX_ID”
C、如果键是数字类型,你可以用_NO 作为后缀;
D、如果是字符类型则可以采用_CODE 后缀
E、对列名应该采用标准的前缀和后缀。
举例:销售订单的编号字段命名:Sal_Ord_ID;如果还存在一个数据库生成的自动编号,则命名为:ID。

2) 所有的属性加上有关类型的后缀
注意,如果还需要其它的后缀,都放在类型后缀之前。
注: 数据类型是文本的字段,类型后缀TX可以不写。有些类型比较明显的字段,可以不写类型后缀。


3) 采用前缀命名
给每个表的列名都采用统一的前缀,那么在编写SQL表达式的时候会得到大大的简化。这样做也确实有缺点,比如破坏了自动表连接工具的作用,后者把公共列名同某些数据库联系起来。
4) 选择数字类型和文本类型的长度应尽量充足

假设客户ID 为10 位数长。那你应该把数据库表字段的长度设为12 或者13 个字符长。但这额外占据的空间却无需将来重构整个数据库就可以实现数据库规模的增长了。

5) 增加删除标记字段

在表中包含一个“删除标记”字段,这样就可以把行标记为删除。在关系数据库里不要单独删除某一行;最好采用清除数据程序而且要仔细维护索引整体性。

6) 提防大小写混用的对象名和特殊字符

采用全部小写而且包含下划符的名字具有更好的可读性(customer_data),绝对不要在对象名的字符之间留空格。
7) 小心保留词

要保证你的字段名没有和保留词、数据库系统或者常用访问方法冲突,比如,用 DESC 作为说明字段名。后果可想而知!DESC 是 DESCENDING 缩写后的保留词
参考资料:http://www.blogjava.net/hijackwust/archive/2007/12/07/166100.html

你可能感兴趣的:(数据字典设计规则(未完善))