你最喜欢哪个?
假设我们有一个通用的Product表,它有一个ID,一个名称和一个类别的外键引用.您是否愿意将您的桌子命名为:
CREATE TABLE Products
(
ProductID int NOT NULL IDENTITY(1,1) PRIMARY KEY,
CategoryID int NOT NULL FOREIGN KEY REFERENCES Categories(CategoryID),
ProductName varchar(200) NOT NULL
)
Run Code Online (Sandbox Code Playgroud)
使用列的显式命名(例如产品名称,产品 ID)或类似的东西:
CREATE TABLE Products
(
ID int NOT NULL IDENTITY(1,1) PRIMARY KEY,
CategoryID int NOT NULL FOREIGN KEY REFERENCES Categories(ID),
Name varchar(200) NOT NULL
)
Run Code Online (Sandbox Code Playgroud)
从我所看到的,.NET世界中的约定是明确的 - 样本倾向于使用第一个示例,而开源和RoR世界倾向于第二个示例.就个人而言,我发现第一眼看上去更容易阅读和理解: select p.ProductID, p.ProductName, c.CategoryName from Categories c inner join Products p on c.CategoryID = p.CategoryID对我来说似乎比自然更自然select p.ID AS ProductID, p.Name AS …