次のシナリオがあるとしましょう。2 つのLocalLibrary
テーブルBooks
とReaders
| BookID| Title | Author |
-----------------------------
| 1 | "Title1" | "John" |
| 2 | "Title2" | "Adam" |
| 3 | "Title3" | "Adil" |
------------------------------
そして、リーダーテーブルは次のようになります。
| UserID| Name |
-----------------
| 1 | xy L
| 2 | yz |
| 3 | xz |
----------------
ここで、ユーザーが読んだ本のリストを作成できるとしましょう (上記の著者の本のみを厳密に含む本棚、つまり私たちの Db の著者)。では、その本棚をデータベースで表現する最良の方法は何ですか。
私の最初の考えは、 テーブルBookID
内のカンマ区切りのリストでした。Readers
しかし、リレーショナル Db にとっては明らかに厄介に思えます。また、ユーザーの書籍のリストを表示するたびに分割する必要があります。また、ユーザーが新しい本を棚に追加するとき、カンマ区切りのリストを分割して 2 つの ID を比較する以外に、その本が棚に既に存在するかどうかを確認する方法はありません。削除も簡単ではありません。
したがって、ある行では、問題は、このような状況をどのように適切にモデル化するかです。MySQL では単純な SELECT と INSERT 以外は何もしていません。より簡単な言葉で説明し、さらに読むためのリンクを提供していただけると、非常に役に立ちます。
さらに説明が必要な場合はコメントしてください。