gpt4 book ai didi

sql - 当涉及到数据库列时,您是否更喜欢详细的命名?

转载 作者:行者123 更新时间:2023-12-03 03:35:51 25 4
gpt4 key购买 nike

你更喜欢哪一个?

假设我们有一个通用 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
)

对列使用显式命名(例如产品名称、产品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
)

据我所知,.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 ProductName, c.Name AS CategoryName from Categories c inner join Products p on c.ID = p.CategoryID 更自然

我想,鉴于我提供的基本示例,这不是什么大问题,但是当您处理大量数据和表格时呢?我仍然会发现第一个示例比第二个示例更好,尽管两者的某些组合可能值得研究(<Table>ID 用于 ID,但只是 Name 用于名称?)。显然,在现有项目中,您应该遵循已经建立的约定,但是对于新的开发呢?

你的偏好是什么?

最佳答案

表名已经给出了上下文。无需在列名称前添加前缀。连接表时使用 table.column 语法。

关于sql - 当涉及到数据库列时,您是否更喜欢详细的命名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/529863/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com