シナリオは次のとおりです。さまざまな科目を教える教師がいます。主題は章で構成されています。同じ教科を教えているが、異なる章が割り当てられている教師が複数いる場合があります。章の中にはトピック、サブトピック(階層)があります。
私は実体に関心があります:章、トピックのみ。チャプターには、teacher_id、subject_id、title、designed_hoursなどのプロパティがあります。トピック(サブトピックもあり、サブトピックにはサブトピックが含まれている場合があります。つまり、階層的です)。トピックのプロパティは、title、teaching_methodology、hours、periods、completion_dateです。
私の提案する構造:
chapters topics
-id -id
-subject_id (fk) -chapter_id (fk) references chapters
-teacher_id (fk) -parent_id (fk) references topics itself
-title -title
-designated_hours -hours
-periods
-completion_date
-teaching_methodology
私の質問は、私の構造が正規化されているかどうかです。トピックにサブトピックがある場合、時間、期間、completion_date、teaching_methodologyなどのフィールドはnullになります。これらのプロパティ用に別のテーブルを作成する必要があります
topic_properties
-id
-topic_id (fk) references topic
-hours
-periods
他のデータベース構造を提案することもできます。このモジュールを開始する直前に構造を取得していることを確認したいだけです