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
プライマリキーが社員+ LocationIdだろう、これはあなたに彼らがその場所に持っているスキルを提供します。この例では、SkillName列を含めて3NFに違反しています。 この習慣は、実際に一緒に使用されるパフォーマンスの読み込みデータを増やすために結合を減らすために、実際にはデータベース設計(および "非正規化")で時々使用されます。
これは、通常、レポート作成に使用されるテーブルでのみ行われます。
NFの違い:http://stackoverflow.com/questions/723998/can-someone-please-give-an-example-of-1nf-2nf-and-3nf-in-plain-english – BlackICE
@デビッド感謝あなたは私が上記のものと正しかったかどうかを教えてくれますか? – maclunian
投稿にあるものから3NFのように見えます。それは必ずしもそれがあなたが欲しいものをやることを意味するものではありません:) – BlackICE