首页 > 代码库 > 数据库定义规范(可以借鉴,不是硬性标准)
数据库定义规范(可以借鉴,不是硬性标准)
一:表名定义规范:
(1)数据库表的命名以是名词的复数形式且都为小写,如cities, categories, friends等等
(5)同类数据库对象要有统一的前缀名
一个比较复杂的系统,数据库表往往很多,要快速定位自己需要的表,不太容易。因此,可以在同一个模块 中的表,加上一个统一的前缀。
比如权限管理相关的表可以统一加一个前缀p_。用户表p_user;角色表p_role;组织表p_orgnization;
权限表p_power;
中间表加前缀rel_
二:字段名定义规范
字段名限制在30个字符内。当字段名超过30字符时,可用缩写来减少字段名的长度,
比如:
/**
* 创建时间
*/
@Column(name = "creation_time")
private long creationTime;
(5)常用的字段例如name,不宜直接用name,最好定义为xx_name.
虽然表中允许空列,但是,空字段是一种比较特殊的数据类型。
数据库在处理的时候,需要进行特殊的处理。如此的话,就会增加数据库处理记录的复杂性。
当表中有比较多的空字段时,在同等条件下,数据库处理的性能会降低许多。
解决方法:一是通过设置默认值的形式,来避免空字段的产生。
(8)不能为空的字段最好加上默认值
所有字段在设计时,除以下数据类型timestamp、datetime外,必须有默认值。
字符型的默认值为一个空字符值串’’;
数值型的默认值为数值0;
布尔型的默认值为数值0;系统中所有逻辑型中数值0表示为“假”;数值1表示为“真”。
datetime、smalldatetime类型的字段没有默认值,必须为NULL。
(1)数据库表的命名以是名词的复数形式且都为小写,如cities, categories, friends等等
这一条不是硬性规定,可以看个人习惯,统一就好。
(2)如果表名由几个单词组成,则单词间用下划线("_")分割,如subscribed_pois,poi_categories等
(3)表名尽量用全名
(5)同类数据库对象要有统一的前缀名
一个比较复杂的系统,数据库表往往很多,要快速定位自己需要的表,不太容易。因此,可以在同一个模块 中的表,加上一个统一的前缀。
比如权限管理相关的表可以统一加一个前缀p_。用户表p_user;角色表p_role;组织表p_orgnization;
权限表p_power;
中间表加前缀rel_
二:字段名定义规范
(1)数据库字段全部采用小写英文单词
字段名限制在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)不能为空的字段最好加上默认值
所有字段在设计时,除以下数据类型timestamp、datetime外,必须有默认值。
字符型的默认值为一个空字符值串’’;
数值型的默认值为数值0;
布尔型的默认值为数值0;系统中所有逻辑型中数值0表示为“假”;数值1表示为“真”。
datetime、smalldatetime类型的字段没有默认值,必须为NULL。
数据库定义规范(可以借鉴,不是硬性标准)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。