通用数据库表字段命名规范

通用数据库表字段命名规范

2023年7月13日发(作者:)

通⽤数据库表字段命名规范摘要:当前研发⼯作中经常出现因数据库表、数据库表字段格式不规则⽽影响开发进度的问题,在后续开发使⽤原来数据库表时,也会因为数据库表的可读性不够⾼,表字段规则不统⼀,造成数据查询,数据使⽤效率低的问题,所以有必要整理出⼀套合适的数据库表字段命名规范来解决优化这些问题。本⽂是⼀篇包含了数据库命名、数据库表命名、数据库表字段命名及SQL语⾔编码的规范⽂档,针对研发中易产⽣的问题和常见错误做了⼀个整理和修改,为⽇后涉及到数据库相关的研发⼯作做好准备。⼀、数据库命名规范

采⽤26个英⽂字母(区分⼤⼩写)和0-9的⾃然数(经常不需要)加上下划线'_'组成,命名简洁明确,多个单词⽤下划线'_'分隔,⼀个项⽬⼀个数据库,多个项⽬慎⽤同⼀个数据库⼆、数据库表命名规范2.1数据表命名规范(1)采⽤26个英⽂字母(区分⼤⼩写)和0-9的⾃然数(经常不需要)加上下划线""__""组成,命名简洁明确,多个单词⽤下划线分隔(2)全部⼩写命名,禁⽌出现⼤写(3)禁⽌使⽤数据库关键字,如:name,time ,datetime,password等(4)表名称不应该取得太长(⼀般不超过三个英⽂单词)(5)表的名称⼀般使⽤名词或者动宾短语(6)⽤单数形式表⽰名称,例如,使⽤ employee,⽽不是 employees明细表的名称为:主表的名称+字符dtl(detail缩写)例如:采购定单的名称为:po_order,则采购定单的明细表为:po_orderdtl(7)表必须填写描述信息(使⽤SQL语句建表时)2.2命名规范①模块_+功能点 ⽰例:alllive_log alllive_category②功能点 ⽰例:live message③通⽤表 ⽰例:all_user2.3待优化命名⽰例①冗余:错误⽰例:yy_alllive_video_recomment yy_alllive_open_close_log说明:去除项⽬名,简化表名长度,去”yy_”②相同类别表命名存在差异,管理性差错误⽰例:yy_all_live_category yy_alllive_comment_user说明:去除项⽬名,统⼀命名规则,均为”yy_alllive_”开头即可③命名格式存在差异错误⽰例:yy_showfriend yy_user_getpoints yy_live_program_get说明:去除项⽬名,统⼀命名规则,动宾短语分离且动宾逻辑顺序统⼀三、数据库字段命名规范3.1字段命名规范

(1)采⽤26个英⽂字母(区分⼤⼩写)和0-9的⾃然数(经常不需要)加上下划线'_'组成,命名简洁明确,多个单词⽤下划线'_'分隔(2)全部⼩写命名,禁⽌出现⼤写(3)字段必须填写描述信息(4)禁⽌使⽤数据库关键字,如:name,time ,datetime password 等(5)字段名称⼀般采⽤名词或动宾短语(6)采⽤字段的名称必须是易于理解,⼀般不超过三个英⽂单词(7)在命名表的列时,不要重复表的名称例如,在名employe的表中避免使⽤名为employee_lastname的字段(8)不要在列的名称中包含数据类型(9)字段命名使⽤完整名称,禁⽌缩写3.2命名规范

1、名词 ⽰例:user_id user_name sex2、动宾短语 ⽰例:is_friend is_good3.3待优化命名⽰例 1、⼤⼩写规则不统⼀错误⽰例:user_id houseID说明:使⽤统⼀规则,修改为”user_id”,”house_id”

2、加下划线规则不统⼀错误⽰例:username userid isfriend isgood说明:使⽤下划线进⾏分类,提升可性,⽅便管理,修改为”user_name”,”user_id”,”is_friend”,”is_good”3、字段表⽰不明确错误⽰例:uid pid说明:使⽤完整名称,提⾼可读性,修改为”user_id”,”person_id”3.4字段类型规范

(1)所有字段在设计时,除以下数据类型timestamp、image、datetime、smalldatetime、uniqueidentifier、binary、sql_variant、binary 、varbinary外,必须有默认(2)系统中所有逻辑型中数值0表⽰为“假”,数值1表⽰为“真”,datetime、smalldatetime类型的字段没有默认值,必须为NULL(3)⽤尽量少的存储空间来存储⼀个字段的数据使⽤int就不要使⽤varchar、char,⽤varchar(16)就不要使varchar(256)IP地址使⽤int类型固定长度的类型最好使⽤char,例如:邮编(postcode)能使⽤tinyint就不要使⽤smallint,int最好给每个字段⼀个默认值,最好不能为null(4)⽤合适的字段类型节约空间字符转化为数字(能转化的最好转化,同样节约空间、提⾼查询性能)避免使⽤NULL字段(NULL字段很难查询优化、NULL字段的索引需要额外空间、NULL字段的复合索引⽆效)少⽤text类型(尽量使⽤varchar代替text字段)3.5数据库中每个字段的规范描述 (1)尽量遵守第三范式的标准(3NF)

表内的每⼀个值只能被表达⼀次

表内的每⼀⾏都应当被唯⼀的标⽰

表内不应该存储依赖于其他键的⾮键信息(2)如果字段事实上是与其它表的关键字相关联⽽未设计为外键引⽤,需建索引(3)如果字段与其它表的字段相关联,需建索引(4)如果字段需做模糊查询之外的条件查询,需建索引(5)除了主关键字允许建⽴簇索引外,其它字段所建索引必须为⾮簇索引四、SQL语⾔编码规范4.1⼤⼩写规范

(1)所有关键字必须⼤写,如:INSERT、UPDATE、DELETE、SELECT及其⼦句,IF……ELSE、CASE、DECLARE等(2)所有函数及其参数中除⽤户变量以外的部分必须⼤写(3)在定义变量时⽤到的数据类型必须⼩写4.2注释注释可以包含在批处理中,在触发器、存储过程中包含描述性注释将⼤⼤增加⽂本的可读性和可维护性,本规范建议:

(1)注释以英⽂为主,实际应⽤中,发现以中⽂注释的SQL语句版本在英⽂环境中不可⽤,为避免后续版本执⾏过程中发⽣某些异常错误,建议使⽤英⽂注释(2)注释尽可能详细、全⾯创建每⼀数据对象前,应具体描述该对象的功能和⽤途,传⼊参数的含义应该有所说明,如果取值范围确定,也应该⼀并说明,取值有特定(3)注释语法:单⾏注释、多⾏注释

单⾏注释:注释前有两个连字符(--)对变量、条件⼦句可以采⽤该类注释多⾏注释:符号之间的内容为注释内容,对某项完整的操作建议使⽤该类注释(4)注释简洁,同时应描述清晰(5)函数注释:

编写函数⽂本--如触发器、存储过程以及其他数据对象--时,必须为每个函数增加适当注释,该注释以多⾏注释为主,主要结构如下:

CREATE PROCEDURE sp_xxx

发布者:admin,转转请注明出处:http://www.yc00.com/web/1689247266a225653.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信