趣味で映画レビューサイトを構築中です。

その下準備として映画データベースを作ろうとしているのですが、テーブル構成で悩んでいます。
わたしが考えたデータベース内のテーブル構成は以下になります。

①映画情報テーブル
タイトル、製作年、製作国、ジャンル1、ジャンル2、ジャンル3、監督、出演者1、出演者2、出演者3、出演者4、出演者5、あらすじ

②レビューテーブル
タイトルid、感想、点数、印象(泣ける、笑える等)、見る相手(家族と、恋人等)

③付録テーブル
タイトルid、画像1、画像2、画像3、動画

はじめて、大規模なデータベースを作るので勝手が全く分かりません。
このままのテーブル構成で大丈夫なのかとても不安です。
(掲示板なら大丈夫なんですが・・・)
みなさんならどのようなテーブル構成にしますか?
あとその際に心がけていることを教えてください。
よろしくお願いします!

回答の条件
  • 1人20回まで
  • 13歳以上
  • 登録:2011/11/07 21:43:20
  • 終了:2011/11/14 21:45:03

ベストアンサー

id:windofjuly No.1

うぃんど回答回数2625ベストアンサー獲得回数11492011/11/07 21:56:27

ポイント100pt

運営形態や運営規模、開発言語などにもよりますが、

質問文にある情報を管理すると決めたならば、

下記のように、ある程度正規化したものをたたき台として、

データの取り扱い易さ/プログラミングの容易さなどを絡め、

必要な構成に煮詰めていきます

 

(1)マスターテーブル群

 

■ジャンルマスターテーブル

ジャンルID、名称

 

■人物マスターテーブル

人物ID、氏名、監督フラグ、

脚本家フラグ、出演者フラグ、

メモ(出身地とか、血液型とか・・・)

※監督フラグなどの種類が多くなる場合は別テーブルにする

 

■国名マスターテーブル

国ID、国名

※これはデータ入力補助のために用意しておくもの

メンテナンスを考えるとプログラムに記述しておくより楽だけど、

処理速度を求めるならばプログラムに記述しておくのも手

 

(2)データテーブル群

 

■映画情報テーブル

タイトルID、タイトル、製作年、製作国、監督(人物ID)、脚本(人物ID)、あらすじ

 

■ジャンルテーブル

ジャンルID、映画ID

 

■出演テーブル

人物ID、映画ID

 

■レビューテーブル

タイトルID、感想、点数、印象(泣ける、笑える等)、見る相手(家族と、恋人等)

 

■付録テーブル

タイトルID、通し番号、タイプ(画像か動画かなど)、リンク

他15件のコメントを見る
id:kyouryukun

流れは分かりました。あとはやっていくだけです!


すいません。少しお話が戻ってしまいますが

>出演者名は人物マスターテーブルのほうにあるので冗長ですが、

検索や閲覧時の負荷軽減のため関係者テーブルにも入れてます

という考え方でいけば、

ジャンルテーブルも(ジャンルID、映画ID、ジャンル名)にしたほうが良さそうですね。

2011/11/09 13:16:59
id:kyouryukun

本当にありがとうございました!!

2011/11/20 00:41:34

その他の回答(2件)

id:windofjuly No.1

うぃんど回答回数2625ベストアンサー獲得回数11492011/11/07 21:56:27ここでベストアンサー

ポイント100pt

運営形態や運営規模、開発言語などにもよりますが、

質問文にある情報を管理すると決めたならば、

下記のように、ある程度正規化したものをたたき台として、

データの取り扱い易さ/プログラミングの容易さなどを絡め、

必要な構成に煮詰めていきます

 

(1)マスターテーブル群

 

■ジャンルマスターテーブル

ジャンルID、名称

 

■人物マスターテーブル

人物ID、氏名、監督フラグ、

脚本家フラグ、出演者フラグ、

メモ(出身地とか、血液型とか・・・)

※監督フラグなどの種類が多くなる場合は別テーブルにする

 

■国名マスターテーブル

国ID、国名

※これはデータ入力補助のために用意しておくもの

メンテナンスを考えるとプログラムに記述しておくより楽だけど、

処理速度を求めるならばプログラムに記述しておくのも手

 

(2)データテーブル群

 

■映画情報テーブル

タイトルID、タイトル、製作年、製作国、監督(人物ID)、脚本(人物ID)、あらすじ

 

■ジャンルテーブル

ジャンルID、映画ID

 

■出演テーブル

人物ID、映画ID

 

■レビューテーブル

タイトルID、感想、点数、印象(泣ける、笑える等)、見る相手(家族と、恋人等)

 

■付録テーブル

タイトルID、通し番号、タイプ(画像か動画かなど)、リンク

他15件のコメントを見る
id:kyouryukun

流れは分かりました。あとはやっていくだけです!


すいません。少しお話が戻ってしまいますが

>出演者名は人物マスターテーブルのほうにあるので冗長ですが、

検索や閲覧時の負荷軽減のため関係者テーブルにも入れてます

という考え方でいけば、

ジャンルテーブルも(ジャンルID、映画ID、ジャンル名)にしたほうが良さそうですね。

2011/11/09 13:16:59
id:kyouryukun

本当にありがとうございました!!

2011/11/20 00:41:34
id:kodairabase No.2

kodairabase回答回数661ベストアンサー獲得回数802011/11/07 22:09:15

ポイント100pt

注意点:マスタテーブルと情報テーブルを区別し、下記の基本情報テーブルを起点としたリレーショナル構造を組むことです。


  1. 基本情報テーブル
    • 映画ID(※重複不可)
    • 原題
    • 原題サブ
    • 邦題
    • 邦題サブ
    • 制作国ID(国名ID)
    • 監督(人名ID)
    • あらすじ
    • 登録年月日
    • 登録者ID(ユーザーID)
    • 更新年月日
    • 更新者ID(ユーザーID)
  2. メディア情報テーブル
    • 映画ID(※重複可)
    • ファイル名(静止画、動画、音声など)
    • 登録年月日
    • 登録者ID(ユーザーID)
    • 更新年月日
    • 更新者ID(ユーザーID)
  3. レビュー情報テーブル
    • 映画ID(※重複可)
    • 感想
    • 点数
    • 印象
    • 見る相手
    • 登録年月日
    • 登録者ID(ユーザーID)
    • 更新年月日
    • 更新者ID(ユーザーID)
  4. キーワード情報テーブル
    • 映画ID(※重複可)
    • キーワード名
    • 登録年月日
    • 登録者ID(ユーザーID)
    • 更新年月日
    • 更新者ID(ユーザーID)
  5. ジャンル情報テーブル
    • 映画ID(※重複可)
    • ジャンルID
    • 登録年月日
    • 登録者ID(ユーザーID)
    • 更新年月日
    • 更新者ID(ユーザーID)
  6. 出演者情報テーブル
    • 映画ID(※重複可)
    • 出演者(人名ID)
    • 登録年月日
    • 登録者ID(ユーザーID)
    • 更新年月日
    • 更新者ID(ユーザーID)
  7. 映画人名マスタ
    • 人名ID(※重複不可)
    • 人名
    • 登録年月日
    • 登録者ID(ユーザーID)
    • 更新年月日
    • 更新者ID(ユーザーID)
  8. ジャンルマスタ
    • ジャンルID(※重複不可)
    • ジャンル名
    • 登録年月日
    • 登録者ID(ユーザーID)
    • 更新年月日
    • 更新者ID(ユーザーID)
  9. 国名マスタ
    • 国名ID(※重複不可)
    • 国名
    • 登録年月日
    • 登録者ID(ユーザーID)
    • 更新年月日
    • 更新者ID(ユーザーID)
  10. ユーザーマスタ
    • ユーザーID(※重複不可)
    • ユーザー名
    • 登録年月日
    • 登録者ID(ユーザーID)
    • 更新年月日
    • 更新者ID(ユーザーID)
id:kyouryukun

マスターテーブル群には、あらかじめ人物(映画関係者全員)やジャンルをいれておくものなのでしょうか?

2011/11/07 22:30:30
id:Cherenkov No.3

Cherenkov回答回数1502ベストアンサー獲得回数4922011/11/07 22:31:02

ポイント100pt

既存のシステムを手本にしたらいいんじゃないですか。

仕様を決められるのは製作者の特権。よく考えてダメだったら作りなおす。

  • id:kyouryukun
    開発言語はphp。
    使用データベースはMySQLです。
  • id:kyouryukun
    ジャンルは「'ドラマ','アクション','アドベンチャー','SF/ファンタジー','パニック','ラブストーリー','コメディ','Music/ミュージカル','スリラー/サスペンス','ホラー','戦争','任侠/時代劇','アニメーション','ファミリー/キッズ','ドキュメンタリー','実話'」
    の中から3つ選択します。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません