浙江省委书记不会数据库命名的看过来啦!-创保网IT技术开发汇
不会数据库命名的看过来啦!-创保网IT技术开发汇
背景及目的
数据库中各类对象的命名必须能够简单、清晰地体现对象的正确含义,目的在于方便与他人的沟通。为提高命名的规范性,实现统一的命名标准,我们特制定本规范。
1、通用规则
1.1 所有的命名中,只能使用英文字母、数字、下划线,且单词之间必须以下划线作为分隔符。如:customer_name
1.2命名以英文单词组成,不允许使用汉语拼音。
1.3命名中不允许出现ORACLE数据库中的关键字(Reserved Word)。
如:user、remark等单词不允许使用练海棠。Oracle关键字可从v$reserved_words中查询。
1.4为避免出现大小写敏感问题,禁止使用双引号将对象引用杀戮之主 。
如,不允许定义这样的带双引号的字段名:"user"
1.5不超过30位的对象命名不用进行缩写。对于名称超过30位的王昭君秘史 ,可对其中的个别单词缩写。单词缩写必须能够完整表达原有英文全称的含义。缩写规则如下:
缩写原则:
包含四个或四个以下字符的单词,可以不必缩写;
所有的缩写必须唯一,不能有多义;
一个单词的缩写必须以该单词的首字母开头;
缩写中不能包含数字或特殊字符;
缩写应当从命名右侧的单词开始,自右向左地进行缩写,直到满足所需的长度为止。
缩写方法:(按照下述步骤逐一来缩写)
查看公司现有的单词缩写列表(见下),看看是否已存在该单词缩写;
不管该单词的首字母是元音还是辅音,都以它作为缩写的首字母;
如果该单词中有两个连续的相同辅音字母,则只取其一;
如果该单词以两个连续的相同元音字母结尾,则这两个元音字母都保留;
然后去掉单词中剩下的其他元音字母;
如果单词中包含"CK"这样的字母组合,则去掉字母C,保留字母K王欣逸。
举例1:单词Doorbell
在现有单词缩写列表中没有Doorbell的缩写;
首字母d需要保留,并作为缩写的首字母;
两个连续的辅音字母l,浙江省委书记去掉其中一个神雕山,只保留一个。得到doorbel;
这个单词没有以连续的元音字母结尾;
其他的元音字母都去掉。得到drbl;
这个单词没有包含"ck"字母组合。
最终Doorbell这个单词的缩写就是drbl。
举例2:单词Entitlement
在现有单词缩写列表中没有Entitlement的缩写;
首字母e保留(虽然它是一个元音字母);
这个单词没有连续的两个辅音字母;
这个单词没有以连续的元音字母结尾;
其他的元音字母都去掉化州糖水。得到enttlmnt。
这个而单词没有包含"ck"字母组合。
最终Entitlement这个单词的缩写就是enttlmnt。
举例3:单词Grantee
在现有单词缩写列表中没有Grantee的缩写;
首字母g保留;
这个单词没有两个连续的辅音字母;
结尾的两个连续的相同元音字母ee都保留。得到grantee;
去掉剩下的元音字母。得到grntee;
这个单词没有包含"ck"字母组合。
最终Grantee这个单词的缩写就是grntee官场斗。
2. DB 命名规范
2.1DB SID以所属系统来命名,长度不能超过6位,如果超过6位,需要进行缩写。
3. Table 命名规范
3.1表的命名需要能明确表达实体数据对象的业务意义。可使用系统简称或者功能模块八宝盒。
3.2同一个系统或模块中,表的命名以相同的2-3个字符开头。对于基表,统一以BSE开头水都的守护神。例如:同属于新契约模块的表,可以都以nbs_开头。
3.3 禁止在命名中使用通用的前后缀,如tbl,db等。
3.4英文单词不要用复数形式,且只能使用名词,不能使用动词。
因为名词分为可数名词与不可数名词,对于不可数名词是没有复数形式的。
例如:可数名词box不能写为boxes;不可数名词data就只能写成data。
3.5同一个系统或模块中,有业务关系的一组表名的前缀也要相同,以避免冲突。珍妮巴斯
例如:保单与批单都有状态这个字段,为了区分不同类型的状态,对于保单状态的基表我们可以与保单模块的表的前缀相同,命名为policy_status;对于批单状态的基表我们可以与批单张逸文模块的表的前缀相同,命名为pos_status。
4.Column命名规则
4.1字段名需能明确表达该字段数据的业务意义,且只能使用名词你的眼神简谱 ,不能使用动词。
字段的命名应能使不熟悉这个系统的人能大概理解这个字段数据的业务含义。
在定义一个字段的命名时,可以参考下述的方法来命名:
每个字段名称可以由四类术语拼接而成:对象类术语(object class terms)、属性术语(property terms)、陈述性术语(representation terms),以及陈述性术语修饰词(representationterm modifiers)。
如下图的形式:
例如:我们描述一个叫做"费用预算的月度合计金额"的对象。我们可以将该对象命名为Cost Budget MonthlyTotal Amount。
其中Cost Budget就是对象类术语,它描述了这个对象所属的一个抽象实体类"费用预算";Total就是属性术语,它描述了"费用预算"这个对象所具有的一个属性--合计值;Amount就是陈述性术语,它是一个名词,它描述了"费用预算"这个对象的一个子类—金额;Monthly就是陈述性术语修饰词,它是一个形容词,它描述了是月度费用魏晓南,而不是年度费用。
这样我们就很好地定义"费用预算的月度合计金额"这个对象的命名,然后我们再根据长度限制等对其进行适当的缩写即可。
4.2对于不同含义的字段,应尽量避免使用相同的名字。
如果是有外键关系的字段或者是在不同表中表示同样含义的字段,则需使用同一个字段名。但一些特别的情况下例外,如:
1) 存在自关联关系的字段;
2) 同一个表中有两个或者两个以上的字段关联到另一个表的同一个字段。
4.3Date 类型的字段, 需要以"date_"作为前缀或者"_date"做为后缀。Boolean类型的字段,需要以"is_"作为前缀。
4.4主键字段的命名不能包含任何业务含义。命名规则为:"id_""表名"。
5.视图命名规范
5.1本地视图命名方式为:"视图名" "_VW",其中视图名命名规则与表命名规则一样。
敏感数据屏蔽视图的命名方式为:"视图名" "_PV" 其中视图名命名规则与表命名规则一样。远程视图的命名方式为:"视图名" "_RV", 其中视图名命名规则与表命名规则一样光明女神蝶 。
6.约束命名规范
6.1所有约束必须有约束名,非空约束除外。
约束按如下规则命名:
主键约束:"PK_""表名"
外键约束:"FK_""子表名_" "子表字段名"
唯一约束:"UK_""表名_" "字段名"
值检查约束:"CK_""表名_" "字段名"
7.Index命名规范
7.1索引的命名格式为:"IX_" "字段名或字段名组合"。
8.物化视图命名规范
8.1物化视图必须以"_MV"结尾。格式为:"表名_" 功能描述"_MV"。
根据实际需要,物化视图命名中的功能描述部分可以省略。
例如:CAL_MONTH_SALES_SUM_MV
9.分区表命名规范
9.1分区表和字段的命名规范与普通表命名规范相同川西剿匪记,分区索引的命名规范与普通索引的命名规范相同伊濑茉莉也。
9.2必须为表分区命名。
表分区的命名格式为:"表名_" 分区特征 "_pt"
索引分区的命名格式为:"索引名_" 分区特征 "_pi"
例如:在表policy_base_info上按created_date字段来分区,则分区名称可以为policy_base_info_2001_pt、policy_base_info_2002_pt等;
在表endorse_info上按department_code字段来分区,则分区名称可以为endorse_info_sz_pt、endorse_info_sh_pt等;
例如:在表policy_base_info上将索引pbi_created_date进行分区龙之崛起秘籍,其分区名称可以为:pbi_created_date_2001_pi、pbi_created_date_2002_pi等。
10.Context命名规范
10.1Context的命名规范与普通表命名规范相同。
11.Package命名规范
11.1Package的命名规范与普通表命名规范相同。
12.Sequence命名规范
12.1Sequence的命名规范与普通表命名规范相同。
13.Synonym命名规范
13.1同义词名称必须与其指向的对象名称同名。
例如:TLOANDATA用户下有一表l_test_table,则其同义词也应命名为l_test_table。
14.Trigger命名规范
14.1For each row行级的trigger命名为: "建trigger的表名_""后缀"妖艳女忍者,
statement语句级的trigger命名为: "建trigger的表名_" "s" "后缀"。可选的后缀如下表:
DML EventDML Event
DML
Event
DDL Event
&Database Event
DDL Event
&Database Event
insert
(I)
update
(U)
delete
(D)
schema
level(SH)
database
level(DB)
Before
(B)BIBUBDBSHBDB
After
(A)AIAUADASHADBInstead of (I)IIIUIDISHIDB
领导说了
您点一个
小编的工资就涨五毛!
分享IT技术、汇集最新资讯
往期回顾:
什么因素影响了数据库的性能
css部分兼容性问题
常见代码安全漏洞分析及处理
策略模式在表单验证中的应用
Retrofit在安卓项目中的封装与应用
什么是敏捷开发
使用Python创建AI比你想象的轻松
创保网架构流程演进分享
你要的IT干货网址在这里
背景及目的
数据库中各类对象的命名必须能够简单、清晰地体现对象的正确含义,目的在于方便与他人的沟通。为提高命名的规范性,实现统一的命名标准,我们特制定本规范。
1、通用规则
1.1 所有的命名中,只能使用英文字母、数字、下划线,且单词之间必须以下划线作为分隔符。如:customer_name
1.2命名以英文单词组成,不允许使用汉语拼音。
1.3命名中不允许出现ORACLE数据库中的关键字(Reserved Word)。
如:user、remark等单词不允许使用练海棠。Oracle关键字可从v$reserved_words中查询。
1.4为避免出现大小写敏感问题,禁止使用双引号将对象引用杀戮之主 。
如,不允许定义这样的带双引号的字段名:"user"
1.5不超过30位的对象命名不用进行缩写。对于名称超过30位的王昭君秘史 ,可对其中的个别单词缩写。单词缩写必须能够完整表达原有英文全称的含义。缩写规则如下:
缩写原则:
包含四个或四个以下字符的单词,可以不必缩写;
所有的缩写必须唯一,不能有多义;
一个单词的缩写必须以该单词的首字母开头;
缩写中不能包含数字或特殊字符;
缩写应当从命名右侧的单词开始,自右向左地进行缩写,直到满足所需的长度为止。
缩写方法:(按照下述步骤逐一来缩写)
查看公司现有的单词缩写列表(见下),看看是否已存在该单词缩写;
不管该单词的首字母是元音还是辅音,都以它作为缩写的首字母;
如果该单词中有两个连续的相同辅音字母,则只取其一;
如果该单词以两个连续的相同元音字母结尾,则这两个元音字母都保留;
然后去掉单词中剩下的其他元音字母;
如果单词中包含"CK"这样的字母组合,则去掉字母C,保留字母K王欣逸。
举例1:单词Doorbell
在现有单词缩写列表中没有Doorbell的缩写;
首字母d需要保留,并作为缩写的首字母;
两个连续的辅音字母l,浙江省委书记去掉其中一个神雕山,只保留一个。得到doorbel;
这个单词没有以连续的元音字母结尾;
其他的元音字母都去掉。得到drbl;
这个单词没有包含"ck"字母组合。
最终Doorbell这个单词的缩写就是drbl。
举例2:单词Entitlement
在现有单词缩写列表中没有Entitlement的缩写;
首字母e保留(虽然它是一个元音字母);
这个单词没有连续的两个辅音字母;
这个单词没有以连续的元音字母结尾;
其他的元音字母都去掉化州糖水。得到enttlmnt。
这个而单词没有包含"ck"字母组合。
最终Entitlement这个单词的缩写就是enttlmnt。
举例3:单词Grantee
在现有单词缩写列表中没有Grantee的缩写;
首字母g保留;
这个单词没有两个连续的辅音字母;
结尾的两个连续的相同元音字母ee都保留。得到grantee;
去掉剩下的元音字母。得到grntee;
这个单词没有包含"ck"字母组合。
最终Grantee这个单词的缩写就是grntee官场斗。
2. DB 命名规范
2.1DB SID以所属系统来命名,长度不能超过6位,如果超过6位,需要进行缩写。
3. Table 命名规范
3.1表的命名需要能明确表达实体数据对象的业务意义。可使用系统简称或者功能模块八宝盒。
3.2同一个系统或模块中,表的命名以相同的2-3个字符开头。对于基表,统一以BSE开头水都的守护神。例如:同属于新契约模块的表,可以都以nbs_开头。
3.3 禁止在命名中使用通用的前后缀,如tbl,db等。
3.4英文单词不要用复数形式,且只能使用名词,不能使用动词。
因为名词分为可数名词与不可数名词,对于不可数名词是没有复数形式的。
例如:可数名词box不能写为boxes;不可数名词data就只能写成data。
3.5同一个系统或模块中,有业务关系的一组表名的前缀也要相同,以避免冲突。珍妮巴斯
例如:保单与批单都有状态这个字段,为了区分不同类型的状态,对于保单状态的基表我们可以与保单模块的表的前缀相同,命名为policy_status;对于批单状态的基表我们可以与批单张逸文模块的表的前缀相同,命名为pos_status。
4.Column命名规则
4.1字段名需能明确表达该字段数据的业务意义,且只能使用名词你的眼神简谱 ,不能使用动词。
字段的命名应能使不熟悉这个系统的人能大概理解这个字段数据的业务含义。
在定义一个字段的命名时,可以参考下述的方法来命名:
每个字段名称可以由四类术语拼接而成:对象类术语(object class terms)、属性术语(property terms)、陈述性术语(representation terms),以及陈述性术语修饰词(representationterm modifiers)。
如下图的形式:
例如:我们描述一个叫做"费用预算的月度合计金额"的对象。我们可以将该对象命名为Cost Budget MonthlyTotal Amount。
其中Cost Budget就是对象类术语,它描述了这个对象所属的一个抽象实体类"费用预算";Total就是属性术语,它描述了"费用预算"这个对象所具有的一个属性--合计值;Amount就是陈述性术语,它是一个名词,它描述了"费用预算"这个对象的一个子类—金额;Monthly就是陈述性术语修饰词,它是一个形容词,它描述了是月度费用魏晓南,而不是年度费用。
这样我们就很好地定义"费用预算的月度合计金额"这个对象的命名,然后我们再根据长度限制等对其进行适当的缩写即可。
4.2对于不同含义的字段,应尽量避免使用相同的名字。
如果是有外键关系的字段或者是在不同表中表示同样含义的字段,则需使用同一个字段名。但一些特别的情况下例外,如:
1) 存在自关联关系的字段;
2) 同一个表中有两个或者两个以上的字段关联到另一个表的同一个字段。
4.3Date 类型的字段, 需要以"date_"作为前缀或者"_date"做为后缀。Boolean类型的字段,需要以"is_"作为前缀。
4.4主键字段的命名不能包含任何业务含义。命名规则为:"id_""表名"。
5.视图命名规范
5.1本地视图命名方式为:"视图名" "_VW",其中视图名命名规则与表命名规则一样。
敏感数据屏蔽视图的命名方式为:"视图名" "_PV" 其中视图名命名规则与表命名规则一样。远程视图的命名方式为:"视图名" "_RV", 其中视图名命名规则与表命名规则一样光明女神蝶 。
6.约束命名规范
6.1所有约束必须有约束名,非空约束除外。
约束按如下规则命名:
主键约束:"PK_""表名"
外键约束:"FK_""子表名_" "子表字段名"
唯一约束:"UK_""表名_" "字段名"
值检查约束:"CK_""表名_" "字段名"
7.Index命名规范
7.1索引的命名格式为:"IX_" "字段名或字段名组合"。
8.物化视图命名规范
8.1物化视图必须以"_MV"结尾。格式为:"表名_" 功能描述"_MV"。
根据实际需要,物化视图命名中的功能描述部分可以省略。
例如:CAL_MONTH_SALES_SUM_MV
9.分区表命名规范
9.1分区表和字段的命名规范与普通表命名规范相同川西剿匪记,分区索引的命名规范与普通索引的命名规范相同伊濑茉莉也。
9.2必须为表分区命名。
表分区的命名格式为:"表名_" 分区特征 "_pt"
索引分区的命名格式为:"索引名_" 分区特征 "_pi"
例如:在表policy_base_info上按created_date字段来分区,则分区名称可以为policy_base_info_2001_pt、policy_base_info_2002_pt等;
在表endorse_info上按department_code字段来分区,则分区名称可以为endorse_info_sz_pt、endorse_info_sh_pt等;
例如:在表policy_base_info上将索引pbi_created_date进行分区龙之崛起秘籍,其分区名称可以为:pbi_created_date_2001_pi、pbi_created_date_2002_pi等。
10.Context命名规范
10.1Context的命名规范与普通表命名规范相同。
11.Package命名规范
11.1Package的命名规范与普通表命名规范相同。
12.Sequence命名规范
12.1Sequence的命名规范与普通表命名规范相同。
13.Synonym命名规范
13.1同义词名称必须与其指向的对象名称同名。
例如:TLOANDATA用户下有一表l_test_table,则其同义词也应命名为l_test_table。
14.Trigger命名规范
14.1For each row行级的trigger命名为: "建trigger的表名_""后缀"妖艳女忍者,
statement语句级的trigger命名为: "建trigger的表名_" "s" "后缀"。可选的后缀如下表:
DML EventDML Event
DML
Event
DDL Event
&Database Event
DDL Event
&Database Event
insert
(I)
update
(U)
delete
(D)
schema
level(SH)
database
level(DB)
Before
(B)BIBUBDBSHBDB
After
(A)AIAUADASHADBInstead of (I)IIIUIDISHIDB
领导说了
您点一个
小编的工资就涨五毛!
分享IT技术、汇集最新资讯
往期回顾:
什么因素影响了数据库的性能
css部分兼容性问题
常见代码安全漏洞分析及处理
策略模式在表单验证中的应用
Retrofit在安卓项目中的封装与应用
什么是敏捷开发
使用Python创建AI比你想象的轻松
创保网架构流程演进分享
你要的IT干货网址在这里