了解E-R图,建立概念数据模型

目标是为某企业设计一个库存-订购数据库,为此首先根据库存和订购两项业务确定
相关的实体。
库存是指在仓库中存放器件,具体工作是由仓库的职工来管理的。这样,根据库存业
务找到了三个实体:仓库、器件和职工,具体管理模式用语义描述如下:
1)在一个仓库中可以存放多种器件,一种器件也可以存放在多个仓库中;
2)一个仓库有多个职工,而一个职工只能在一个仓库工作;
3)一个职工可以保管一个仓库中的多种器件,由于一种器件可以存放在多个仓库中,
当然也可以由多名职工保管。 

根据以上语义,可以画出描述库存业务的局部E-R简图(见图2.17)。

 为了不断补充库存器件的不足,仓库的职工需要及时向供应商订购器件,具体订购体现在订购单上。这里除了包含刚才用到的职工和器件实体外,又出现了两个实体:供应商和订购单。关于订购业务的管理模式用语义描述如下:
1)一名职工可以经手多张订购单,但一张订购单只能由一名职工经手;
2)一个供应商可以接受多张订购单,但一张订购单只能发给一个供应商;
3)一个供应商可以供应多种器件,每种器件也可以由多个供应商供应;
4)一张订购单可以订购多种器件,对每种器件的订购也可以出现在多张订购单上。
根据以上语义,可以画出描述订购业务的局部E-R简图(见图2.18)。

综合图2.17和图2.18,可以得到如图2.19所示的整体E-R简图,在这张图中共包括5个实体和7个联系,其中3个一对多联系,4个多对多联系。在表2.2中给出了这些实体和
联系的特征或属性。
在目前得到的概念模型中,或依据该模型所设计的数据库中,可以提供几乎所有与库存和订购业务有关的信息,也就是说,这个概念数据模型有着非常丰富的语义。比如,上一小节提到的需要连接陷阱提供的信息,在这里就可以通过正常的渠道查询到正确的信息。 

现在来看一下如何完成 WH1仓库P1器件的订货数量是多少”的查询要求:
1)确定在 WH1仓库工作的职工的职工号(职工文件),设为Eno;
2)根据Eno查询该职工所经手的订购单号(订购单文件),设为Ono;
3)根据Ono查询所订购的器件号及数量(订购项目文件);
4)查询完一张订购单后再接着查询同一职工经手的另一张订购单;
5)一名职工经手的订购单查询完后,再查询同一仓库另一职工所经手的订购单。

也可以按相反的过程,首先确定  P1  器件的订购数量,然后依据订购单号确定经手该
订购单的职工号,最后确定该职工是否是  WH1  仓库的。
以上查询过程看起来似乎很复杂,实际上用关系数据库标准语言SQL(将在第5章介绍)表达这样的查询是非常简单的,下面是完成这个查询的SQL-SELECT语句,如果暂时看不懂,可以在学习完有关章节后,再回过头来看一下这条语句:
SELECTSUM(数量)FROM 订购        
WHERE器件号= P1 AND订购单号IN
 (SELECT订购单号FROM 订购单 WHERE职工号IN
  (SELECT职工号FROM 职工 WHERE仓库号= WH1 ))
注意:不要期望通过器件文件(实体)使库存文件(联系)与订购文件(联系)发生联系,
如果这样,将仍然在连接陷阱中。 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值