加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

sql – 对于数据库列,您更喜欢详细命名吗?

发布时间:2020-12-12 16:26:29 所属栏目:MsSql教程 来源:网络整理
导读:你最喜欢哪个? 假设我们有一个通用的Product表,它有一个ID,一个名称和一个类别的外键引用.您是否愿意将您的桌子命名为: CREATE TABLE Products( ProductID int NOT NULL IDENTITY(1,1) PRIMARY KEY,CategoryID int NOT NULL FOREIGN KEY REFERENCES Categor
你最喜欢哪个?

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

使用列的显式命名(例如ProductName,ProductID)或类似的东西:

CREATE TABLE Products
(
    ID int NOT NULL IDENTITY(1,CategoryID int NOT NULL FOREIGN KEY REFERENCES Categories(ID),Name varchar(200) NOT NULL
)

从我所看到的,.NET世界中的约定是明确的 – 样本倾向于使用第一个示例,而开源和RoR世界倾向于第二个示例.我个人发现第一眼看上去更容易阅读和理解:选择p.ProductID,p.ProductName,c.CategoryName from Categories c inner join产品p on c.CategoryID = p.CategoryID对我来说似乎比选择更自然p.ID AS ProductID,p.Name AS ProductName,c.Name AS CategoryName from Categories c inner join产品p on c.ID = p.CategoryID

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

你有什么偏好?

解决方法

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读