文章目录
- 概念模型
- 回顾
- 概念结构设计
- 基本概念
- 概念模型中的几个基本概念
- 联系——实体集之间的对应关系
- 讨论:怎样寻找信息世界中的实体和联系?
- 实体和联系的举例
- 概念模型的设计
- 概念模型的设计方法与步骤
- 概念结构设计步骤
- 合并E-R图时的冲突解决方法
- 练习:E-R模型设计
- 小结
概念模型
回顾
- 数据库系统的软件构成:应用程序、数据库管理系统(DBMS)、数据库(DB)。
- 三种数据模型:概念模型、逻辑模型、物理模型。
- 数据库的三级模式和两级映射结构。
- 设计数据库的步骤。
概念结构设计
-
逻辑结构设计的任务和步骤。
-
E-R图:概念结构设计。
-
实现设计阶段:初始关系模式设计、关系模式规范化、逻辑结构设计、模式改进、模式评价。
基本概念
- 实体、联系、属性、值域、型、值、候选码、主码。
概念模型中的几个基本概念
-
概念模型是对现实世界的抽象,通过抽象得到信息实体及实体集之间的联系,所以概念模型也称为实体-联系模型。
-
实体:可以相互区分的事物。
-
实体集:同类实体的集合。
-
联系:实体集之间的相互关联。
-
属性和值域:属性是实体或联系的特征,值域是属性的取值范围。
-
例:教师实体有性别和职称属性;性别取值范围是(男,女)。
-
例:选课联系具有学号、课程号、修读学期等属性。
-
型和值:型是实体或联系的结构描述,值是属性值的组合。
-
例:型 ——教师(工号,姓名,性别)
值——(15021,“李木”,男) -
候选码、主码:候选码用于区分不同实体,主码是选定的候选码。当一个实体集中有多个候选码,可以选定其中的一个作为主码
例:学生(学号,姓名,性别,年龄,生日,身份证号)候选码为:学号、身份证号 主码可为:学号
举例:选课业务中的实体、实体集与联系
- 实体:
- 教师、课程、学生
- 实体集:
- 全体教师、全体课程、全体学生
- 联系:
- 教师讲授课程、学生选修课程
联系——实体集之间的对应关系
- 联系类型:一对一(1:1)、一对多(1:n)、多对多(n:n)。
- 注意:两个方向结合才能判断一个联系的类型。
1个A实体对应几个B实体,得到B端类型;1个B实体对应几个A实体,得到A端类型。比如:1个班级对应多个学生;1个学生对应1个班级,因此班级与学生之间的联系类型是一对多。
一对一写成1:1,一对多写成1:n,多对多写成n:n
联系跟实体一样也具有属性,这些属性一部分取自于与联系相关的实体,一部分是联系自身的特征,比如上面的修读课程联系,是学生实体和课程实体之间的联系,其中学号和课程编号取自于实体,学期和分数是自身的特征。
学生数据集中,候选码不止一个。修读课程集中,候选码由几个属性组合而成。
讨论:怎样寻找信息世界中的实体和联系?
- 界定信息边界,剔除无关信息。
- 寻找名词和动词,名词对应实体,动词对应联系。
实体和联系的举例
- 批发公司案例分析。
一个批发公司,法人代表是张孝全,位于广州市海珠区新港西路132号,员工50人。公司设三个部门,每部门有一个经理和若干员工。公司从事纺织品批发,每样商品都有唯一编号。公司从供应商采购商品并销售给客户,每次采购由一个员工负责,每次销售由一个员工负责…… - 实体
公司(公司注册号,地址,法人代表,规模,经营范围)
部门(部门名,经理)
员工(员工号,姓名,性别,入职日期,部门名)
供应商(供应商编号,名称,地址,联系人)
客户(客户编号,名称,地址,联系人)
商品(商品号,商品名,规格) - 联系
销售(员工号,商品号,客户编号,日期,数量,单价)
采购(员工号,商品号,供应商编号,日期,数量,单价)
部门_员工(员工号,部门名)
公司_部门(部门名,公司注册号),这个联系可剔除
概念模型的设计
- E-R图(陈品山首创):用矩形框表示实体,椭圆形表示属性,菱形框表示联系。
多个实体集之间的联系
同一个实体集内部联系
概念模型的设计方法与步骤
- 自顶向下地进行需求分析:从宏观角度理解整个系统的需求,确定系统的目标和功能。
识别系统的主要实体和它们之间的关系,以及系统需要处理的主要业务流程。 - 自底向上地设计概念结构:从具体的业务细节出发,逐步构建局部概念模型。
确定每个局部模型中的实体、属性和联系,并绘制局部E-R图。
概念结构设计步骤
- 需求分析、数据抽象、局部视图设计、全局E-R图、视图集成、逻辑结构设计。
合并E-R图时的冲突解决方法
- 属性冲突、命名冲突、结构冲突。
属性冲突:表现为各个局部E-R图之间同一属性的值域不一致。
命名冲突:表现为各个局部E-R图之间的同名异义或者异名同义。
结构冲突:表现为各个局部E-R图之间实体(或联系)的结构不一致。
同一对象在不同应用中具有不同的抽象;解决方法:通常是把属性变换为实体或把实体变换为属性,使同一对象具有相同的抽象。
同一实体在不同局部视图中所包含的属性个数和排列次序不完全相同。解决方法:使该实体的属性取各分E-R图中属性的并集,再适当设计属性的次序。
同一联系在不同局部视图中呈现不同的类型。解决方法:根据应用语义对实体联系的类型进行综合或调整。 - 消除冲突实例:
1、异名同义:同一对象在不同部门中有不同名称。
2、同名异义:同一对象在不同应用中具有不同的抽象
例:职称在不同的应用中可以作为职工的属性,也可以作为一个实体。
通常当对职称没有进一步的描述时,作为职工实体的属性;
但在涉及住房分配时,由于分房与职称有关,也就是说职称与住房实体之间有联系,这时把职称作为实体来处理会更合适些。
3、结构冲突之一:同一实体在不同局部视图中所包含的属性个数和排列次序不完全相同
练习:E-R模型设计
- 教务管理系统的E-R图设计。
- 在简单的教务管理系统中,有如下语义约定:
① 一个学生可选修多门课程,一门课程可为多个学生选修,因此学生和课程是多对多的联系。
② 一个教师可讲授多门课程,一门课程可为多个教师讲授,因此教师和课程也是多对多的联系。
③ 一个系可有多个教师,一个教师只能属于一个系,因此系和教师是一对多的联系,同样系和学生也是一对多的联系。
学生选课局部E-R图:
教师任课局部E-R图:
初步E-R图:
基本图:
小结
- 实体(E)、联系®的概念。
- 联系类型:1:1、1:n、n:n。
- E-R模型的概念模型表示方法。
- 采用E-R方法进行数据库概念设计,可以分成3步进行:首先设计局部E-R模式,然后把各局部E-R模式综合成一个全局的E-R模式,最后对全局E-R模式进行优化,得到最终的E-R模式,即概念模式。