数据库表名定义规范(转载他人)
Posted 努力的小叶子
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据库表名定义规范(转载他人)相关的知识,希望对你有一定的参考价值。
此文仅做备份之用,原文地址:http://blog.csdn.net/u013628152/article/details/43229155
一:表名定义规范:
(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。
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
附上前辈制定的数据仓库规范:
i. 数据仓库层次结构规范
ii. 基本分层结构
在各个信息模型中存储的内容如下描述
一、ODS: 数据准备层,表结构和业务库结构一致。采用3NF范围建模。
二、DW:细节数据层,包含事实和维度表数据,细粒度的数据按照维度和事实来拆分建模
三、DM:数据集市层,包含粗粒度的数据汇总。
四、RP:面向报表应用层,包括前端报表、分析图表、KPI、仪表盘、专题等分析,面向最终结果用户
五、ODI ODI资料库使用
六、SAIKU saiku使用
七、ODI_WORK: ODI工作任务使用的临时表
各层物理表结构前缀
层次 |
层次名称 |
物理表前缀 |
ODS |
细节数据层 |
T_ODS_ |
DW |
维度 |
T_DIM_ |
事实 |
T_FACT_ |
|
DM |
数据集市层 |
T_DM_ |
RP |
数据应用层 |
T_RP_ |
数据库对象命名规范
表空间对象
层次 |
表空间名称 |
数据文件 |
ODS |
TBS_ODS |
TBS_ODS01.dbf,TBS_ODS02.dbf,… |
IDX_TBS_ODS |
IDX_TBS_ODS01.dbf… |
|
DW |
TBS_DW |
TBS_DW01.dbf,… |
IDX_TBS_DW |
IDX_TBS_DW01.dbf,… |
|
DM |
TBS_DM |
TBS_DM01.dbf,… |
IDX_TBS_DM |
IDX_TBS_DM01.dbf,… |
|
RP |
TBS_RP |
TBS_RP01.dbf,… |
IDX_TBS_RP |
IDX_TBS_RP01.dbf,… |
|
ODI |
TBS_ODI |
TBS_ODI.dbf |
ODI_WORK |
TBS_ODIWORK |
TBS_ODIWORK01.dbf,… |
SAIKU |
TBS_SAIKU |
TBS_SAIKU01.dbf,… |
数据库表命名规范
层次 |
层次名称 |
物理表前缀 |
|
ODS |
细节数据层 |
T_ODS_ |
|
DW |
维度 |
T_DW_DIM_ |
|
事实 |
销售主题 |
T_DW_FACT_SALES |
|
客户主题 |
T_DW_FACT_CUST |
||
财务主题 |
T_DW_FACT_FIN |
||
临时表 |
TEMP_ |
||
DM |
数据集市层 |
正式表 |
T_DM_ |
临时表 |
TEMP_ |
||
RP |
数据应用层 |
正式表 |
T_RP_ |
临时表 |
TEMP_ |
数据库表索引
命名以 IDX+表名+例:IDX_T_ODS_BUSI_USER_USER_ID;如果表名过长可以使用 缩写形式
数据库表键值
主键命名以 PK+表名+例: PK_ T_ODS_BUSI_USER_USER_ID ;如果表名过长可以使用缩 写形式
外键命名以 FK+表名+例: FK_ T_ODS_BUSI_USER_USER_ID;如果表名过长可以使用缩 写形式
数据库字段命名规范
数据库字段名中含有单词选择能够概括表内容的一个或多个英文单词,多个单词间使用
下划线分割,单词如果过长可以使用缩写形式。
一些基本字段名示例:
用户 id USER_ID
用户名 USER_NAME
每个字段必须有注释,并且在生成 SQL 脚本时一并生成,创建表时必须创建注释。
保持字段名和类型的一致性,同一字段名在不同表中必需保持同一数据类型。数据类型
长度在定义时应稍大于目前标准的长度,用空间来换取将来变更带来的不便。
数据库存储过程规范
(1)存储过程命名规则:P_目标表。
(2)存储过程要求有注释,注释内容为:列出创建人,创建用途,创建时间。
(3)存储过程修改规范
修改时应注释清楚修改人,修改日期,修改原因和修改内容。
数据库函数命名规范
函数命名规则 F_功能,比如 F_IP_TRANC。
数据库视图命名规范
视图命名规则V_[层次]_表名(功能),
以上是关于数据库表名定义规范(转载他人)的主要内容,如果未能解决你的问题,请参考以下文章