数据库有三个实体集。一是“公司”实体集,属性有公司编号、公司名、地址等;二是“仓库”实体集,属性有仓库编号、仓库名、地址等;三是“职工”实体集,属性有职工编号、姓名、性别等。
公司与仓库间存在“隶属”联系,每个公司管辖若干仓库,每个仓库只能属于一个公司管辖;仓库与职工间存在“聘用”联系,每个仓库可聘用多个职工,每个职工只能在一个仓库工作,仓库聘用职工有聘期和工资。
(1)试画出ER图,并在图上注明属性、联系的类型。
(2)将ER图转换成关系模型,并注明主键和外键。
解:(1)ER图如图7.2所示。
图7.2
(2)这个ER图可转换3个关系模式:
公司(公司编号,公司名,地址)
仓库(仓库编号,仓库名,地址,公司编号)
职工(职工编号,姓名,性别,仓库编号,聘期,工资)
2、设某商业集团的商品供应管理系统
数据库有三个实体集。一是“商品”实体集,属性有商品号、商品名、规格、单价等;二是“商店”实体集,属性有商店号、商店名、地址等;三是“供应商”实体集,属性有供应商编号、供应商名、地址等。
供应商与商品之间存在“供应”联系,每个供应商可供应多种商品,每种商品可向多个供应商订购,每个供应商供应每种商品有个月供应量;商店与商品间存在“销售”联系,每个商店可销售多种商品,每种商品可在多个商店销售,每个商店销售每种商品有个月计划数。试画出反映上述问题的ER图,并将其转换成关系模型。
解:ER图如图7.3所示。
图7.3
(2)这个ER图可转换5个关系模式:
供应商(供应商编号,供应商名,地址)
商店(商店号,商店名,地址)
商品(商品号,商品名,规格,单价)
供应(供应商编号,商品号,月供应量)
销售(商店号,商品号,月计划数)
3、银行储蓄业务管理系统
数据库中涉及到储户、存款、取款等信息。试设计ER模型。
解:储蓄业务主要是存款、取款业务,可设计如图7.4所示的ER图。
图7.4
4、超市管理系统。
该超市公司的业务管理规则如下:
⑴该超市公司有若干仓库,若干连锁商店,供应若干商品。
⑵每个商店有一个经理和若干收银员,每个收银员只在一个商店工作。
⑶每个商店销售多种商品,每种商品可在不同的商店销售。
⑷每个商品编号只有一个商品名称,但不同的商品编号可以有相同的商品名称。每种商
品可以有多种销售价格。
⑸超市公司的业务员负责商品的进货业务。
试按上述规则设计ER模型
解:下图是ER图的一种设计方案。
图7.6
5、公司车队信息系统
本例为某货运公司设计了车队信息管理系统,对车辆、司机、维修、保险、报销等信息和业务活动进行管理。其ER图如图7.8所示。
图7.8公司车队信息系统的ER模型
该ER图有7个实体类型,其结构如下:
部门(部门号,名称,负责人)
车队(车队号,名称,地址)
车辆(车牌号,车型,颜色,载重)
保险公司(保险公司号,名称,地址)
维修公司(维修公司号,名称,地址)
开销(顺序号,费用类型,费用,日期,经手人)
实体之间有7个联系,其中6个是1:N联系,1个是M:N联系。其中联系的属性如下:调用(出车编号,出车日期,车程,费用,车辆数目)
保险1(投保日期,保险种类,费用)
保险2(投保日期,保险种类,费用)
进而,读者可以很容易地转换成关系模式集。
解:根据ER图和转换规则,7个实体类型转换成7个关系模式,1个M:N联系转换成1个关系模式,共8个关系模式,如下:
车辆(车牌号,车型,颜色,载重,车队号,保险公司号,投保日期,保险种类,费用,维修公司号)
开销(顺序号,车牌号,费用类型,费用,日期,经手人)
调用(出车编号,车队号,部门号,出车日期,车程,费用,车辆数目)
6、人事管理信息系统
人事管理信息系统中涉及到职工、部门、岗位、技能、培训课程、奖惩记录等信息。其ER图如图7.9所示。
图7.9
这个ER图有7个实体类型,其属性如下:
职工(工号,姓名,性别,年龄,学历)
部门(部门号,部门名称,职能)
岗位(岗位编号,岗位名称,岗位等级)
技能(技能编号,技能名称,技能等级)
奖惩(序号,奖惩标志,项目,奖惩金额)
培训课程(课程号,课程名,教材,学时)
工资(工号,基本工资,级别工资,养老金,失业金,公积金,纳税)这个ER图有7个联系类型,其中1个1:1联系,2个1:N联系,4个M:N联系。联系类型的属性如下:
设置(人数)
解:根据ER图和转换规则,7个实体类型转换成7个关系模式,4个M:N联系转换成4个关系模式,共11个模式,如下:
职工(工号,姓名,性别,年龄,学历,部门号,岗位编号)
工资(工号,基本工资,级别工资,养老金,失业金,公积金,纳税)