怎么把网站推广出去,网站运营情况怎么写,单位建设网站的目的,网站优化的常见问题因为近期笔者在数据库命名规范上产生了一些疑问#xff0c;故特此记录下来了一些开发规范#xff0c;望做参考。 摘要#xff1a; 当前研发工作中经常出现因数据库表、数据库表字段格式不规则而影响开发进度的问题#xff0c;在后续开发使用原来数据库表时#xff0c;也会… 因为近期笔者在数据库命名规范上产生了一些疑问故特此记录下来了一些开发规范望做参考。 摘要 当前研发工作中经常出现因数据库表、数据库表字段格式不规则而影响开发进度的问题在后续开发使用原来数据库表时也会因为数据库表的可读性不够高表字段规则不统一造成数据查询数据使用效率低的问题所以有必要整理出一套合适的数据库表字段命名规范来解决优化这些问题。
本文是一篇包含了数据库命名、数据库表命名、数据库表字段命名及SQL语言编码的规范文档针对研发中易产生的问题和常见错误做了一个整理和修改为日后涉及到数据库相关的研发工作做好准备。
一、数据库命名规范
采用26个英文字母(区分大小写)和0-9的自然数(经常不需要)加上下划线’‘组成命名简洁明确多个单词用下划线’分隔一个项目一个数据库多个项目慎用同一个数据库
二、数据库表命名规范
2.1数据表命名规范
1采用26个英文字母(区分大小写)和0-9的自然数(经常不需要)加上下划线’‘组成命名简洁明确多个单词用下划线’分隔
2全部小写命名禁止出现大写
3禁止使用数据库关键字如nametime datetimepassword等
4表名称不应该取得太长一般不超过三个英文单词
5表的名称一般使用名词或者动宾短语
6用单数形式表示名称例如使用 employee而不是 employees
明细表的名称为主表的名称字符dtldetail缩写
例如采购定单的名称为po_order则采购定单的明细表为po_orderdtl
7表必须填写描述信息使用SQL语句建表时
2.2命名规范
①模块_功能点 示例alllive_log alllive_category
②功能点 示例live message
③通用表 示例all_user
2.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禁止使用数据库关键字如nametime datetime password 等
5字段名称一般采用名词或动宾短语
6采用字段的名称必须是易于理解一般不超过三个英文单词
7在命名表的列时不要重复表的名称
例如在名employe的表中避免使用名为employee_lastname的字段
8不要在列的名称中包含数据类型
9字段命名使用完整名称禁止缩写
3.2命名规范
①名词 示例user_id user_name sex
②动宾短语 示例is_friend is_good
3.3待优化命名示例
①大小写规则不统一
错误示例user_id houseID
说明使用统一规则修改为”user_id””house_id”
②加下划线规则不统一
错误示例username userid isfriend isgood
说明使用下划线进行分类提升可性方便管理修改为”user_name””user_id””is_friend””is_good”
③字段表示不明确
错误示例uid pid
说明使用完整名称提高可读性修改为”user_id””person_id”
3.4字段类型规范
1所有字段在设计时除以下数据类型timestamp、image、datetime、smalldatetime、uniqueidentifier、binary、sql_variant、binary 、varbinary外必须有默认值字符型的默认值为一个空字符值串’’数值型的默认值为数值0逻辑型的默认值为数值0
2系统中所有逻辑型中数值0表示为“假”数值1表示为“真”datetime、smalldatetime类型的字段没有默认值必须为NULL
3用尽量少的存储空间来存储一个字段的数据
使用int就不要使用varchar、char
用varchar(16)就不要使varchar(256)
IP地址使用int类型
固定长度的类型最好使用char例如邮编(postcode)
能使用tinyint就不要使用smallintint
最好给每个字段一个默认值最好不能为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注释尽可能详细、全面创建每一数据对象前应具体描述该对象的功能和用途传入参数的含义应该有所说明如果取值范围确定也应该一并说明取值有特定含义的变量如boolean类型变量应给出每个值的含义
3注释语法单行注释、多行注释
单行注释注释前有两个连字符–对变量、条件子句可以采用该类注释
多行注释符号之间的内容为注释内容对某项完整的操作建议使用该类注释
4注释简洁同时应描述清晰
5函数注释
编写函数文本–如触发器、存储过程以及其他数据对象–时必须为每个函数增加适当注释该注释以多行注释为主主要结构如下
CREATE PROCEDURE sp_xxx
Reference:
https://www.cnblogs.com/pangguoming/p/7126512.html