学校や大学に関するデータを保存する必要があります (語学コースなどのエンティティも計画されています)。
保存する必要があるデータのリスト:
- 利用可能な学習プログラム
- 宿泊施設の可能性
- 特別食の入手可能性
- 等
そこで、学校と大学用のテーブルを作成しました。
Place (place_id, name, city_id ... )
School (place_id (FK), school_type ...)
University (place_id (FK), ... )
オプションの表:
Accomodation (accomodation_id, name, description ...)
Activity (activity_id, name, category ...)
...
そして、それが複数のオプションになる可能性が常にあるので、私はそれらを次のような表で結び付けました:
Accomodation_to_place (place_id, accomodation_id)
...
しかし、この全体からデータを更新したり、取得したりするのは非常に難しいことがわかりました。必要なすべての情報を取得するには、14 回の結合と 7 回の GROUP_CONCAT() を行う必要があります。
そのため、データベースの設計に重大な欠陥があるに違いないと考えました。そして、それをより良く/より簡単にする方法について何かアイデアを求めたいと思いました.