0

私は、すべての会社 (私たちのアプリを使用する) が個人用サブドメイン company.domain.com を持つプロジェクト管理アプリに取り組んでいます。多くの理由から、私は会社ごとに別々のデータベースを使用することにしました。

企業は、プロジェクトで一緒に作業するように (電子メールで) 人々を招待できます。ユーザーは複数の会社に所属できます (したがって、複数のデータベースに表示される必要があります)。ただし、ユーザーは会社ごとに同じユーザー名、パスワード、および姓名を使用するため、ユーザー データとログイン情報は別のデータベースに保存されます。

私が今していることは、次のとおりです。

  • ユーザー、ID (user_id、ユーザー名、パスワード) を含む別のデータベースが存在します。
  • 各企業のすべてのデータベースには、ユーザーに関する同じデータを含むusersテーブルも存在します (実際には、名前、姓、タイムゾーンの 3 つのフィールドのみ)。

これに対するより良い解決策はありますか?質問について質問がある場合:)質問してください。

私はphp + mysqlを使用しています。

4

1 に答える 1

2

より多くのデータテーブルにユーザーデータを含めることは正しいとは思いません-冗長性について考えてください...

ユーザー データを含むデータベースがある場合、会社のデータベースをユーザー データ用のこのデータベースにリンクしないのはなぜですか?

簡単なイメージ: users テーブルの分割方法の例

会社のデータベース内 ユーザー テーブル内に追加の会社ベースのユーザー データを含めることができますが、共通データはストレージごとに 1 回だけ保持する必要があります...

編集: ORA ストレージは単なる例です。MySQL データベースも使用できます...

于 2012-05-15T10:38:59.467 に答える