1

私は、複数の組織が自分自身を登録し、クライアント、売り手、アイテム、販売注文などのリストなどのエンタープライズ テーブルのセットを操作できるアプリケーションを構築しています。クライアントごとに個別のテーブル セットを用意し、すべてを同じデータベース内で実行する方がはるかに安全です。たとえば、データベースは次のスキーマを持つことができます。

JOHNDOEFIRM_CUSTOMERS
JOHNDOEFIRM_CLIENTS
JOHNDOEFIRM_ORDERS
...

JAKEDOESONFIRM_CUSTOMERS
JAKEDOESONFIRM_CLIENTS
JAKEDOESONFIRM_ORDERS
...

など、会社ごとに 1 セットのテーブルを使用します。テーブルは、企業が登録するたびに作成され、適切なプレフィックスが付けられます。これには、次の利点があります。

  1. 会社が偶然に別の会社のテーブルを台無しにすることがなければ、より安全だろう.
  2. テーブルに対する会社固有のカスタマイズが行われます

企業ごとに別々のデータベースを保持するのと比較して、これを行う利点は何ですか? 各企業には約 20 ~ 40 のテーブルがあるため、テーブルの数はユーザー数に応じて爆発的に増加する傾向があり、データベース全体の速度が低下しますか?

今説明したアプリケーションの設計と、この投稿で指摘した問題に関するフィードバック、およびすべきこととすべきでないことの提案を大歓迎します。

ありがとう。

4

2 に答える 2