私は、データを格納するために SQL データベースに依存する映画カタログを設計しています。私はデータベース設計の専門家ではありません。正直なところ、基本的なデータベース クエリ以外にはあまり慣れていません。私の質問は、次のことを行う最も効率的な方法は何ですか。
現在、5つのテーブルが作成されています
Movies
------
[id] integer
[title] nvarchar(100)
[duration] integer
[year] datetime
People
------
[people_id] integer
[person] nvarchar(100)
Writers
-------
[id] integer
[people_id] integer
Directors
---------
[id] integer
[people_id] integer
Actors
------
[id] integer
[people_id] integer
基本的に、ジャンクション テーブルを使用した多対多の関係、映画 -> 作家 <-人、映画 -> 監督 <-人、最後に映画 -> 役者 <-人。People テーブルは、各役割に必要なデータを引き出すプールです。人は映画の監督とスター、作家と監督、または 3 つの役割すべてを兼ねることができるので、3 つのジャンクション テーブルがそれを解決すると信じていました。当然のことながら、人は多くの映画にも出演できます。だから、これがその方法だと思いました。
いくつかの Web 記事で多対多の関係のセットアップについて読みましたが、読めば読むほど、この状況をセットアップする方法がわからなくなります。ほとんどの場合、単一の分野に取り組むか、著者/本の類推を使用するだけで、自分の状況をどのように実装するかを理解するのに役立ちません.
前に述べたように、私の質問は、これはこれを行う効率的な方法ですか? それとも適切ですか?
映画を簡単にクエリして、それに関連するすべての情報をフォームに出力できるようにしたいと考えています。
ありがとう -Res