PKには固有の値が必要であることを私は知っています。また、テーブルが3NFにある場合、別の非キーに依存して非キーが存在しないことも知っています。
私はこれらの要件を備えたテーブルを作成しようとしています。データは、教授が複数のアドバイスを持ち、複数の委員会に参加でき、複数のジャーナルを編集できることを反映しています。
これらの属性を持つProfessorテーブルがあります(すべてPKに依存します):
教授Aには5つのCOMMITTEE_CODEがあるので、(各ボックスをアトミックにするために)異なる行に異なるCOMMITTEE_CODEを配置しますが、それはEMP_NUM、PROF_RANK、およびPROF_OFFICEを5回繰り返す必要があることを意味します。したがって、EMP_NUMをPKと見なすことができるかどうかを確認します。
3NFテーブルのPKの値が繰り返されているいくつかのWebサイトで例を見ました。しかし、idk、PKは一意の値のみを持つことになっているのではありませんか?
EMP_NUMとCOMMITTEE_CODEを新しいテーブルに分離した場合でも、5つの異なるCOMMITTEE_CODEに対して同じEMP_NUMを5回繰り返す必要があります。
私が理解しているように、教授と委員会は多対多の関係です。この場合、結合テーブルPROF_COMM_REL
テーブルを作成する必要があります。
SURROGATE ID
EMP_NUM (FK)
COMMITTEE_CODE(FK)
COMMITTEE_CODE
リレーションは結合テーブルに格納されているため、Professorテーブルには何も含めないでください。
また、サロゲートキー(時間の経過とともに変化する可能性のあるもののような意味を持たないID)を使用することをお勧めします。たとえば、人の名前は変更される可能性があり、データベース構造全体を更新する必要があるため、名前をPKにすることはできません。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加