2016-11-03 4 views
0

親子をサポートするデータベース構造を設計する際には、どのような要素を考慮する必要がありますか?親と子の両方を含む単一のテーブル内に親と子が含まれますか?それとも別のアプローチですか?親エンティティと子エンティティを含むデータベースを設計する際には、どのような要素を考慮する必要がありますか?

たとえば、質問と回答が同じ属性(例:テキスト、日付など)を持つ質問と回答のエンティティ。

+0

本当に「質問」と「回答」ですか? –

+0

「親と子」は(ファミリー)ツリーを示唆しているため、「ネストセット」と「隣接リストモデル」を参照してください。しかし、あなたは '参照され参照するテーブル'を意味するかもしれません。その場合は「外部キー」を参照してください。 – onedaywhen

答えて

1

私は意見の問題としてこれを閉じるように誘惑されます。ただし、具体例を挙げておきます。

ほとんどのアプリケーションでは、「質問」と「回答」は2つの異なるエンティティです。したがって、それらは2つの異なる表になければなりません。

関連するエンティティを1つのテーブルに配置する場合があります。私は質問と回答がそのような例ではないと思います。

+0

フィードバックのおかげで、私は意見の回答を避けるために質問を更新しました。 – Ryan

2

「親」を表すのにいくつの「列」が必要ですか? 「子供」のために何人ですか?重複はいくつですか?

私はかつてフォーラムタイプのスキーマを研究しました。同じテーブルに「スレッド」と「コメント」がありました。どちらの列も両方の列に使用されました。多くはなかった。私の分析では、パフォーマンス、明瞭性などが2つのテーブルを持つことによって利益を得ると判断しました。 (この場合、「子供」(「コメント」)に子供がいる可能性があります)

関連する問題