数据库对象命名

Posted vichin

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据库对象命名相关的知识,希望对你有一定的参考价值。

基本对象命名:

对象名称 前缀 举例
表(Table) Student
字段(Column) Title
视图(View) v vActivity
存储过程(Stored procedure) pr prDelOrder
触发器(Trigger) tr trOrder_D
索引(Index) ix_ ix_CustomerID
主键(Primary key) pk_ pk_Admin
外键(Foreign key) fk_ fk_Order_OrderType
Check 约束(Check Constraint) ck_ ck_TableColumn
Unique 约束 uq_ uq_TableColumn
用户定义数据类型(User-defined data type) udt udtPhone
用户定义函数(User-defined function) fn fnDueDate

有关数据库的设计:

1. 如果要写代码来确保表中的行都是唯一的,就为表添加一个主键。

2. 如果要写代码来确保表中的一个单独的列是唯一的,就为表添加一个约束。

3. 如果要写代码确定表中的列的取值只能属于某个范围,就添加一个 Check 约束。

4. 如果要写代码来连接 父-子 表,就创建一个关系。

5. 如果要写代码来维护“一旦父表中的一行发生变化,连带变更子表中的相关行”,就启 用级联删除和更新。

6. 如果要调用大量的 Join 来进行一个查询,就创建一个视图。

7. 如果要逐条的写数据库操作的语句来完成一个业务规则,就使用存储过程。

所有表示时间的字段,统一以 Date 来作为结尾。

所有表示数目的字段,都应该以 Count 作为结尾。

最好使用单数的形式给表命名:

Customer而非Customers

避免无谓的表格后缀:

Guest而非GuestInfo

多对多关系中连接表的命名:

建议的写法是将两个表的表名 合并(如果表名比较长可做简化),此处如 StudentCourse

 

以上是关于数据库对象命名的主要内容,如果未能解决你的问题,请参考以下文章

sql server的对象命名规则是啥

Access 数据库引擎找不到对象 - 对象是 Excel 命名范围

公司用的 MySQL 团队开发规范,非常详细,建议收藏!

公司用的 MySQL 团队开发规范,非常详细,建议收藏!

分层领域模型规约与领域模型命名规约

为 array.push() 中的对象命名 [重复]