PHP Web アプリケーションを構築する予定で、すでに Codeigniter + DataMapper を使用することに決めています(オーバージーラス版).
DataMapper を発見しました(オーバージーラス版)実際には 1 対多の関係しかない場合でも、追加の関連付けテーブルを使用する必要があります。
たとえば、国には多くのプレイヤーが所属できますが、プレイヤーは 1 つの国にしか所属できません。典型的なデータベース設計は次のようになります。
[countries] country_id(pk), country_name
[players] player_id(pk), player_name, country_id(fk)
ただし、DataMapper では、次のような設計が必要です。
[countries] country_id(pk), country_name
[players] player_id(pk), player_name
[asso_countries_players] countries_players_id(pk), country_id(fk), player_id(fk)
後でプレイヤーが複数の国に所属できることに気が変わった場合でも、ほとんど手間をかけずに実行できるため、メンテナンスに適しています。
しかし、私が知りたいのは、そのようなデータベース設計では、一般的に、典型的な設計と比較してパフォーマンスの向上または低下があるかということです。