首页 > 代码库 > 数据库定义规范(可以借鉴,不是硬性标准)

数据库定义规范(可以借鉴,不是硬性标准)

 一:表名定义规范:
(1)数据库表的命名以是名词的复数形式且都为小写,如cities, categories, friends等等 

这一条不是硬性规定,可以看个人习惯,统一就好。


(2)如果表名由几个单词组成,则单词间用下划线("_")分割,如subscribed_pois,poi_categories等 


(3)表名尽量用全名 


(4)表名限制在30个字符内。当表的全名超过30字符时,可用缩写来减少表名的长度,如description --> desc;information --> info;address --> addr等 
 
(5)同类数据库对象要有统一的前缀名
  一个比较复杂的系统,数据库表往往很多,要快速定位自己需要的表,不太容易。因此,可以在同一个模块     中的表,加上一个统一的前缀。
  比如权限管理相关的表可以统一加一个前缀p_。用户表p_user;角色表p_role;组织表p_orgnization;
  权限表p_power;
  中间表加前缀rel_
 
 
 
 
 二:字段名定义规范

(1)数据库字段全部采用小写英文单词


(2)字段长度不宜过长,尽量简洁明了
 字段名限制在30个字符内。当字段名超过30字符时,可用缩写来减少字段名的长度,

 如description --> desc;information --> info;address --> addr等 


(3)如果表或者是字段的名称仅有一个单词,那么建议不使用缩写,而是用完整的单词。


(4)如果表或者字段由多个单词构成,单词之间用”_”隔开。

    实体属性的首字母小写,如果有多个单词,其他单词的首字母大写。
    比如:
         /**
* 创建时间
*/
@Column(name = "creation_time")
private long creationTime;

(5)常用的字段例如name,不宜直接用name,最好定义为xx_name.

  防止关联查询的时候,两个表的字段名称一样,不方便处理。可能还需要起别名as


(6)字段名称尽量避免中文拼音


(7)字段尽量避免关键字


(8)表中应该避免可为空的列。
虽然表中允许空列,但是,空字段是一种比较特殊的数据类型。
数据库在处理的时候,需要进行特殊的处理。如此的话,就会增加数据库处理记录的复杂性。
当表中有比较多的空字段时,在同等条件下,数据库处理的性能会降低许多。
解决方法:一是通过设置默认值的形式,来避免空字段的产生。


(8)不能为空的字段最好加上默认值
所有字段在设计时,除以下数据类型timestamp、datetime外,必须有默认值。
字符型的默认值为一个空字符值串’’;
数值型的默认值为数值0;
布尔型的默认值为数值0;系统中所有逻辑型中数值0表示为“假”;数值1表示为“真”。
datetime、smalldatetime类型的字段没有默认值,必须为NULL。







数据库定义规范(可以借鉴,不是硬性标准)