按照你的思路来看题目:(配件编号,配件名称,型号规格,供应商名称,供应商地址,单价,库存量)思路:
配件类(配件编号,配件名称,型号规格,供应商名称,单价,库存)、
供应商(供应商名称,供应商地址);分析:
对于第三范式来说需要确保属性不依赖于其它非主属性。
楼主给出的配件类,对于某个配件来说可以由多个供应商提供,而且一个供应商肯定可以提供多个配件,之间的关系明显是多对多的关系,那么配件编号和供应商编号都无法作为主属性存在,因为之间是互相依赖的关系。
对第三范式楼主也可以理解为将需求中的最小元组作为基础表,再从基础表上延伸出它们之间的关系表。
该题目中有两个元组,一个配件,一个供应商,首先把配件和供应商的基本信息单独作为基础表,也就是配件表和供应商表,将相关字段都存放进去。其次,当这两个元组产生关系时会伴随着题目中的单价和库存的发生,那么需要一个关系表来存放这些行为的发生,也就是答案中的第三张关系表。
配件类(配件编号,配件名称,型号规格,供应商名称,单价,库存)、
供应商(供应商名称,供应商地址);分析:
对于第三范式来说需要确保属性不依赖于其它非主属性。
楼主给出的配件类,对于某个配件来说可以由多个供应商提供,而且一个供应商肯定可以提供多个配件,之间的关系明显是多对多的关系,那么配件编号和供应商编号都无法作为主属性存在,因为之间是互相依赖的关系。
对第三范式楼主也可以理解为将需求中的最小元组作为基础表,再从基础表上延伸出它们之间的关系表。
该题目中有两个元组,一个配件,一个供应商,首先把配件和供应商的基本信息单独作为基础表,也就是配件表和供应商表,将相关字段都存放进去。其次,当这两个元组产生关系时会伴随着题目中的单价和库存的发生,那么需要一个关系表来存放这些行为的发生,也就是答案中的第三张关系表。
配件关系(配件编号,配件名称,型号规格,单价,库存量)
供应商关系(供应商名称,供应商地址)、
配件供应关系(配件编号、供应商名称)。
第三范式又是在2FN的基础上消除了非主属性对码的传递依赖。
根据关系(配件编号,配件名称,型号规格,供应商名称,供应商地址,单价,库存量)可以得出下列依赖关系:
1、配件编号-->配件名称,型号规格,供应商名称,供应商地址,单价,库存量
2、供应商名称-->供应商地址
3、配件编号,供应商名称-->单价,库存量
所以根据第三范式划分:
配件关系(配件编号,配件名称,型号规格)
供应商关系(供应商名称,供应商地址)
配件库存关系(配件编号、供应商名称,单价,库存量)