sql - Id 或 [TableName]Id 作为主键/实体标识符

标签 sql sql-server database-design orm naming-conventions

首选使用“Id”作为主键的列名还是“[TableName]Id”作为命名约定?

Table: Account
Primary Key: Id



- 相对 -

Table: Account
Primary Key: AccountId



在我见过的实现中,它似乎被分割了大约 50%/50%。每种方法的优缺点是什么?

跟进:

在我的数据库中使用一种约定,而在代码中的实体上使用另一种约定是否有意义?还是我应该让它们保持一致?这在大多数 ORM 中如何发挥最佳作用?

最佳答案

为清楚起见,TableNameID

  • 提高 JOIN 可读性
  • 例如,当多个 FK“ID”列(PK 匹配 FK)时的清晰度
  • ID 是保留关键字
  • 关于sql - Id 或 [TableName]Id 作为主键/实体标识符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/863872/

    相关文章:

    sql - SOLID 存储过程和函数

    MySQL 结构::友谊

    php - 能够在 WordPress : Does this sort of feature need a custom database table? 中发布 'like' 博客文章

    sql-server - Postgres 和 MS SQL Server 上的相同变更日志

    sql-server - 如何找到我的 (localdb) SQL Server 2012 数据库的位置并对其进行备份?

    mysql - 调度数据库设计

    sql - 在 FROM 之前在 SQL Server 中创建别名?

    python - 如何在不使用批量插入查询的情况下导入文件csv?

    mysql - SQL查询查找每个user_id的最大id

    mysql - 计算贷款支付以及支付何时得到满足 - 允许部分支付