设某商业集团数据库中有三个实体集。一是“公司”实体集,属性有公司编号、公司名、地址等;二是“仓库”实体集,属性有仓库编号、仓库名、地址等;三是“职工”实体集,属性有职工编号、姓名、性别等。 公司与仓库间存在“隶属”联系,每个公司管辖若干仓库,每个仓库只能属于一个公司管辖;仓库与职工间存在“聘用”联系,每个仓库可聘用多个职工,每个职工只能在一个仓库工作,仓库聘用职工有聘期和工资。 1)试画出E-R图,并在图上注明属性、联系的类型。 2)将E-R图转换成关系模型,并注明主键和外键。
时间: 2024-03-14 15:50:09 浏览: 55
对于第一个问题,我是无法提供图形化的E-R图的。但是,我可以为你解答第二个问题。
首先,我们需要将E-R图转换成关系模型。具体步骤如下:
1. 将每个实体集转换成一个关系表,每个属性转换成一个属性列。
2. 将每个联系转换成一个关系表,并在表中包含与关系相关联的实体集的主键列。
3. 对于多对多(M:N)关系,需要创建一个中间表来包含与之相关的实体集的主键列。
根据上述步骤,我们可以将这三个实体集转换成以下关系模型:
- 公司表(Company):
- 公司编号(CompanyID):主键
- 公司名(CompanyName)
- 地址(Address)
- 仓库表(Warehouse):
- 仓库编号(WarehouseID):主键
- 仓库名(WarehouseName)
- 地址(Address)
- 公司编号(CompanyID):外键,与公司表的公司编号关联
- 职工表(Employee):
- 职工编号(EmployeeID):主键
- 姓名(Name)
- 性别(Gender)
- 仓库编号(WarehouseID):外键,与仓库表的仓库编号关联
- 聘期(EmploymentPeriod)
- 工资(Salary)
其中,公司表和仓库表之间的联系为一对多(1:N)关系,仓库表和职工表之间的联系也为一对多(1:N)关系。在仓库表和职工表中,公司编号和仓库编号作为外键,与公司表和仓库表的主键进行关联。
相关问题
设某商业集团数据库中有三个实体集,一是“供应商”实体集,属性有供应商编号、供应商名、供应商地址;二是“商品”实体集,属性有商品编号、商品名、商品单价;三是“超市”实体集,属性有超市编号、超市名、超市地址。语义为: 一个供应商可供应多种商品,一种商品也可由多个供应商供应,供应商供应商品有供应数量; 一家超市可销售多种商品,每种商品也可在多家超市销售,超市销售商品有月销售量。 要求: (1)根据上述语义画出ER图,要求图中画出实体及联系的属性并注明联系的类型; (2)将上述E-R图转换成对应的关系模式,并注明主码。
(1)ER图如下:
![ER图](https://img-blog.csdn.net/20150527182436820)
(2)对应的关系模式如下:
供应商(供应商编号,供应商名,供应商地址) 主码:供应商编号
商品(商品编号,商品名,商品单价) 主码:商品编号
供应(供应商编号,商品编号,供应数量) 主码:(供应商编号,商品编号),外码:供应商编号->供应商,商品编号->商品
超市(超市编号,超市名,超市地址) 主码:超市编号
销售(超市编号,商品编号,月销售量) 主码:(超市编号,商品编号),外码:超市编号->超市,商品编号->商品
设某商业集团数据库中有三个实体集。一是“仓库”实体集,属性有仓库号、仓库名和地址等:二是“商店”实体集,属性有商店号、商店名、地址等,三是“商品”实体集,属性 有商品号、商品名、单价。设仓库与商品之间存在“库存”联系,每个仓库可存储若干种商品,每种商品存储在若干仓库中,每个仓库每存储一种商品有个日期及存储量,商店与商品之间存在着“销售”联系,每个商店可销售若干种商品,每种商品可在若干商店里销售,每个商店销售一种商品有月份和月销售量两个属性,仓库、商店、商品之间存在着“供应”联系,有月份和月供应 量两个属性。(2)将ER 图转换成关系模型,并说明主码和外码
在将ER图转换成关系模型时,我们需要将实体集转换成关系,并将实体的属性转换成关系的属性。
在这个例子中,我们可以创建以下关系:
1. 仓库(仓库号,仓库名,地址)
2. 商店(商店号,商店名,地址)
3. 商品(商品号,商品名,单价)
4. 库存(仓库号,商品号,日期,存储量)
5. 销售(商店号,商品号,月份,月销售量)
6. 供应(仓库号,商店号,商品号,月份,月供应量)
其中,主码是指用于唯一标识关系中每一条记录的属性。在上面的例子中,仓库号、商店号、商品号在对应的关系中都是主码。
外码是指在一个关系中引用另一个关系的主码的属性。在上面的例子中,仓库号、商店号、商品号在库存、销售、供应关系中都是外码,因为它们引用了仓库、商店、商品关系的主码。