Oracle DBにテーブルがあります。たとえば、Studentテーブルです。StudentIDは、テーブルの主キーです。別の列に関心のあるサブジェクトがあります。たとえば、列名はinterested_SUBです。学生は複数の興味のある科目を持つことができます。この場合、次の2つのオプションがあります。
1)StudentID列とInterested_SUB列を複合主キーとして使用します。この場合、たとえば、学生が3つの科目に関心がある場合、列の値として(S1、SUB1)(S1、SUB2)および(S1、SUB3)を含むテーブルに3つの行があり、他のすべての列は同じになります。これらの3つの行の値。
2)StudentId列とInterested_SUB列を含む個別のテーブルと、最初のテーブルに追加の列を作成して、学生が複数の科目に関心があるかどうかを示します。この場合、studentIdとSUBを(S1、SUB1)として、新しいインジケーター列を「Y」として、studentテーブルの学生ごとに1行にします。2番目のテーブル(S1、SUB2)&(S1、SUB3)。
上記のオプションのどれがDBのパフォーマンスを向上させているかを教えてください。
前もって感謝します