设有某商业单位需要建立商务数据库用以处理销售记账,它记录的数据包括:顾客姓名,所在单位及电话号码;商品名称,型号,产地及单价;某顾客购买某商品的数量及日期。假定无同名顾客,无同型号商品,电话公用,顾客可在不同日期买同一商品。 将ER模型换成关系模型并规范

admin2018-06-19  36

问题 设有某商业单位需要建立商务数据库用以处理销售记账,它记录的数据包括:顾客姓名,所在单位及电话号码;商品名称,型号,产地及单价;某顾客购买某商品的数量及日期。假定无同名顾客,无同型号商品,电话公用,顾客可在不同日期买同一商品。
将ER模型换成关系模型并规范化到3NF。

选项

答案将ER模型转换为关系模型,并规范到3NF: 顾客(姓名,单位,电话号码),主键:姓名 商品(型号,名称,单价,产地),主键:型号 购买(姓名,型号,数量,日期),主键:姓名+型号 因为转换过来的关系模式中,不存在属性依赖于其他非主属性,因此对转换的结果不需要优化。

解析 (1)ER图的画法
  建立相应的ER图的过程如下:
  第一,确定实体类型。本题有两个实体类型,即顾客实体和商品实体。
  第二,确定联系类型。该题中只有顾客一商品模型。
  第三,把实体类型和联系类型组合成ER图。
  第四,确定实体类型和联系类型的属性。
  顾客实体集属性:姓名、单位、电话号码
  商品实体集属性:型号、名称、产地、单价
  由顾客和商品两个实体和一个顾客一商品购买关系,并且根据实体的属性可以画出相应ER图。
(2)ER模型转换为关系模式的规则
    ①把ER模型中的每一个实体集转换为同名的关系,实体集的属性就是关系的属性,实体集的码就是关系的码。
    ②把ER模型中的每一个联系转换成一个关系,与该联系相连的各实体集的码以及联系的属性转换为关系的属性。关系的码根据下列情况确定:
    若联系为1:1(一对一),则每个是实体集码均是该关系的候选码。
    若联系为1:n(一对多),则关系的码为n端实体集的码。
    若联系为m:n(多对多),则关系的码为各实体集码的组合。
    ③合并具有相同码的关系。
    根据规则,把一个ER模型转换为关系模式,一般经历下面两个步骤:
    1)标识ER模型中的联系。
    2)依次转换与每个联系相关联的实体集及联系。
    3)关系模式满足3NF,则必须满足关系模式中每隔一个非主属性既不部分依赖于码也不传递依赖于码,简而言之,第三范式就是属性不依赖于其他非主属性。
    本题中从ER模型转换成关系模型,由两个实体和一个关系分别可以转换成三个关系模式。
转载请注明原文地址:https://kaotiyun.com/show/ZXlZ777K
0

最新回复(0)