数据库设计理论及应用(4)——概念结构设计
扫描二维码
随时随地手机看文章
数据库设计理论及应用(4)——概念结构设计
作者:最后一只恐龙 发表时间:
该系列计划包括5部分:完整性约束理论及应用、范式理论及应用、需求分析、概念结构设计、逻辑结构设计。本文是第四部分,介绍概念结构设计的内容,包括分E-R的设计、分E-R图的集成、以及基本E-R图的设计。
1.概念模型
概念模型是现实世界到机器世界的一个中间层次,在这个层次中,使用接近计算机存储的方式表示数据,同时又不涉及具体的DBMS。做出概念模型后,再转换为具体的DBMS(如SQL Server或Oracle)下的模型,就成为逻辑模型。
概念模型中包括实体、属性、码、域、联系等概念,在本系列文章的第一部分已作说明,下面再介绍其它几个概念。
1.1 两个实体型间的联系
(1)一对一联系:实体集A中的每一个实体,实体集B中至多有一个实体与之有联系,反之亦然,则称实体集A与B具有一对一联系,记为1:1。如班级与班长的联系,一个班只有一个班长,一个班长也只能在一个班级中任职。
(2)一对多联系:实体集A中的每一个实体,实体集B中有n(n≥0)个实体与之有联系;而实体B中的每一个实体,实体A中至多有一个与之有联系,则称实体集A与B具有一对多联系,记为1:n。如班级与学生的联系,一个班有多个学生,一个学生只能在一个班级学习。
(3)多对多联系:实体集A中的每一个实体,实体集B中有n(n≥0)个实体与之有联系;而实体B中的每一个实体,实体A中有m(m≥0)个与之有联系,则称实体集A与B具有多对多联系,记为m:n。如教师与学生的联系,一个教师可以教多名学生,一名学生也可以上多位老师的课。
1.2 其它类型的联系
两个以上实体集之间也存在1:1、1:n、m:n的联系。如教师、课程、参考书的联系。注意把这三个实体之间的联系与两两直接的多个联系区分开来。
同一个实体集的各实体之间也存在1:1、1:n、m:n的联系。如职工和职工之间有直接领导的联系。
1.3 概念模型的一种表示方法:实体-联系方法
概念模型最著名的方法就是P.P.S.Chen于1976年提出的实体-联系方法,也就是E-R图方法了。E-R图的表示方法:
(1) 实体型:用矩形表示,矩形框内写明实体名。
(2) 属性:用椭圆表示,并用无向边与相应实体连接起来。
(3) 联系:用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边上标明关系的类型。
一般E-R图的构造过程是:
(1) 根据局部应用的数据流图,设计分E-R图。
(2) 将各局部应用的分E-R图合并起来,消除冲突,形成初步E-R图。
(3) 消除初步E-R图中的冗余,构造基本E-R图。
下面讨论上篇文章介绍的工厂管理信息系统的E-R图构造方法。先看一下销售子系统的分E-R图。
2.销售子系统的分E-R图
2.1 存储实体
根据上节所画的数据流图,我们发现了如下几个数据存储:应收帐款、订单(订单记录本)、产品(产品描述)、待完成订单、发票主清单、发票记录本。我们对这几个存储对象进行分析,明确以下几点:
(1)待完成订单:因为订单完成后开发票,因此没有发票号的订单就可以认为是待完成订单,因此这个实体虽然对用户来讲是必须的,但在设计中没有必要单独存储。
(2)发票主清单和发票记录本:这个数据存储对应手工凭证,发票上的信息在开发票时已存入应收帐款,因此没有必要再存储。
这样,需要存储的实体只剩下应收帐款、订单、产品描述3个。
2.2 角色
数据流图中涉及3个角色:顾客、主管部门、生产部门。主管部门和生产部门是实际操作该应用系统的角色,拥有不同权限,这两个角色要到权限管理子系统中设计。
顾客不是操作系统的角色,而是由系统管理的对象,应收帐款和订单都与顾客有联系,因此必须在E-R图中体现。
这样,需要存储的实体又增加了一个:顾客。
2.3 分E-R图
根据以上4个实体,我们画出分E-R图的框架。(记得Microsoft Visio Enterprise Architect 版上有E-R图设计的,但现在用的是Microsoft Office Visio 2003版,直接就是逻辑结构设计的模型图了,因此没有用Visio画。)
图2.1 销售子系统分E-R图架构
顾客
产品
支付
订货
订单
应收帐款
1
n
1
n
?
?