我可以使用3NF格式的表格,同时还有很多属性吗?

时间:2014-04-11 23:01:36

标签: mysql sql postgresql normalization

我试图为3个具有关系且以3NF形式的表找到一个很好的例子。我看到的所有示例在其表中只有2-3个属性。

我可以拥有3NF表格,所有3个表格各有5-6个属性吗?或者通常当你将其分解为3NF时,属性通常会减少到2-3?

例如,我通常会看到:

**Student Table**
Student ID
Student Name
Course ID

**Course Table**
Course ID
Course Name

**Lecturer Table**
Lecturer ID
Lecturer Name
Course ID

我正在寻找维持3NF并保留5-6个属性的表示例。 TNKS。

1 个答案:

答案 0 :(得分:1)

想象一下汽车数据库 - 真的有很多可能的属性:

  • ID
  • 类型[组合,豪华轿车,轿跑车]
  • 门数
  • 长度
  • 宽度
  • 高度
  • 轴距
  • 空重
  • 最大重量
  • 转弯半径
  • boot(trunc)volume
  • ...

第二个表可能包含不同的电机类型 - ID - 键入[柴油,奥托] - 汽缸容量 - 压缩 - turbo [是/否] - [以及许多,许多,许多特定的电机细节]

第三张表可以将所有可用的车辆和电机组合链接在一起: - vehicleId - motorId (然后键将是两行)

更多表格可能包含有关其他可交换车辆部件(齿轮传动,制动系统,加热,空调......)的信息。

想象一下足够复杂的材料,你会发现其他例子。那么城市提供的不同服务呢?您的列将具有布尔值(至少如果您没有在数据库中存储任何详细说明,您将通过参考表链接到城市)。

有关国家/地区的详细信息 - 您认为CIA's world fact book的数据库是什么样的?

或临床信息系统的数据库?

包含恒星和其他天文物体事实的数据库。

[继续......]