数据库命名规范
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
开发工具与关键技术:SQL Server 2014 Management Studio
作者:朱海恩
撰写时间:2019年7月12日
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
一、数据库对象:数据库对象采用26个英文字母(区分大小写)和0-9这十个自然数,加上下划线_组成,共63个字符。不能出现其他字符(注释除外)。同一个数据库中这些对象名都是不能重复。
二、命名规范规则:
1、表名使用单数名
例如:对存储客人信息的表(Customer),不能使用Customers
2、避免无谓的表格后缀
3、所有表示时间的字段,统一以Date来作为结尾(而不是有的使用Date,有的使用Time)
4、所有表示数目的字段,都应该以Count作为结尾
5、所有代表链接的字段,均为Url结尾
6.所有名称的字符范围为:A-Z, a-z, 0-9 和_(下划线)。不允许使用其他字符作为名称。
7.采用英文单词或英文短语(包括缩写)作为名称,不能使用无意义的字符或汉语拼音。
8.名称应该清晰明了,能够准确表达事物的含义,最好可读,遵循“见名知意”的原则。
三、数据库命名规范:数据库名称不需要简写,根据实际意义来命名。
四、表命名规范
表命名要遵循以下原则:
- 直接使用表义名,不使用任何前缀。
- 整个表名的长度不要超过 30 个字符。
- 表义名需遵循[3.1]表述的规则,尽量以英文命名,也可使用汉语拼音的首字符命名。表义名中汉语拼音均采用小写,且字符间不加分割符;单词命名的表义名采用名词性质的单词,各单词的首字符大写,其它字符小写。多个单词间不加任何分割符,如果整个单词太长,则使用完整的第一音节或经过仔细选择的缩写词。名词全部采用单数形式。
- 表别名取表义名的前 3 个字符加最后一个字符。
- 如果存在冲突,适当增加字符(如取表义名的前 4 个字符加最后一个字 符等)。
- 关联表命名为“Re_表 A_表 B”形式,Re 是 Relative 的缩写,表 A 和表 B 均采用其表义名或缩写形式。
五、属性(列或字段)
属性命名遵循以下原则:
- 采用有意义的列名,尽量使用英文,或有实际含义的汉语拼音的首字 符,且字符间不加任何分割符。
- 如果字段为 bool 型,则使用"IsShow", "IsValid", "HasPassed", "Has Examined", "IgnoreCase"这种形式表示。
- 如果字段位 DateTime 型,切且默认值是取系统时间,一律命名位:Che ckDate。
- 属性名前不要加表名等作为前缀。
- 属性后不加任何类型标识作为后缀。
- 关联字段命名以 “cd+_+关联表的表义名(或缩写)+_+字段名”进行
六、字段命名规范
- 字段不使用任何前缀(表名代表了一个名称空间,字段前面再加前缀显得罗嗦)
- 字典名也避免采用过于普遍过于简单的名称:例如,用户表中,用户名的字段为UserName比Name更好。
- 布尔型的字段,以一些助动词开头,更加直接生动:如,用户是否有留言HasMessage,用户是否通过检查IsChecked等。
- 字段名为英文短语、形容词+名词或助动词+动词时态的形式表示,大小写混合,遵循“见名知意”的原则。
七、主键命名
一个数据库中的主键名不能重复,任何表的主键都为自增形式的键值,一律命名为 ID
八、外键命名
一个数据库中的外键名不能重复,外键名称为主表名+对应列名
九、存储过程命名
存储过程命名由“usp+_+存储过程标识”组成。 存储过程标识要以实际含义的英语单词或以动宾的形式构成,并用下划线 分割各个组成部分。对于在某个表上进行操作的存储过程可以 命名为“usp_表 名_操作”方式,如在 Customer 表上进行插入操作的存储过程命名为 usp_Cust omer_Insert。
十、命名中的其它注意事项
(1)命名都不得超过 30 个字符,变量名长度不要超过 29 个字符(不包括标 识字符@)。
(2)不要在对象名的字符之间留空格。
(3)要保证命名没有和保留词、数据库系统或者常用访问方法冲突。