在介绍SQL命名规范前,我们先看一下常见的命名规范:
匈牙利命名法:基本要求是:首字母小写,变量名 = 属性+类型+对象描述,其中每一个对象的名称都要求有明确的含义,可以取对象名称的全称或名字的一部分。
Camel(驼峰)命名法:有两种形式分别为
- 小驼峰命名法:比如printBill,开始的第一个单词小写,之后每个单词的首字母大写。在JAVA中,属性名和方法名也常用这种命名方法。
- 大驼峰命名法:比如FirstName,每个单词的首字母都采用大写字母,也被称为Pascal命名法
- 单词之间加下划线:比如student_name,我们经常在对文件夹命名时采用这种方法
在了解了常见命名规范后我们再看一下SQL命名规范:
一般情况:
- 名称是唯一的,且不是保留关键字
- 长度最多为30个字节——一般是30个字符,除非使用多字节字符集
- 名称中的字符范围为:字母,下划线,数字
- 名称必须以字母开头,且不得以下划线结尾
- 避免使用连续多个下划线,难以阅读和分辨
- 避免使用缩写,除非的公认的都能理解的缩写
表
- 使用复数形式,比如:employees,students
- 不要添加tbl前缀或者任何其他描述性前缀
- 不要有相同的名称。表名和列名也不能相同
- 在可能的情况下,避免将两个表名连接在一起作为关系表的名称,比如比起 student_course,score更好
对于区分不同功能的表,可以按照下面规范添加前缀: - 系统表(S_): System,系统配置相关的基本信息表,比如系统用户表(S_USER),操作日志(S_OPERATION_LOG),登录日志(S_LOGIN_LOG),系统字典(S_DICTIONARY)等
- 字典表(D_):Dictionary,非系统字典外的字典表。除了数据库中的通用字典表,还有一些常见的表,比如:地区表(D_REGION)等
- 中间表(R_):Relationship,多对多关系的中间表。命名方式建议:R_主表名_从表名
- 业务表(B_):Business,核心业务涉及的基本信息表,比如在线商城的订单业务。
列
- 使用单数名称
- 不要添加与表名相同的列
- 始终使用小写字母,单词间用下划线分隔
约束的命名
这里对外键约束做一些要求,因为外键约束表明表与表之间的关系,建议外键约束以fk做前缀,比如:fk_score_student
其他功能块的命名
视图的命名可以于表命名相似