某公司需建立产品信息数据库,经调查其业务要求如下:
Ⅰ.一种产品可以使用多个不同种类的部件,也可以使用多个不同种类的零件;一种部件至少被用在一种产品中;一种部件可以由多个不同种类的零件组成;一种零件至少被用在一种产品或一种部件中;
Ⅱ.对于一种具体的部件,要记录这种部件使用的各种零件的数量;
Ⅲ.对于一种具体的产品,要记录这种产品使用的各种部件数量和各种零件数量,但部件所使用的零件数量不计入该种产品的零件数量;
Ⅳ.一个供应商可供应多种零件,但一种零件只能由一个供应商供应。
根据以上业务要求,某建模人员构建了如下ER图:
【正确答案】
【答案解析】②符合3NF的关系模式(带下划线的为主码属性):
产品({{U}}产品号(PK{{/U}}).产品名称,型号,装配图号)
部件({{U}}部件号(PK{{/U}}),部件名称)
零件({{U}}零件号(PK{{/U}}),零件名称,供应商号(FK))
产品_部件({{U}}产品号(FK),部件号(FK){{/U}},部件数量)
产品_零件({{U}}产品号(FK),零件号(FK){{/U}},零件数量)
部件_零件({{U}}部件号(FK),零件号(FK){{/U}},零件数量)
供应商({{U}}供应商号(PK){{/U}},供应商名称,联系电话)
[解析] 本题考查的是ER图和关系模式的知识。实体设计中存在明显的不合理之处,比如供应商应该是一个独立的实体。此外,对于产品和零件直接的联系未能正确表现出来。一种产品可以使用多个不同种类的部件,也可以使用多个不同种类的零件。说明产品与零件是直接有关系的,必须用一个实体来把它们之间的关系表示出来,否则,设计出来的关系模式存在有大量的数据冗余。