以下の表があり、2NFに変換することになっています。
私が行ったところ、これに対する答えがあります:
スキル:従業員、スキル
場所:従業員、現在の勤務地
私はこれが^上記^で間違っていると感じています。
また、誰かが1NF、2NF、3NFの違いを説明できますか。私は1が最初に来ることを知っています、そしてあなたはそれをすべて小さなテーブルに分割しなければなりません、しかし私がよりよく理解するのを助けるために本当に良い説明が欲しいです。ありがとう
以下の表があり、2NFに変換することになっています。
私が行ったところ、これに対する答えがあります:
スキル:従業員、スキル
場所:従業員、現在の勤務地
私はこれが^上記^で間違っていると感じています。
また、誰かが1NF、2NF、3NFの違いを説明できますか。私は1が最初に来ることを知っています、そしてあなたはそれをすべて小さなテーブルに分割しなければなりません、しかし私がよりよく理解するのを助けるために本当に良い説明が欲しいです。ありがとう
私は2NFを学ぶのは初めてですが、このような答えを解決しました。私の間違いを理解してもっと練習できるように、これが正しいかどうか教えてください。
2つのテーブルのみ。ありがとう
Employee Table
EmployeeID | Name
1 | Jones
2 | Bravo
3 | Ellis
4 | Harrison
Skills Table
SkillId | Skill
1 | Typing
2 | Shorthand
3 | Whittling
4 | Light Cleaning
5 | Alchemy
6 | Juggling
Location Table
LocationId | Name
1 | 114 Main Street
2 | 73 Industrial Way
EmployeeSkill Table
EmployeeId | LocationId | SkillId | SkillName
1 | 1 | 1 | Typing
1 | 1 | 2 | Shorthand
1 | 1 | 3 | Whittling
2 | 2 | 4 | Light Cleaning
3 | 2 | 5 | Alchemy
3 | 2 | 6 | Juggling
4 | 2 | 4 | Light Cleaning
EmployeeSkillテーブルでは、主キーはEmployeeId + LocationIdになります。これにより、その場所でのスキルが得られます。この例では、SkillName列を含めると3NFに違反します。この方法は、結合を減らして、一般的に一緒に使用されるデータの読み取りパフォーマンスを向上させるために、データベース設計で実際に使用されることがあります(「非正規化」と呼ばれます)。
通常、これはレポートに使用されるテーブルでのみ実行されます。