我想知道 MySQL 表的命名是否有某种标准?我目前有两张表,一张称为“用户”,一张称为“培训”。因为我需要它们具有多对多关系,所以需要创建一个将这两者互连的表,但我无法想到除用户/培训之外的正确命名。
最佳答案
没有官方的最佳实践,但有一些经过充分测试的启发式方法...... 如果我的 ORM 或其他东西不强制执行它自己的标准,我喜欢使用下划线分隔符号,但始终按字母顺序排列。另外,我总是使用单数作为我的类和表名,以避免纯粹化。多对多本质上你无法分辨哪个“拥有”另一个,所以字母顺序规则只是让它变得更容易。
user
address
zebra
address_user
user_zebra
一套简单的规则,对于如何/什么命名事物不会产生任何困惑,并且易于解释。
更进一步,我建议除非有非常具体的原因不允许这样做:
- 表名和列名始终使用小写(这样,从区分大小写的文件系统转移到不区分大小写的文件系统时,您就不会感到惊讶 - 不必记住驼峰式大小写也更容易)
- 命名表的主键(如果不是复合键)
id
- 以 tablename_id 格式命名外键(如 user_id、zebra_id)
记住,只是指导方针,而不是教条。
这些指南将使您和您 future 的 dba 的生活变得更好。
关于mysql - 多对多关系表命名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21239093/