2012-02-15 36 views
1

私はデータベースとしてMySQLを使用するモジュール式PHPアプリケーションを構築しています。モジュラーアプリケーションのデータベーステーブル命名規則

私はORMライブラリとしてredbean使用することを好むだろう。

バージョン2は、私は、バージョン3は、この機能を削除し、すべてのテーブルのdefault naming conventionを使用しながら物事を命名の私自身の方法を紹介することができます。

私は今、私のテーブルに名前を付けた後、私は次のスキーマ検討していますバージョン3またはバージョン2

を使用するかどうかを決定するための方法を決定しようとしています:

  • コアコンポーネントを

    • アカウント
    • EMAILADDRESS
  • モジュール

    • ecommerce_product
    • ecommerce_order
    • account_ecommerce_order(コアテーブルとリンクテーブル)
    • ecommerce_order_ecommerce_product(モジュールテーブル間のリンクテーブル)

私の "コア"テーブルの先頭に "core_"を付ける必要がありますか?

私はそれがテーブルモジュールまたはコアアプリケーションに属しているかどうかを決定する非常に簡単であるように私のモジュールのプレフィックスを有するように。これには何らかの理由がありますか?

リンクテーブルでは、過度に長くなる可能性があるため、いくつか気になります。これをより良くする方法はありますか?

答えて

0

私は上記の表名で行くことにしましたし、それについて考えた後、3

をRedBeanに移行している、私は、コアコンポーネントの接頭辞は完全に有用ではないと感じました。また、$account = R::dispense('account')と比較して$account = R::dispense('core_account')と入力する方が時間がかかります。

接頭辞は、任意の合成値を追加したり、可読性を高めるものではありません。

私のモジュールecommerce_productなどのプレフィックスは、実際には非常に有用であり、読みやすさを向上させます。 ecommerce_productを参照すると、それがeコマースモジュールの一部であることをすぐに知ることができます。