数据库命名规则(转)

简介:

一.数据库:

1.基本命名规则


1. 基本数据库对象命名

数据库对象

前缀

(Table)

字段(Column)

视图(View)

存储过程(Stored procedure)

触发器(Trigger)

索引(Index)

主键(Primary key)

外键(Foreign key)

Check约束(Check Constraint)

Default约束(Default Constraint)

用户定义数据类型(User-defined data type)

用户定义函数(User-defined function)

tbl_

viw_

prd_

trg_

idx_

pk_

fk_

ck_

df_

udt_

fun_


2.关于命名的约定


变量(T-SQL编程中声明的变量)、过程(存储过程或触发器等)、实体(表、字段)应该根据他们所代表的实体意义和进程作用来命名:

2.好的命名和 不好的命名 范例

好的命名

不好的命名

@CurrentDate

@ActivityCount

@EquipmentType

prCalculateTotalPrice

@D

@ActNum

@ET

@prRunCalc

a.动宾形式:动词放前面,名词放后面。eg:prd_GetProductById

b.不要使用计算机术语,尽量使用面向公司业务的术。

c.采用缩写

如果完全根据上一条的要求,那么根据业务描述的过程名可能会变得很冗长,比如下面:

prCountTotalAmountOfMonthlyPayments (计算每月付费的总金额)

prGetParentOrganizationalUnitName (获取上级单位名称)

如果可以在字典里找到一个词的缩写,就用这个做为缩写,比如:Mon(Monday)、Dec(December)

可以删除单词元音(词首字母除外)和每个单词的重复字母来缩写一个单词。比如:Current = Crnt、Address = Adr、Error = Err、Average = Avg

不要使用有歧异的缩写(一般是语音上的歧义)。比如b4(before)、xqt(execute),4tran(Fortran)

3.数据库命名

根据项目的实际意义来命名

4.表命名

“tbl_”+ 名称(名称尽量使用英文单词,每个单词的首字母大写)

5.字段命名

表名(去掉前缀)缩写 + ”_”+ 属性名称(每个单词的首字母大写)

缩写:五笔拆字法取字母

一个单词:取前四个字母

二个单词:取每个单词的前两个字母

三个单词:取前两个单词的首字母和第三个单词的前两个字母。

四或四个以上:取前三个单词的首字母和最后一个单词的首字母。

6.主键命名

主键是针对一个表的, 而不是针对一个字段,因为主键是唯一的,一个表只能有一个主键。

a.一般主键命名:主键的命名为 pk_TableName。

b.复合主键:pk_字段名

e.g.:Constraint pk_StudentCourse Primary key(Stud_Id, Cour_Id)

主键pk_StudentCourse,包含了两个字段Stud_Id和 Cour_Id

7. 外键命名

外键的命名为 fk_外键所在的表名_外键引用的表名。因为外键所在的表为从表,所以上式可以写为 fk_从表名_主表名

8.Check约束命名

ck_表名_字段名

e.g.:ck_tbl_Company_Comp_Zip

9.Default约束命名

df_表名_字段名

e.g.:df_tbl_News_News_Hit

10. 触发器命名

trg_表名后缀

a. 前缀-trg_,描述了数据库对象的类型。

b. 基本部分,描述触发器所加的表。

c. 后缀(_I、_U、_D),显示了修改语句(Insert, Update及Delete)

11. 存储过程命名

命名的规则:见名知意.

prd_说明

说明:动宾结构(动词+名词)

e.g.:prd_GetProductById

12. 存储过程中参数的命名

与其对应的字段名相同,第一个单词小写.











本文转自 我不会抽烟 51CTO博客,原文链接:http://blog.51cto.com/zhouhongyu1989/1382087,如需转载请自行联系原作者

目录
相关文章
|
15天前
|
SQL 数据可视化 关系型数据库
轻松入门MySQL:深入探究MySQL的ER模型,数据库设计的利器与挑战(22)
轻松入门MySQL:深入探究MySQL的ER模型,数据库设计的利器与挑战(22)
|
15天前
|
存储 关系型数据库 MySQL
轻松入门MySQL:数据库设计之范式规范,优化企业管理系统效率(21)
轻松入门MySQL:数据库设计之范式规范,优化企业管理系统效率(21)
|
15天前
|
关系型数据库 MySQL 数据库
轻松入门MySQL:精准查询,巧用WHERE与HAVING,数据库查询如虎添翼(7)
轻松入门MySQL:精准查询,巧用WHERE与HAVING,数据库查询如虎添翼(7)
|
17天前
|
存储 关系型数据库 MySQL
数据库字符编码MySQL中使用UTF-8还是UTFB4
数据库字符编码MySQL中使用UTF-8还是UTFB4
20 0
|
21天前
|
缓存 NoSQL 关系型数据库
在Python Web开发过程中:数据库与缓存,MySQL和NoSQL数据库的主要差异是什么?
MySQL是关系型DB,依赖预定义的表格结构,适合结构化数据和复杂查询,但扩展性有限。NoSQL提供灵活的非结构化数据存储(如JSON),无统一查询语言,但能横向扩展,适用于大规模、高并发场景。选择取决于应用需求和扩展策略。
111 1
|
20天前
|
SQL 关系型数据库 MySQL
【MySQL技术专题】「问题实战系列」深入探索和分析MySQL数据库的数据备份和恢复实战开发指南(8.0版本升级篇)
【MySQL技术专题】「问题实战系列」深入探索和分析MySQL数据库的数据备份和恢复实战开发指南(8.0版本升级篇)
93 0
|
27天前
|
SQL 关系型数据库 MySQL
阿里云MySQL数据库价格、购买、创建账号密码和连接数据库教程
阿里云数据库使用指南:购买MySQL、SQL Server等RDS实例,选择配置和地区,完成支付。创建数据库和账号,设置权限。通过DMS登录数据库,使用账号密码访问。同地域VPC内的ECS需将IP加入白名单以实现内网连接。参考链接提供详细步骤。
366 3
|
11天前
|
存储 关系型数据库 MySQL
MySQL基础入门:数据库操作全攻略
MySQL基础入门:数据库操作全攻略
44 0
|
11天前
|
关系型数据库 MySQL 数据库
卸载云服务器上的 MySQL 数据库
卸载云服务器上的 MySQL 数据库
30 0
|
15天前
|
SQL 关系型数据库 MySQL
轻松入门MySQL:深入学习数据库表管理,创建、修改、约束、建议与性能优化(3)
轻松入门MySQL:深入学习数据库表管理,创建、修改、约束、建议与性能优化(3)