我想知道哪种是命名MySQL数据库中的表和字段的更正确方法。
以及如何区分中间表的表.
例子:
表名: 用户或用户
外键列: user_id或 ID 或user_ID
表格有两个字: purchased_point或point_puchased或点
迭代中间表(多对多) users_sites或user_sites或用户站点
是否有一些"风格指南",例如:https://www.codeigniter.com/user_guide/general/styleguide.html
全部大写。 不同的单词分隔符是 _ 下划线。
主表或父表前缀 MSTR子表前缀 MPNG多个父项称为 TRXN 的事务表
将所有表固定为_TBL
以用户身份而不是用户身份对表使用单数名称
例如 MSTR_USER_TBL、MPNG_ACCOUNT_TBL、TRXN_CART_ITEM_TBL
我遵循这些惯例。使阅读更简单。
我们所做的是否是标准的,但这是我们所做的:
- 我们使用单数名称。复数是不必要的:我们已经知道表中可以有多个用户
User
。 - 我们的数据库与 Java 应用程序一起使用,因此我们对表名和列名使用 Java 命名约定。 这与我们的 DAO 层非常有效。 这意味着:
- 没有下划线;
- 表名每个单词的第一个字母大写 (
PurchasedPoint
);
列名第一个单词的第一个字母为 - 小写,所有其他单词的第一个字母为大写字母(
userID
);
- 对我来说,表名中的词序给出了表之间关系的提示。 例如,如果有一个表
Purchase
和一个表PurchasePoint
我可以很容易地猜到它们之间是否存在某种关系。 - 对于中间表,我们将使用类似
UserSite
.
希望它能有所帮助。