1. 前言
在开发中,数据库的命名规范也是一项非常重要的工作。良好的命名规范可以提高代码的可读性,降低开发维护成本。因此,在项目开发中,合理的命名规范也是非常必要的。
2. 表的命名
2.1 表明应该简短,且有意义
表名应该简洁、有意义,不宜太长,长度建议在30个字符以内。应该采用常用的单词或缩写,并且应该具有可读性并且避免使用有歧义的单词。
-- 不恰当的表名
CREATE TABLE AllSportingGoodsInCalifornia
(
...
);
-- 恰当的表名
CREATE TABLE SportingGoods
(
...
);
2.2 表名应该用复数形式
表名采用复数形式更好,可以明确表中存储的多个记录。当然,有些人使用单数形式的表名,这也是可以的。
-- 表名采用复数形式的例子
CREATE TABLE Products
(
ProductId INT PRIMARY KEY,
ProductName VARCHAR(50)
);
-- 表名采用单数形式的例子(也是可以的)
CREATE TABLE Product
(
ProductId INT PRIMARY KEY,
ProductName VARCHAR(50)
);
2.3 表名中不允许使用特殊字符
表名中不允许使用特殊字符,比如空格、逗号、分号,等等。除此之外,表名还应该仅由字母、数字和下划线组成。
-- 不恰当的表名
CREATE TABLE 'All Sporting Goods In California'
(
...
);
-- 恰当的表名
CREATE TABLE SportingGoods
(
...
);
3. 列的命名
3.1 列名应该简短,且有意义
列名应该简洁、有意义,不宜太长,长度建议在30个字符以内。应该采用常用的单词或缩写,并且应该具有可读性并且避免使用有歧义的单词。
-- 不恰当的列名
CREATE TABLE Products
(
ProductId INT PRIMARY KEY,
ProductNameVeryLong VARCHAR(50)
);
-- 恰当的列名
CREATE TABLE Products
(
ProductId INT PRIMARY KEY,
ProductName VARCHAR(50)
);
3.2 列名不允许使用关键字
列名不允许使用关键字,比如SELECT、FROM、WHERE等等。
-- 不恰当的列名
CREATE TABLE Customers
(
SELECT INT PRIMARY KEY,
FROM VARCHAR(50),
WHERE INT
);
-- 恰当的列名
CREATE TABLE Customers
(
CustomerId INT PRIMARY KEY,
CustomerName VARCHAR(50),
Age INT
);
3.3 列名不允许使用特殊字符
列名不允许使用特殊字符,比如空格、逗号、分号,等等。除此之外,列名还应该仅由字母、数字和下划线组成。
-- 不恰当的列名
CREATE TABLE Products
(
Product_Id INT PRIMARY KEY,
Product,Name VARCHAR(50)
);
-- 恰当的列名
CREATE TABLE Products
(
ProductId INT PRIMARY KEY,
ProductName VARCHAR(50)
);
4. 约束的命名
4.1 约束名称为表 / 列名称开头,后加下划线加约束类型
约束名称为表 / 列名称开头,后加下划线加约束类型,这种命名方式是比较常用的命名方式。约束名称命名时表名最好写全称,字母尽量小写,中间加下划线。
-- 约定样例:表名_列名_约束类型
CREATE TABLE Products
(
ProductId INT PRIMARY KEY,
ProductName VARCHAR(50) NOT NULL,
Quantity INT DEFAULT 0,
Price DECIMAL(10,2) CHECK (Price > 0),
FK_SupplierId INT REFERENCES Suppliers(SupplierId)
ON DELETE CASCADE
);
-- 正确的约束命名
PK_Products_ProductId
CK_Products_Price
FK_Products_SupplierId
5. 数据库对象名
5.1 数据库名称应该简洁、有意义,且具有可读性
数据库名称应该简洁、有意义,不宜太长,长度建议在30个字符以内。应该采用常用的单词或缩写,并且应该具有可读性并且避免使用有歧义的单词。
-- 不恰当的数据库名
CREATE DATABASE my_company_products_database
...
-- 恰当的数据库名
CREATE DATABASE CompanyProducts
...
5.2 数据库对象名应该简洁、有意义,且具有可读性
数据库对象名应该简洁、有意义,不宜太长,长度建议在30个字符以内。应该采用常用的单词或缩写,并且应该具有可读性并且避免使用有歧义的单词。
-- 不恰当的对象名
CREATE VIEW V_ALL_PRODUCTS_AND_SUPPLIERS
AS
...
-- 恰当的对象名
CREATE VIEW ProductsAndSuppliers
AS
...
6. 总结
命名是一个非常重要且非常常见的问题。在项目开发中,合理的命名规范可以提高代码的可读性,降低开发维护成本。在实际开发中,我们需要合理地取名,严格遵守相关规范,确保命名的准确性和规范性,减少因命名不当因素引起的后期调整,提高工作效率。