MySQL表的命名约定

时间:2013-11-02 23:42:38

标签: mysql sql database database-design database-schema

我想得到一些意见,因为我正在考虑为我的新应用程序创建结构,我正在努力处理表格的名称,所以我想也许你可以给我一些想法。应用程序有用户和用户可以创建项目,而项目可以有多个关键字。因此,用户与项目之间存在一对多关系,项目与标签存在多对多关系。

所以有了表users我想项目表应该是users_projects。但关键词怎么样?它应该是users_projects_keywords吗?而对于数据透视表呢,因为我觉得把它命名为users_projects_to_users_projects_keywords或类似的东西有点不好。我会很感激提示。

编辑: 我一直认为一对多的关系应该被称为x_y,其中y属于x。这不是一个好习惯吗?

2 个答案:

答案 0 :(得分:0)

我会usersprojectskeywordsproject_keywords。我会使用外键来定义表之间的关系。例如,projects会有createdby_userid之类的列,引用users.user_id列。

答案 1 :(得分:0)

一个想法:

可能有三个词典:

  • 表格users应包含id和其他数据。
  • projects也是如此。
  • 所以表keywords

然后创建“链接”(关系)表:

  • users_projectsid, id_user, id_project
  • projects_keywordsid, id_project, id_keyword

修改: 如@Laurence所述,将id_user纳入表projects确实是合理的。