在SQL中的列中编写“ID”的正确方法
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在SQL中的列中编写“ID”的正确方法相关的知识,希望对你有一定的参考价值。
我在这里的第一个问题。我非常喜欢这个网站:)
我有一个名为Product的SQL表。在该表中,我想为产品的ID创建一个列,我真的想知道编写ID的正确方法,因为从长远来看,我会创建很多ID列。
它也是:“ID”或“Id”?
而且另一个表中的外键是ProductID还是ProductId?
就个人而言,我在Product表和FK中也有ProductID,ProductName等,以避免在任何地方都有ID和Name列
只是保持一致
SQL中的大写主要是编码风格的问题。一致性是最重要的方面。也就是说,“ProductId”看起来有点像“Productld”(在“d”之前是小写的L),所以我更喜欢“ProductID”(或“productID”或“product_id”)。
至于使用表名为列名添加前缀,我的书中的内容太多了。 Products.id
就足够了; Products.productID
是多余的。
没有一种“正确”的方式。只是保持一致。我个人的偏好是在两个表中使用ProductId。如果您对所有表使用“ID”,然后加入另一个表,您可能最终会将它们别名,以区分这两个ID字段。
根据你喜欢的。
大多数(很多?一些?我知道的?)框架似乎对主键使用小写“id”,对外键使用“primarykeytablename_id”,至少对于默认命名约定。我自己并不喜欢这个惯例,因为我喜欢在关系的两边都有相同名称的关键。
我的偏好是两个地方的EntityNameID(例如ProductID,OrderID,OrderDtlID等)。
我可能永远不应该接受那个心理学课,但因为有一个单词“id”,我总是大写标识符的缩写,因此我使用“ID”。我只使用ID和ProductID作为主键名称进行了实验。因为我使用LINQ并简单地在设计器中映射类,所以我已经在代码中按照我想要的方式命名列。因为我更喜欢product.ID
而不是product.ProductID
,所以我使用较短的名字。对于外键,我使用表/列格式(没有分隔符),因此外键将成为ProductID。不过,在我的代码中,这对我来说不是问题,因为我几乎总是使用映射的实体,例如cart.Product
而不是密钥本身,cart.ProductID
。
编辑:注意我假设.NET框架的目标,因此(主要)使用.NET的命名约定。如果我正在进行Rails开发,这些可能是小写的,我会使用下划线作为分隔符。
好吧,“Id”是“识别”的缩写,所以它“应该”是“Id”。
另一方面,它发音为“I-D”而不是“id”,因此“ID”也是可以接受的。
对于表的主键,我更喜欢“ProductId”而不仅仅是“Id”,因此外键关系的两边都匹配。
我倾向于没有'id'或'ID'。
我总是去桌子 - productName
pkProductName ProductName fkProductCode
和表 - ProductCode pkProductCode productCode
因此,即使您正在使用SQL或在代码中,关系也是明确且有意义的。
以上是关于在SQL中的列中编写“ID”的正确方法的主要内容,如果未能解决你的问题,请参考以下文章
如何将 SQL 中的列中的值 PIVOT 到新的列名中,然后在这些 PIVOT 列下列出其他列值?