我们建议有森林。每只动物都生活在一片森林中。许多木屋都照看着每片森林,但每个木屋都只照看一片森林。
我想要的架构是:
- 森林:森林ID(PK),森林位置;
- 动物:动物ID(PK),森林ID(FK),动物类型;
- 木病房:木病房(PK),森林ID(FK),木病名称,出生日期。
1NF:
- 一些无用的表:森林ID,森林位置,动物ID(PK),动物类型,木病ID(PK),木病名称,出生日期。
2NF:
- 动物:动物ID(PK),森林ID(FK),动物类型,森林位置;
- 木病房:木病房(PK),森林ID(FK),木病名称,出生日期,森林位置;
- 一些无用的表:动物ID(PK),Wood-ward ID(PK)
3NF:
- 森林:森林ID(PK),森林位置;
- 动物:动物ID(PK),森林ID(FK),动物类型;
- 木病房:木病房(PK),森林ID(FK),木病名称,出生日期;
- Some-useless-table:动物ID(PK),Wood-ward ID(PK)。
当无用的表应该消失?动物和木病之间没有直接关系!