模块化应用程序的数据库表命名约定

时间:2012-02-15 03:27:58

标签: mysql database-design naming-conventions

我正在构建一个使用MySQL作为我的数据库的模块化php应用程序。

我更愿意使用redbean作为我的ORM库。

版本2允许我介绍我自己的命名方式,而版本3删除此功能并对所有表使用default naming convention

我现在正在尝试确定一种命名表格的方法,然后决定是使用版本3还是版本2.

我正在考虑以下架构:

  • 核心组件

    • 帐户
    • EMAILADDRESS
  • 模块

    • ecommerce_product
    • ecommerce_order
    • account_ecommerce_order(与核心表的链接表)
    • ecommerce_order_ecommerce_product(模块表之间的链接表)

我应该在“核心”表格前加上“核心_”吗?

我喜欢为我的模块添加前缀,因为很容易确定表是属于模块还是核心应用程序。有没有理由反对这个?

链接表让我感到困惑,因为它们可能会过长。有没有办法让这更好?

1 个答案:

答案 0 :(得分:0)

我决定使用上面的表名并迁移到RedBean 3。

在考虑之后,我觉得核心组件的前缀并不完全有用。与$account = R::dispense('core_account')相比,输入$account = R::dispense('account')的时间也更长。

core_前缀不会添加任何合成值或增强可读性。

前缀我的模块ecommerce_product等,实际上非常有用并增强了可读性。引用ecommerce_product时,可以立即知道它是电子商务模块的一部分。