📜  数据库、表和列命名约定

📅  最后修改于: 2022-05-13 01:57:02.588000             🧑  作者: Mango

数据库、表和列命名约定

概述 :
数据库是在任何应用程序的整个生命周期中都存在的持久存储机制。数据库由最初的数据库管理员创建和维护,并由任何加入团队的新数据库管理员继续维护,因此始终保持其特性一致是一个好习惯。命名约定是一套指导方针,为这种一致的系统奠定了坚实的基础。这些指南确保数据库实体的名称可读、易于在查询中使用,并且不会与其他已定义实体或关键字的名称发生冲突。

命名数据库:
在专业环境中命名数据库时,主要取决于数据库属于哪种应用程序或网站。假设您正在为应用程序 XYZ 创建数据库,为公司 ABC,那么数据库将命名为 ABC_XYZ。简短的数据库名称更易于使用,最好使用缩写(Facebook 变为 FB),并且不需要非常具有描述性。基于同一点,IBM 在其文档中声明数据库名称或数据库别名应该是一个唯一的字符,其中包含 [az, AZ, 0-9, @, #, $]字符串中的一到八个字母。您还可以将产品的版本添加到数据库名称中。

命名表:
表表示某些实体的组/集合,这些实体通常是真实世界的对象,如员工或该实体的后果,如项目。表名就像名词。不同的开发团队在命名他们的表时遵循不同的实践,但一些基础知识是提高效率的关键。命名表的步骤如下。

第1步 :
表名应该是描述性的。如果您正在设计一个表格来存储有关杂货店客户的数据,则可以根据您的偏好将该表格命名为“客户”或“客户”。但是,您应该避免使用缩写,因为不同的人在创建像“Cus”这样的缩写时可能有不同的思维过程,这可能并不总是与另一个人的命名(如“Cust”)保持一致。因此,为了简单起见,请使用全名,如果您打算使用单数或复数名称,那么在整个项目中应该保持一致。

#Creating table Customer
CREATE TABLE Customer (column1 datatype, column2 datatype, column3 datatype, ....);

第2步 :
您可以使用下划线作为表名的前缀。例如,所有素食表都可以写成“Veg_Food”,非素食可以写成“NonVeg_Food”。

第 3 步:
避免使用特定于 DBMS 的关键字作为表的名称,例如“Order” (ORDER BY)。在将表命名为“Order”时,服务器或 RDBMS 不会抛出任何错误,但这是一个很好的做法。

第4步 :
外壳完全取决于开发人员的喜好以及之前一直使用的内容。但与单复数困境类似,您应该坚持使用一种看起来可读且易于阅读的大小写,它是 PascalCase 或 camelCase 或全小写等。

CREATE TABLE OldMansions (column1 datatype, column2 datatype, column3 datatype, ....);
CREATE TABLE oldMansions (column1 datatype, column2 datatype, column3 datatype, ....);
CREATE TABLE oldmansions (column1 datatype, column2 datatype, column3 datatype, ....);
CREATE TABLE old_mansions (column1 datatype, column2 datatype, column3 datatype, ....);

命名列:
列与表不同,因为它们不仅仅意味着真实世界的实体。列是定义真实世界实体的属性。列可以定义火车的出发时间或行星与太阳的距离,或者只是某人的名字。因此,根据其用途命名列是常识。列名就像形容词或动词。命名列的步骤如下。

第1步 :
每个列名应该是唯一的。如果用于不同目的的不同表中的两列位于同一数据库中,则使用某种前缀将两者分开。

OwnerOld_BoatsNew_Boats
01BO-25BO-102
02BO-26BO-103
03BO-27BO-104
04BO-25BO-101

第2步 :
列名不能是抽象的或神秘的。使用长描述性名称,而不是短而不清楚的缩写。

第 3 步:
列名不能非常通用。例如,在创建一个存储杂货代码的列时,最好将列命名为“ Grocery_Code ”或“ ItemCode ”,而不是“ Code”。 ” 您可以快速浏览此列以添加带有特定域前缀的后缀。

ClassSuffix
Code_CD or _CODE
Description_DESC
Percentage_PCT
Balance_BAL or _BALANCE
Amount_AMT or _AMOUNT
Frequency_FREQ
Index_IDX

命名主键:

  1. 主键用作表的唯一标识符,因此在命名它们时要小心。如果几个不同用途的不同表的主键名称相同,那将非常混乱。
  2. 确保不要将表示身份号码的主键命名为ID ,而是使用特定于域的名称,例如StudentID 或 ID_Student。
  3. 您还可以在主键中使用后缀或前缀,以使它们从一般的列命名中脱颖而出。例如, Coordinates_PKPK_Coordinates

命名外键:

  1. 外键用作两个表之间的桥梁,有时也用作更多表之间的桥梁。因此,最好在整个数据库中始终使用相同的名称命名您的外键,以避免任何混淆。
  2. 与主键类似,您可以为外键名称添加前缀或后缀,例如RoomNo_fkFK_RoomNo。
  3. 归根结底,没有人会强迫您在创建数据库时遵循这些约定。但是,即使遵循其中的一些,也会使您的数据库对您以及将来可能使用它的任何其他人都更好。