第2章数据模型
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2.3.2 网状模型
网状数据模型是一种比层次模型更具普遍 性的结构,它去掉了层次模型的两个限制,允 许多个结点没有双亲结点,也允许一个结点有 多个双亲结点。因此,网状模型可以方便地表 示各种类型的联系。网状模型是一种较为通用 的模型,从图论的观点看,它是一个不加任何 条件的无向图。一般来说,层次模型是网状模 型的特殊形式,网状模型是层次模型的一般形 式。
4.实体型
具有相同属性的实体必然具有共同的特 征和性质。用实体名及其属性名集合来 抽象和刻画同类实体,称为实体型 (Entity Type)。例如,学生(学号, 姓名,性别,年龄,系,专业,年级) 就是一个实体型。
5.实体集 同型实体的集合称为实体集(Entity Set)。 例如,全体学生就是一个学生实体集。 6.联系 现实世界的事物之间是有联系的,即各实 体型之间是有联系(Relationship)的。例 如,教师实体与学生实体之间存在教和学的 联系,学生和课程之间存在选课联系。实体 间的联系是错综复杂的,但就两个实体型的 联系来说,主要有以下3种情况:
数据库原理与应用教程
第2章 数据模型
第2章 数据模型
数据库系统中是如何抽象、表示、处理现实世界中 的信息和数据的呢?客观事物是信息之源,是设计、 建立数据库的出发点,也是使用数据库的最后归宿。 计算机不能直接处理现实世界中的具体事物,所以 人们必须事先将具体事物转换成计算机能够处理的 数据,这就是数据库的数据模型。 本章主要介绍信息的三种世界、概念模型的基本概 念和E-R图的画法以及最常见的三种数据模型。
2.2.2 E-R模型
概念模型的表示方法很多,其中最为著名和 使用最为广泛的是P.P.Chen于1976年提 出的E-R模型。E-R(EntityRelationship,实体-联系)模型是直接从 现实世界中抽象出实体类型及实体间的联系, 是对现实世界的一种抽象,它的主要成分是 实体、联系和属性。E-R模型的图形表示称 为E-R图。
3.码
一个实体往往有多个属性,这些属性之间是 有关系的,它们构成该实体的属性集合。如 果其中有一个属性或属性集能够唯一标识每 一个实体,则称该属性或属性集为该实体的 码(Key)。需要注意的是,实体的属性集可 能有多个码,每一个码都称之为候选码。但 一个属性集只能确定其中一个候选码作为唯 一标识。一旦选定,就称其为该实体的主码。
2.数据操作
数据操作是指数据库中各记录允许执行的操作 的集合,包括操作方法及有关的操作规则,, 是对数据库动态特征的描述。例如插入、删除、 修改、检索等操作,数据模型要定义这些操作 的确切含义、操作符号、操作规则以及实现操 作的语言等。
2.3.1 层次模型
层次模型用树形结构来表示各类实体以及实体 间的联系。每个结点表示一个记录类型,结点 之间的连线表示记录类型间的联系,这种联系 只能是父子联系。 层次模型存在如下特点: (1)只有一个结点没有双亲结点,称为根结 点。 (2)根结点以外的其他结点有且只有一个双 亲结点。
2.3.3 关系模型
9.主属性和非主属性 在一个关系中,包含在任何候选关键字中的各个属性 都称为主属性;不包含在任何候选关键字中的属性都 称为非主属性。 10.外键或外码 一个关系的某个属性(或属性组合)不是该关系的主键 或只是主键的一部分,却是另一个关系的主键,则称 这样的属性为该关系的外键或外码(Foreign Key)。 外码是表与表联系的纽带。
2.2.2 E-R模型
E-R图通用的表示方式如下。 (1)用矩形表示实体,在矩形框内写上实 体名。例如,学生实体、班级实体。 (2)用椭圆形表示实体的属性,并用无向 边把实体和属性连接起来。例如,学生实体 有学号、姓名、性别、年龄、班级名属性, 班级实体有班级名、班主任属性。
2.2.2 E-R模型
(3)多对多联系(M : N):对于实体集A 中的每一个实体,实体集B中有多个实体与 之对应;反过来,对于实体集B中的每一个 实体,实体集A中也有多个实体与之对应, 则称实体集A与实体集B具有多对多联系, 记为M:N。 例如,学生在选课时,一个学生可以选多门 课程,一门课程也可以被多个学生选,则学 生和课程之间具有多对多联系。
(3)用菱形表示实体间的联系,在菱形框 内写上联系名,用无向边分别把菱形框与有 关实体连接起来,在无向边旁注明联系的类 型。如果实体间的联系也有属性,则把属性 和菱形框也用无向边连接起来。例如,学生 实体和班级实体的联系。
2.2.2 E-R模型
学生实体和班级实体间的联系
学号 姓名
班级名
学生
Biblioteka Baidu
2.2 概念模型
概念模型是现实世界的抽象反映,它表 示实体类型及实体间的联系,是独立于 计算机系统的模型,是现实世界到机器 世界的一个中间层。
2.2.1 基本概念
1.实体 客观存在并可以相互区分的事物叫 实体(Entity)。从具体的人、物、事件 到抽象的状态与概念都可以用实体抽象 地表示;实体不仅可指事物本身,也可 指事物之间的具体联系。例如,在学校 里,一名学生、一名教师、一门课程、 一次会议等都称为实体。
(1)一对一联系(1:1):对于实体集A中的每一个实 体,实体集B中至多有一个实体与之对应,反之亦然, 则称实体集A与实体集B具有一对一联系,记为1:1。 例如,部门与经理之间联系,学校与校长之间的联系 等等就是一对一联系。 (2)一对多联系(1 : M):对于实体集A中的每一个 实体,实体集B中有多个实体与之对应;反过来,对 于实体集B中的每一个实体,实体集A中至多有一个 实体与之对应,则称实体集A与实体集B具有一对多 联系,记为1 : M。例如,一个班可以有多个学生, 但一个学生只能属于一个班。班级与学生之间的联系 就是一对多联系。
2.属性
属性(Attribute)是实体所具有的某些特性,通过属 性对实体进行描述。实体是由属性组成的。一个实体 本身具有许多属性,能够唯一标识实体的属性称为该 实体的码。例如,学号是学生实体的码,每个学生都 有一个属于自己的学号,通过学号可以唯一确定是哪 位学生,在学校里,不可能有两个学生具有相同的学 号。学生实体可由学号、姓名、性别、年龄、系、专 业、年级等组成,例如,2015001、张强、男、21、 计算机系、软件工程、2015级,这些属性组合起来 表示“张强”这个学生。
2.1 信息的三种世界
计算机信息处理的对象是现实生活中的客观 事物,在对客观事物实施处理的过程中,首 先要经历了解、熟悉的过程,从观测中抽象 出大量描述客观事物的信息,再对这些信息 进行整理、分类和规范,进而将规范化的信 息数据化,最终由数据库系统存储、处理。 在这一过程中,涉及到三个层次,即现实世 界、信息世界和机器世界,经历了两次抽象 和转换。
N
属于
1
班级
性别
年龄
班级名
班主任
2.2.2 E-R模型
【例2-1】有一个简单的学生信息数据库系统,包含班 级、学生和课程实体,其中一个班可以有若干个学生, 一个学生只能属于一个班;一个学生可以选修多门课, 一门课也可以有多个学生选修,学生选课后有成绩。该 数据库系统的E-R模型如图所示。
课程名 学分 学号 姓名
1
所属
N 质 量 评 价
数量
课程 号
课程 名 开 课
学分
职工号
教科书 M
订 购
N 专业 1
N 课程 M
M
教 学
N 教师
姓名
性别 成绩 民族
书号
书名
出版 社
专业 号
专业 名 1 N
选 修 N
属 于
学生
学号
姓名
性别
年龄
2.2.2 E-R模型
概念模型是从用户角度看到的模型,是第一层 抽象。要求概念简单、表达清晰、易于理解, 它与具体的计算机硬件、 OS 及 DBMS 无关。 而数据模型才是从计算机角度看到的模型,要 求用有严格语法和语义的语言对数据进行严格 的形式化定义、限制和规定,使模型能转变为 计算机可以理解的格式。
2.信息世界
信息世界就是现实世界在人们头脑中的反映, 又称概念世界。客观事物在信息世界中称为 实体,反映事物间联系的是实体模型或概念 模型。现实世界是物质的,相对而言信息世 界是抽象的。
3.数据世界
数据世界又叫机器世界,就是信息世界中的信息数 据化后对应的产物。现实世界中的客观事物及其联 系,在数据世界中以数据模型描述。相对于信息世 界,数据世界是量化的、物化的。 在数据库技术中,用数据模型对现实世界数据特征 进行抽象,来描述数据库的结构与语义。不同的数 据模型是提供给人们模型化数据和信息的不同工具。 根据模型应用的不同目的,可以将模型分为两类: 概念模型和数据模型。概念模型是按用户的观点对 数据和信息建模,数据模型是按计算机系统的观点 对数据建模。
2.3.3 关系模型
7.候选关键字或候选码 如果在一个关系中,存在多个属性(或属性组合)都能 用来唯一标识该关系中的元组,这些属性(或属性组 合)都称为该关系的候选关键字或候选码,候选码可 以有多个。 8.主键或主码 在一个关系的若干候选关键字中,被指定作为关键字 的候选关键字称为该关系的主键或主码(Primary Key),一般,我们习惯选择号码作为一个关系的主 码。
课程
M
选修
N
学生
N
属于
1
班级
课程号
成绩
性别
年龄
班级名
班主任
2.2.2 E-R模型
【例2-2】有一个高等学校信息数据库系统,包含学 生、教师、专业、教科书和课程五个实体,其中一个 专业可以有若干个学生,一个学生只能属于一个专业; 一个专业可以开多门课,一门课只能在一个专业开课; 一个专业可以有若干个教师,一个教师只能属于一个 专业;一位教师可以讲授多门课,一门课也可以有多 位教师讲授,每个教师讲授每门课都有一个质量评价; 一个专业可以订购若干本教科书,一本教科书也可以 有多个专业订购,每个专业订购的每本教科书都有一 个数量;一个学生可以选修多门课,每一门课都可以 有多个学生选修,学生选课后有成绩。该数据库系统 的E-R模型如图所示。
2.3 常见的三种数据模型
数据模型是对客观事物及联系的数据描述,是 概念模型的数据化,即数据模型提供表示和组 织数据的方法。一般地讲,数据模型是严格定 义的概念的集合,这些概念精确地描述系统的 静态特征、动态特征和完整性约束条件。因此, 数据模型通常由数据结构、数据操作和数据的 完整性约束三要素组成。
2.3.3 关系模型
用二维表格结构表示实体以及实体之间的联 系的数据模型称为关系模型。关系模型在用户 看来是一个二维表格,其概念单一,容易被初 学者接受。在关系模型中,操作的对象和操作 结果都是二维表。
2.3.3 关系模型
1.关系 一个关系就是一张二维表,每个关系都有一个 关系名。在计算机里,一个关系可以存储为一 个文件。 2.元组 二维表中的行称为元组,每一行是一个元组。 元组对应存储文件中的一个记录。
1.现实世界
现实世界(Real World)就是人们所能看 到的、接触到的世界,是存在于人脑之外的 客观世界。现实世界当中的事物是客观存在 的,事物与事物之间的联系也是客观存在的。 现实世界就是存在于人脑之外的客观世界, 客观事物及其相互联系就处于现实世界中。 客观事物可以用对象和性质来描述。
1.数据结构
数据结构是对计算机的数据组织方式和数据之 间联系进行框架性描述的集合,是对数据库静 态特征的描述。它研究存储在数据库中的对象 类型的集合,这些对象类型是数据库的组成部 分。数据库系统是按数据结构的类型来组织数 据的,因此数据库系统通常按照数据结构的类 型来命名数据模型。如层次结构、网状结构和 关系结构的模型分别命名为层次模型、网状模 型和关系模型,其中层次模型和网状模型统称 为非关系模型。
2.3.3 关系模型
3.属性 二维表的列称为属性,每一列有一个属性名, 属性值是属性的具体取值。属性对应存储文件 中的一个字段。属性的具体取值就形成表中的 一个个元组。 4.域 域是属性的取值范围。例如,性别的域为(男, 女)。
2.3.3 关系模型
5.关系模式 对关系的信息结构及语义限制的描述称为关系 模式,用关系名和所包含的属性名的集合表示。 例如,职工信息表的关系模式是:职工(职工 号,姓名,性别,年龄,工资),注意:属性 间用逗号间隔。 6.关键字或码 在关系的属性中,能够用来唯一标识元组的属 性(或属性组合)称为关键字或码(Key)。