2012-02-15 65 views
1

我使用MySQL作为我的数据库构建模块化php应用程序。模块化应用程序的数据库表命名约定

我倾向于使用redbean作为我的ORM库。

版本2允许我引入自己的命名方式,而版本3取消了此功能,并对所有表使用了default naming convention

我现在试图确定的方式来命名我的表,然后再决定自己是否会使用版本3或版本2

我正在考虑以下模式:

  • 核心组件

    • 帐户
    • EMAILADDRESS
  • 模块

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

我应该用“core_”作为我的“核心”表吗?

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

链接表让我困惑,因为它们可能会过长。有什么方法可以让这个更好吗?

回答

0

我决定去上面的表名和已经迁移到红豆3.

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

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

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