MySQL最佳实践命名约定

MySQL最佳实践命名约定,mysql,Mysql,考虑以下简单的表格: id primary-key, auto-increment name varchar(256) +---------+ - tasks - +-------------------------------------------+ - id | name - +-------------------------------------------+ - 1 | Go to supermark

考虑以下简单的表格:

id primary-key, auto-increment
name varchar(256)
+---------+
- tasks   -
+-------------------------------------------+
- id      |  name                           -
+-------------------------------------------+
- 1       |  Go to supermarket              -
- 2       |  Buy cheese                     -
- 3       |  Buy PS4 and not Xbone          -
+-------------------------------------------+

id primary-key, auto-increment
username unique varchar(128)
+---------+
- users   -
+-------------------------------------------+
- id      |  username                       -
+-------------------------------------------+
- 1       |  dalejr                         -
- 2       |  firstnamelastname              -
+-------------------------------------------+

user_id fk, index
task_id fk, index
+---------------+
- users_tasks   -
+-------------------------------------------+
- user_id      |  task_id                   -
+-------------------------------------------+
- 1       |  1                              -
- 1       |  2                              -
- 2       |  3                              -
+-------------------------------------------+
  • 我总是将我的表名和列名小写
  • 我总是使用'id'而不是'task_id',除非它是外键。我认为
    tablename.tablename\u id
    很愚蠢
  • 我总是索引外键,比如users\u tasks表
这种做法与既定的MySQL惯例/最佳做法有何不同?


更重要的是,。。。不好吗?

我认为没有“标准惯例”。我觉得你的方式很好。只要你在所有的表格中都保持一致,你就很好:)我完全同意火箭……以我的经验,你目前的做法是最好的。如果你使用这个惯例,几乎所有的事情都很简单。当某人打开
user\u tasks
表时,他会知道
user\u id
users.id
有关。我通常会将
users
中的
id
列命名为
user\u id
,这仅仅是因为团队中的新人更容易立即开始工作。我也同意“RocketHazmat”。@ChrisG。我已投票结束这一问题。你问的是关于宗教的开放式问题(在某种意义上),这在这里是不合适的。我得到了答案:)