E-R概念模型
E-R概念模型
1. 信息的现实世界
我们要管理的客观存在的各种事物、事务之间的相互联系及事物的发生、变化过程。
(1)实体(Entity)现实世界中存在的可以相互区分的事物或概念称为实体。
(2) 实体的特征(Entity Characteristic)每个实体都有自己的特征,利用实体的特征可以区别不同的实体。
(3) 实体集及实体集间的联系(Relation)具有相同特征或能用同样特征描述的实体的集合。
2.信息世界
在信息世界中:实体的特征在头脑中形成的知识称为属性;实体通过其属性表示称为实例;同类实例的集合称为对象,对象即实体集中的实体用属性表示得出的信息集合;实体集之间的联系用对象联系表示。
信息世界通过概念模型、过程模型和状态模型反映现实世界,它要求对现实世界中的事物、事物间的联系和事物的变化情况准确、如实、全面地表示。
3.信息的计算机世界
1)数据项(Item):对象属性的数据表示。
2) 记录(Record):实例的数据表示。记录有型和值之分:记录的型是结构,由数据项的型构成;记录的值表示对象中的一个实例,它的分量是数据项值。
3) 文件(File):对象的数据表示,同类记录的集合。
4) 数据模型(Data Model):现实世界中的事物和相互联系数据化的结果就是数据模型。
信息的三种世界术语的对应关系表
信息的三个世界的联系和转换过程
概念模型,也称为信息模型,是按用户的观点来对数据和信息建摸。
数据模型是现实世界的模拟。数据模型应满足3方面要求:
·能比较真实的模拟现实世界
·容易被人理解
·便于在计算机上实现在数据库系统中,针对不同对象和目的,使用不同的数据模型。
概念模型的表示方法中,最常用、最著名的是实体-联系方法,简称为E-R方法或E-R概念模型。
概念数据库的设计是进行具体数据库设计的第一步。概念数据库的设计应该极易于转换为逻辑数据库模式,又容易被用户所理解。
概念数据库设计中最主要的就是采用实体-关系数据模型来确定数据库的结构。
数据是表达信息的一种重要的量化符号,是信息存在的一种重要形式。数据模型则是数据特征的一种抽象。它描述的是数据的共性,而不是描述个别的数据。
一般来说,数据模型包含两方面内容。
(1)数据的静态特性:主要包括数据的基本结构、数据间的关系和数据之间的相互约束等特性。
(2)数据的动态特性:主要包括对数据进行操作的方法。
数据模型是连接客观信息世界和数据库系统数据逻辑组织的桥梁,也是数据库设计人员与用户之间进行交流的共同基础。
概念数据库中采用的实体-关系模型。实体-关系模型是面向现实世界,而不是面向实现方法的,它主要是用于描述现实信息世界中数据的静态特性。而不涉及数据的处理过程。
实体-关系模型可以用来说明数据库中实体的等级和属性。以下是实体-关系模型中的重要标识:
·在数据库中存在的实体
·实体的属性
·实体之间的关系
实体
客观存在并可以互相区分的事物称为实体,是现实世界中各种事物的抽象。一般来说,每个实体都相当于数据库中的一个表。
属性
属性是实体所具有的某些特征,通过属性对实体进行刻画。实体由属性组成的。
一个实体本身具有许多属性,能够唯一标识实体的属性称为该实体的码(键)。
强实体中每个实体都有自己的键,弱实体没有自己的键。弱实体中不同的记录有可能完全相同,难以区别,这些值依赖于另一个实体(强实体)的意义,必须与强实体联合使用。在创建了实体之后,就可以标识各个实体的属性了。
每个实体都有一组特征或性质,称为实体的属性。实体的属性值是数据库中存储的主要数据,一个属性实际上相当于表中的一个列。
现实世界的事物内部或事物之间都有联系,这些联系在信息世界里反映为实体内部或实体之间的联系。
实体内部的联系通常是指组成实体的各属性之间的联系。实体之间的联系通常是指不同实体集之间的联系。实体就是一个(或多个)表。
连个实体(或表)之间的联系分为三类:
一对一联系(1:1)如果实体集合A中的每一个实体,实体集合B中至少都一个实体与之联系,反之亦然,则称为实体集合A与实体集合B具有一对一联系,记为1:1。例如,一个班级有一个班长。
一对多联系(1:n)如果实体集合A中的每一个实体,实体集合B中至少都n(n>=0)个实体与之联系,反之,对于实体集合B中每一个实体,实体集合A中的至多有一个实体与之联系,则称为实体集合A与实体集合B具有一对多联系,记为1:n。例如,一个班级有多个班干部。
多对多联系(m:n)如果实体集合A中的每一个实体,实体集合B中至少有n(n>=0)个实体与之联系,反之,对于实体集合B中每一个实体,实体集合A中的至少有m(m>=0)个实体与之联系,则称为实体集合A与实体集合B具有多对多联系,记为m:n。例如,一个学生可以选修多门课,一门课可以有多个学生选修。
E-R图的绘制
概念模型是对信息世界建摸,所以概念模型应该能够方便、准确地表示出信息世界中的常用概念。常用E-R图来描述现实世界的概念模型。
E-R图提供了表示实体型、属性和联系的方法:
·实体型:用矩形表示,矩形框内写明实体名。
·属性:用椭圆形表示,并用无向边将其与相应的实体连接起来。
·联系:用菱形便是,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型。
E-R图中各种成分对应的基本图形符号:
例如,现有一个教学管理系统。该系统涉及的实体有:
1) 教师。属性有教师号、姓名、性别、年龄、出生日期、专业,其中教师号是码。
2) 学生。属性有学号、姓名、性别、出生日期、籍贯、专业,其中学号是码。
3) 课程。属性有课程号、课程名、学时数、学分、教材,其中课程号是码。各个实体之间的联系有:
一个教师可以讲授多门课程,一门课程可以被多个教师讲授,即教师与课程之间是多对多的关系。
一个学生可以选修多门课程,一门课程可以被多个学生选修,即学生与课程之间是多对多的关系。
一个教师可以教多个学生,一个学生可以被多个教师教,即教师与学生之间是多对多的关系。
E-R模型中实体及属性的表示如下所示:
教学管理的E-R模型表示如下所示:
例如,工厂物资管理E-R图(实体及其属性图)
实体·关系模型建立的步骤:
1.对需求进行分析,从而确定系统中所包含的实体;
2.分析得出每个实体所具有的属性;
3.保证每个实体有一个主属性;
4.确定实体之间的联系。
绘制E-R模型应注意:
1.应该全面正确地刻画客观事物,要清楚明了,易于理解。
2.实体中的码应确保唯一。
3.实体之间的联系可以通过属性的关系来表达。
4.某些属性是实体之间的联系的反映。
5.多个实体之间的联系可能有多种。
关系数据模型的基本概念
关系数据库系统是支持关系模型的数据库系统。
关系模型由关系数据结构、关系操作和完整性约束三部分组成。
关系是一种单一的数据结构。
现实世界的实体以及实体间的联系均用关系来表示。在实际表示中,关系可以用一个表来直观的表示,通常表是以一种矩形数据行/列的形式表示。表中的每一列表示关系的一个属性,每列的名字即为一个属性名;每一行表示一个记录代表一个物理实体。
在关系数据库中,所有的数据都是通过表来存储的。
关系数据模型中数据结构的核心规则是:
所有的数据都必须在表中所有关系模型中呈现给用户。从数据库管理系统角度看,数据库系统通常采用三级模式结构:这是数据库管理系统内部的系统结构。
从数据库最终用户角度看,数据库系统的结构分为集中式结构、分布式结构、客户/服务器结构和并行结构。这是数据库系统外部的体系结构。
在数据模型中有“型”和“值”的概念。型是指对某一类数据的结构和属性的说明,值是型的一个具体赋值。
模式是数据库中全体数据的逻辑结构和特征的描述,它仅仅涉及到型的描述,不涉及到具体的值。模式的一个具体值称为模式的一个实例。
数据库系统的三级模式结构是指数据库系统是由外模式、模式和内模式三级构成。
模式也称逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。模式实际上是数据库数据在逻辑级上的视图。一个数据库只有一个模式。
定义模式时不仅要定义数据的逻辑结构,而且要定义数据之间的联系,定义与数据有关的安全性、完整性要求。DBMS提供模式描述语言(模式DDL)来严格定义模式。
外模式也称字模式或用户模式,它是数据库用户能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示。外模式通常是模式的子集。一个数据库可以有多个外模式。
内模式也称存储模式,一个数据库只有一个内模式。它是数物理结构和存储方式的描述,是数据在数据库内部的表示方式。
为了能够在内部实现数据库三个抽象层次的联系和转换,数据库管理系统在这三级模式之间提供了两层映象:
·外模式/模式映象
·模式/内模式映象
外模式/模式映象
对应于同一个模式可以有任意多个外模式。对于每一个外模式,数据库系统都有一个外模式/模式映象,它定义了该外模式于模式之间的对应关系。当模式改变时,由数据库管理员对各个外模式/模式的映象作相应改变,可以是外模式保持不变。应用程序是依据数据的外模式编写的,从而应用程序不必修改,保证了数据与程序的逻辑独立性,简称数据的逻辑独立性。
模式/内模式映象
数据库中只有一个模式,也只有一个内模式,所以模式/内模式映象是唯一的,它定义了数据库全局逻辑结构与存储结构之间的对应关系。当数据库的存储结构改变了,由数据库管理员对模式/内模式映象作相应改变,可以是模式保持不变,从而应用程序也不必改变。保证了数据与程序的物理独立性,简称数据的物理独立性。
这两层映象保证了数据库系统中的数据能够具有较高的逻辑独立性和物理独立性。
物理独立性是指用户所看到的数据与物理存储是完全独立的,即可以改变或重新安排物理存储而不影响到数据的使用和逻辑数据库的设计。
逻辑独立性指的是可以改变表、行和列之间的相互关系,即对数据结构进行修改而不会削弱应用程序功能。
关系模型的基本概念:
1. 关系
一个关系就是一张二维表,每个关系都有一个关系名。一张二维表可以存储为一个文件。
2. 元组
二维表中的行称为元组,每一行是一个元组。一个元组就是文件中的一条记录。
3. 属性和属性值
二维表的列称为属性,每一列有一个属性名,且属性不能重名。属性值是属性的具体值。属性对应文件中的一个字段。
4. 域属性的取值范围称为域。
5. 关系模式对关系的信息结构及语法限制的描述称为关系模式。用关系名和包含的属性名的集合表示。
6. 关键字(码)在关系的诸属性中,能够用来唯一标识元组的属性或属性组合称为关键字或码。在一个关系中,关键字(码)的取值不能为空。
7. 候选关键字(选码)如果在一个关系中,存在多个属性(或属性组合)都能用来唯一标识元组,这些属性(或属性组合)都可以作为候选关键字(候选码)
8. 主关键字(主码)在一个关系的若干候选关键字中,被指定作为关键字的候选关键字称为该关系的主关键字或主码。
9. 非主属性或非码属性在一个关系中,不组成码的属性称为该关系的非主属性或非码属性。
10. 外部关键字(外码)某属性在一个关系中是关键字,而在另一个关系中不是关键字,则该属性称为是另一个关系的外部关键字或外码。
11. 主表和从表某属性在一个关系中是关键字,则该表是主表,而在另一个关系中不是关键字,则该表是从表。
基本关系具有6条性质:
1.列是同质的。
2.不同列可出自同一个域。
3.列的顺序无所谓。
4.任意两个元组不能完全相同。
5.行的顺序无所谓。
6.分量必须是原子值。
E-R图转化为表
E-R图的设计属于数据库的概念设计。设计完E-R图后,对E-R进行转换,转换为对应的表,这个过程称为逻辑数据库设计。逻辑数据库的设计中主要任务是将概念数据库转化为逻辑数据库及关系模式的规范化。
将E-R图转化为表,一般应遵循以下两个原则:
1.对实体,直接按属性转化成关系表。
2.对联系,属性包含以下两个部分:
一是联系本身的属性,二是与联系有关的实体的主关键字。
[数据库系统概论:萨师煊 王珊 高等教育出版社]