1

これで、次のような階層構造ができました。

段階
...学年
...学期
...教科....
単位....
授業

最初は、それらはすべてid parent関係を持って同じテーブル内に格納されていました。ただし、これら 6 つのレベルの各レベルには独自のデータがあります。たとえば、レッスンには がfeatured_video_idあり、サブジェクトには がありlanguage_idます。

今、私は 6 つのテーブルを作成することを考えています: 各レベルに 1 つずつ、それらを外部キーで接続します。あらゆる可能性を考えており、専門家の意見が役立つと考えました。その分裂は何かの役に立つのだろうか、それとも将来後悔することになるのだろうか?

4

2 に答える 2

1

段階、学年、学期などに個別のテーブルを用意することは非常に理にかなっています...

この理由についてはすでに述べましたが、これらのレベルごとに個別のデータを追加できます。適切な方法で外部キーに名前を付けることができます (つまりstage_id、グレードのテーブルで)。そして、授業や学期に混ざった科目のリストが必要になることはないと思います.

于 2013-09-24T19:54:36.073 に答える
0

私は両方のビットを行います:

  • 共通の主キーを持つすべてのレベルのすべてのアイテムを含むマスター テーブルを作成します。階層のすべてのレベルで共通の属性のみを含めます。parentここでそれらをキーでリンクします。
  • 階層の特定のレベルに固有の属性のみについて個別のテーブルを用意します。これらの「詳細表」では、マスター表の主キーを外部キーとして使用します。

これにより、懸念事項を分離できます。階層構造はマスターテーブルにあります。各レベルの詳細は、詳細テーブルにあります。

于 2013-09-24T20:00:24.800 に答える