プロジェクトの開始時に、会社のコレクションを保存し、各会社内に従業員のコレクションを保存したいとします。
ドキュメント データベース (MongoDB など) を使用しているため、構造は次のようになります。
+ Customers[]
+--Customer
+--Employees[]
+--Employee
+--Employee
+--Customer
+--Employees[]
+--Employee
将来的に、一部の従業員が複数の会社で働くという新しい要件が追加された場合はどうなりますか?
文書データベースでこの種の変更をどのように管理するのでしょうか?
ドキュメント データベースの単純さは、簡単に変更できない壊れやすいデータ構造を作成するため、最悪の敵になりませんか?
上記の例では、変更スクリプトを実行して新しい「Employees」コレクションを作成し、すべての従業員をそのコレクションに移動する必要がありますが、何らかの関係キー (各従業員の CompanyID など) を維持します。
上記を徹底的に行った場合、多くのコレクションがあり、階層がほとんどなく、ドキュメントがキーによって結合されることになります。
その場合、ドキュメント データベースをそのまま使用できますか?
リレーショナル データベースのようになっていませんか。