命名SQL表列的最佳实践

Psy*_*che 18 sql

我将参与一个大项目,我想知道在您看来哪个是命名SQL表列的最佳实践.

让我们说我们有一个产品表.您更喜欢以下哪种命名?

  • ID,
  • 名称,
  • 描述,
  • 照片,
  • 价钱

要么

  • PRODUCT_ID,
  • 产品名称,
  • 产品描述,
  • product_photo,
  • PRODUCT_PRICE

Rus*_*uss 27

使用表名前缀列名不会增加任何好处并使代码混乱.第一选择更好.只有列"ID"可能有前缀的好处,因为这可能是一个键,并且可能有其他表具有相同的列.

  • `table_id`的+1:它很棒,因为当你一次使用多个表时它不会导致名称冲突的任何问题,但通常在其他地方没有太多用处. (4认同)
  • 同意.在标识列中使用表名称的一个显着好处是,您可以通过检查看到您的连接是正确的,例如,如果我写`p.ProductId = pp.ProductPartId`那么它显然是错误的,而`p.ProductId = pp. ProductId`显然是正确的. (2认同)

Gio*_*rgi 11

绝对是第一个.其次是违反DRY原则.


Joh*_*ohn 6

我认为在大多数情况下,第一种情况会很好,因为您通常需要在查询中指定表格.因此,如果表(或别名)的名称是描述性的,那么事情product.id会更清楚product.product_id.