6

PHPとMySQLでマルチユーザー/会社のWebアプリケーションを作成しています。データベースの構造化に関するベストプラクティスを知りたいです。

このWebアプリには数百の企業と数千のユーザーがいるため、これは堅牢である必要があります。各企業は、自社のデータだけを表示することはできません。私たちは主にテキストデータを保存し、おそらく会社ごとに数MBしか保存しません。

現在、データベースには14のテーブルが含まれています(1つのサンプル会社用)。

すべての企業とそのユーザーのデータを1つのデータベースに入れて、それぞれに固有のcompanyIDを作成する方がよいでしょうか。

また:

各会社のデータを独自のデータベースに入れて、追加する新しい会社ごとに新しいデータベースとテーブルセットを作成する方がよいでしょうか。

各アプローチの長所と短所は何ですか?

ありがとう、

スティーブン

4

4 に答える 4

7

単一の Web アプリがすべての異なる企業で使用されている場合、個別のデータベースを使用する非常に具体的な必要性または理由がない限り (そうではないように思えます)、単一のデータベースを使用する必要があります。

アプリケーションは、正しい認証済みユーザーに正しい情報のみを表示する責任があります。

于 2009-12-16T00:01:18.840 に答える
3

複数のデータベースを維持するのは悪夢です。新しい会社ごとに、それぞれを作成して管理する必要があります。1 つのスキーマを変更する場合は、14+ に変更する必要があります。

何千人ものユーザーと何千ものアプリが問題になることはありませんが、Access やそのようなばかげたものではなく、実際のデータベースを使用している限りは問題ありません。

于 2009-12-17T07:21:47.580 に答える
2

単一データベースはリレーショナル方式です。この観点からの 1 つの側面は、データベースがデータベースの使用状況に関する統計を収集し、これを多用することです。物事を分割すると、統計が断片化されるため、自分自身を撃つことになります.

于 2009-12-16T00:15:22.530 に答える