- ベストアンサー
テーブル設計に関して
よろしくお願い致します。 テーブルをはじめて設計することになりましてどのように設計すればいいのかわからず困っております。相談できる人が近くには全くいない状況で、皆様のアドバイスを頂きたいと思い質問させて頂きました。 本題ですが、企画の種類がいくつかあったとします。 まず大きくA企画とB企画があります。 A企画の中でも甲企画と乙企画にわかれます。 B企画はまずイ企画とロ企画にわかれます。そしてイ企画、ロ企画それぞれの中で甲企画と乙企画にわかれます。 このときどのような企画種類を表すテーブルを作るのが一番汎用性があるものとなるのでしょうか? 自分なりに考えたのは提案の階層ごとに【大分類テーブル】【中分類テーブル】【小分類テーブル】【実際のテーブル種類をもつテーブル】の4つを作るというものですが、これだと3階層で固定になってしまいますのでこれではよくないと思うのですが代わりの案が思いつきません。 アドバイスよろしくお願い致します。
- みんなの回答 (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 乙企画 ↑データベースを使ってツリー型の掲示板を作る場合 などでは上記の様なテーブルになります。
その他の回答 (2)
とりあえず本屋でデータベース物理設計・論理設計の本を1,2冊読んでください 所詮webでは体系だったことを学ぶのは不利です
お礼
回答ありがとうございます。 アドバイスの通りきちんと本を探して読むことにしました。 ありがとうございました。
- kouta77
- ベストアンサー率20% (185/896)
階層的に考えるのなら ・企画マスタ(企画ID、企画名など、、、) ・階層テーブル(親の企画IDと子の企画IDを持たせる) まあ、こんな感じで、まずは一つマスタテーブルを持つ考えにした方がいいですね。
お礼
回答ありがとうございました。
お礼
回答ありがとうございます。 なるほどこのようなテーブルにするとどんな階層のものでも表すことができますね。大変参考になりました。 ありがとうございました。