0

映画関連の情報を保存するデータベースを設計しています。私は問題で立ち往生していて、それを解決する方法を知らないようです。

だから私は映画を保存するデータベースを作成しています、そして私の映画テーブルの場合、これらはその属性です

-movieID NUMBER PRIMARY KEY,
-title VARCHAR(10),
-genres genre_varray,
-producers
-director
-cast

プロデューサー、キャスト、ディレクターのために別のテーブルを作成します。私の問題は、フィールドプロデューサーとキャストの場合、人のリストを挿入する必要があり、キャストは各俳優に役割を追加する必要があります。どうすればよいかわかりません。ネストされたテーブルを使用することを考えていましたか?もう1つの問題は、人が俳優、監督、プロデューサー、またはすべての人物になる可能性があることです。

私が今まで持っているのは

supertype person_type - personID, name, sex
subtype actor_type - country
subtype director_type - country
subtype producer_type - company
table of people of type person_type
table of movie_people - profession

助けてくれてありがとう。

4

2 に答える 2

4

誰でも映画で1つ以上の役割を演じることができ、彼らが演じる役割は映画ごとに異なります。

人のテーブル、映画のテーブル、役割の種類(俳優、監督、プロデューサーなど)のテーブル、および3つすべてを(PersonID、MovieID、RoleID)のフィールドにリンクするテーブルがあります。

また、詳細に説明した配列ではなく、MovieGenres用に別のテーブルを用意します。

于 2012-10-18T12:57:10.933 に答える
2

合計で、6つのテーブルが必要です。

GENRES
GenreID
GenreName

ROLES
RoleID
RoleName  

PEOPLE
PersonID
PersonName

MOVIES
MovieID
MovieName
MovieYear

CASTLIST
CastID
MovieID
PersonID
RoleID 

MOVIEGENRE
MovieID
GenreID

人はいくつかの役割で映画のキャストリストに登場する可能性があります。そのため、私はテーブルに代理IDを与えました。それ以外の場合は、3つの外部キーすべてで構成される主キーが必要になります(3つの異なるキャラクターを1回だけプレイする人をリストすることを前提としています-ストレンジラブ博士をチェックしてください)。

MovieGenreテーブルを含むように編集されました。

于 2012-10-18T13:19:34.607 に答える