• ベストアンサー

テーブル設計に関して

よろしくお願い致します。 テーブルをはじめて設計することになりましてどのように設計すればいいのかわからず困っております。相談できる人が近くには全くいない状況で、皆様のアドバイスを頂きたいと思い質問させて頂きました。 本題ですが、企画の種類がいくつかあったとします。 まず大きくA企画とB企画があります。 A企画の中でも甲企画と乙企画にわかれます。 B企画はまずイ企画とロ企画にわかれます。そしてイ企画、ロ企画それぞれの中で甲企画と乙企画にわかれます。 このときどのような企画種類を表すテーブルを作るのが一番汎用性があるものとなるのでしょうか? 自分なりに考えたのは提案の階層ごとに【大分類テーブル】【中分類テーブル】【小分類テーブル】【実際のテーブル種類をもつテーブル】の4つを作るというものですが、これだと3階層で固定になってしまいますのでこれではよくないと思うのですが代わりの案が思いつきません。 アドバイスよろしくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • don_go
  • ベストアンサー率31% (336/1059)
回答No.3

企画テーブル 01:node種別(0=親、1=子) 02:企画ID 03:親node ID(-1=親node無し) 04:企画名 05:企画データ node 企画ID 親node 企画名  0 000001 -1 A企画    1 000003 000001 甲企画    1 000004 000001 乙企画  0 000002 -1 B企画    1 000005 000002 イ企画      1 000007 000005 甲企画      1 000008 000005 乙企画    1 000006 000002 ロ企画      1 000009 000006 甲企画      1 000010 000006 乙企画 ↑データベースを使ってツリー型の掲示板を作る場合 などでは上記の様なテーブルになります。

omatudon
質問者

お礼

回答ありがとうございます。 なるほどこのようなテーブルにするとどんな階層のものでも表すことができますね。大変参考になりました。 ありがとうございました。

その他の回答 (2)

noname#96023
noname#96023
回答No.2

とりあえず本屋でデータベース物理設計・論理設計の本を1,2冊読んでください 所詮webでは体系だったことを学ぶのは不利です

omatudon
質問者

お礼

回答ありがとうございます。 アドバイスの通りきちんと本を探して読むことにしました。 ありがとうございました。

  • kouta77
  • ベストアンサー率20% (185/896)
回答No.1

階層的に考えるのなら ・企画マスタ(企画ID、企画名など、、、) ・階層テーブル(親の企画IDと子の企画IDを持たせる) まあ、こんな感じで、まずは一つマスタテーブルを持つ考えにした方がいいですね。

omatudon
質問者

お礼

回答ありがとうございました。