《第2章 数据模型课件.ppt》由会员分享,可在线阅读,更多相关《第2章 数据模型课件.ppt(18页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第2章 数据模型 本本 章章 要要 点点n实体、属性与联系的概念n数据模型的基本概念 2.1 现实世界的数据描述 现实世界是存在于人脑之外的客观世界,是数据库系统操作处理的对象。如何用数据来描述、解释现实世界,运用数据库技术表示、处理客观事物及其相互关系,则需要采取相应的方法和手段进行描述,进而实现最终的操作处理。 计算机信息处理的对象是现实生活中的客观事物,在对客观事物实施处理的过程中,首先要经历了解、熟悉的过程,从观测中抽象出大量描述客观事物的信息,再对这些信息进行整理、分类和规范,进而将规范化的信息数据化,最终由数据库系统存储、处理。在这一过程中,涉及到三个层次,经历了两次抽象和转换。
2、客观事物是信息之源,是设计、建立数据库的出发点,也是使用数据库的最后归宿。概念模型和数据模型是对客观事物及其相互联系的两种抽象描述,实现了信息处理三个层次问的对应转换,而数据模型是数据库系统的核心和基础。 1信息处理的三个层次信息处理的三个层次 (1)现实世界 现实世界就是存在于人脑之外的客观世界,客观事物及其相互联系就处于现实世界中。客观事物可以用对象和性质来描述; (2)信息世界 信息世界就是现实世界在人们头脑中的反映,又称观念世界。客观事物在信息世界中称为实体,反映事物间联系的是实体模型或概念模型。现实世界是物质的,相对而言信息世界是抽象的; (3)数据世界 数据世界就是信息世界中的信息
3、数据化后对应的产物。现实世界中的客观事物及其联系,在数据世界中以数据模型描述。相对于信息世界,数据世界是量化的、物化的。 2实体实体 客观事物在信息世界中称为实体(Entity),它是现实世界中任何可区分、识别的事物。实体可以是具体的人或物,也可以是抽象概念; (1)属性)属性 实 体 具 有 许 多 特 性 , 实 体 所 具 有 的 特 性 称 为 属 性(Attribute)。一个实体可用若干属性来刻画。每个属性都有特定的取值范围即值域(Domain),值域的类型可以是整数型、实数型、字符型等;; (2)实体型和实体值)实体型和实体值 实体型就是实体的结构描述,通常是实体名和属性名的集合
4、。具有相同属性的实体,有相同的实体型; (3)属性型和属性值)属性型和属性值 与实体型和实体值相似,实体的属性也有型与值之分。属性型就是属性名及其取值类型,属性值就是属性在其值域中所取的具体值; (4)实体集)实体集 性质相同的同类实体的集合称实体集。如一个班的学生。 3实体联系实体联系 建立实体模型的一个主要任务就是要确定实体之间的联系。常见的实体联系有3种:一对一联系、一对多联系和多对多联系。如图2-1所示。班长班长-班级班级11班长班长-学生学生1n教师教师-学生学生mn(a)(b)(c) (1)一对一联系()一对一联系(1:1) 若两个不同型实体集中,任一方的一个实体只与另一方的一个实
5、体相对应,称这种联系为一对一联系。如班长与班级的联系,一个班级只有一个班长,一个班长对应一个班级。 (2)一对多联系()一对多联系(1:n) 若两个不同型实体集中,一方的一个实体对应另一方若干个实体,而另一方的一个实只对应本方一个实体,称这种联系为一对多联系。如班长与学生的联系,一个班长对应多个学生,而本班每个学生只对应一个班长。 (3)多对多联系()多对多联系(m:n) 若两个不同型实体集中,两实体集中任一实体均与另一实体集中若干个实体对应,称这种联系为多对多联系。如教师与学生的联系,一位教师为多个学生授课,每个学生也有多位任课教师。 4实体模型实体模型 实体模型又称概念模型,它是反映实体之
6、间联系的模型。数据库设计的重要任务就是建立实体模型,建立概念数据库的具体描述。在建立实体模型时,实体要逐一命名以示区别,并描述它们之间的各种联系。实体模型只是将现实世界的客观对象抽象为某种信息结构,这种信息结构并不依赖于具体的计算机系统,而对应于数据世界的模型则由数据模型描述,数据模型是数据库中实体之间联系的抽象描述即数据结构。数据模型不同,描述和实现方法也不同,相应的支持软件即数据库管理系统DBMS也不同。 2.2 数据模型数据模型 数据模型是指数据库中数据与数据之间的关系。 数据模型是数据库系统中一个关键概念,数据模型不同,相应的数据库系统就完全不同,任何一个数据库管理系统都是基于某种数据
7、模型的。数据库管理系统常用的数据模型有下列三种: 层次模型 网状模型 关系模型。 1层次数据模型(层次数据模型(Hierarchical Model) 用树形结构表示数据及其联系的数据模型称为层次模型。 树是由结点和连线组成,结点表示数据集,连线表示数据之间的联系,树形结构只能表示一对多联系。通常将表示“一”的数据放在上方,称为父结点;而表示“多”的数据放在下方,称为子结点。树的最高位置只有一个结点,称为根结点。根结点以外的其他结点都有一个父结点与它相连,同时可能有一个或多个子结点与它相连。没有子结点的结点称为叶结点,它处于分枝的末端。 层次模型的基本特点: (1)有且仅有一个结点无父结点,称
8、其为根结点; (2)其他结点有且只一个父结点。 支持层次数据模型的DBMS称为层次数据库管理系统,在这种系统中建立的数据库是层次数据库。层次模型可以直接方便地表示一对一联系和一对多联系,但不能用它直接表示多对多联系。 2网状数据模型(网状数据模型(Network Model) 用网络结构表示数据及其联系的数据模型称为网状模型。网状模型是层次模型的拓展,网状模型的结点间可以任意发生联系,能够表示各种复杂的联系。 网状模型的基本特点: (1)一个以上结点无父结点 (2)至少有一结点有多于一个的父结点 网状模型和层次模型在本质上是一样的,从逻辑上看,它们都是用结点表示数据,用连线表示数据间的联系,从
9、物理上看,层次模型和网络模型都是用指针来实现两个文件之间的联系。层次模型是网状模型的特殊形式,网状模型是层次模型的一般形式。 支持网状模型的DBMS称为网状数据库管理系统,在这种系统中建立的数据库是网状数据库。网络结构可以直接表示多对多联系,这也是网状模型的主要优点。 3关系模型(关系模型(Relational Model) 人们习惯用表格形式表示一组相关的数据,既简单又直观,如表2-1就是一张学生基本情况表。这种由行与列构成的二维表,在数据库理论中称为关系,用关系表示的数据模型称为关系模型。在关系模型中,实体和实体间的联系都是用关系表示的,也就是说,二维表格中既存放着实体本身的数据,又存放着
10、实体间的联系。关系不但可以表示实体间一对多的联系,通过建立关系间的关联,也可以表示多对多的联系。 关系模型是建立在关系代数基础上的,因而具有坚实的理论基础。与层次模型和网状模型相比,具有数据结构单一、理论严密、使用方便、易学易用的特点,因此,目前绝大多数数据库系统的数据模型,都是采用关系数据模型,成为数据库应用的主流。 Visual FoxPro是一种典型的关系型数据库管理系统。 表2-1 学生基本情况表 学号姓名性别班级名系别代号地址出生日期是否团员备注011110李建国男计012101湖北武汉1984-9-28是 011103李宁女电013402江西九江1985-5-6否 011202赵娜
11、女英011203广西南宁1984-2-21否 021204孙亮男电013402湖南长沙1986-9-8是 011111赵琳女计012101江苏南京1985-11-18是 021405罗宇波男英011203江苏南通1985-12-12否 n2.3 E-R 2.3 E-R 图图n2.3.1 E-R2.3.1 E-R图的主要组成部分图的主要组成部分 数据库建模的最常用模型是实体数据库建模的最常用模型是实体- -联系模型联系模型( (简称简称E-E-R R图图) ),它具有三个主要的部分:,它具有三个主要的部分:1. 1. 实体集实体集, , 在在E-RE-R图中用矩形来表示实体集,实体是实图中用矩形
12、来表示实体集,实体是实体集的成员。体集的成员。2. 2. 联系联系, , 在在E-RE-R图中用菱形来表示联系,联系与其涉及图中用菱形来表示联系,联系与其涉及的实体集之间以直线连接,并在直线端部标上联系的种的实体集之间以直线连接,并在直线端部标上联系的种类类(1:1(1:1,1:N1:N,M:N)M:N)。3. 3. 属性属性, , 在在E-RE-R图中用椭圆形来表示实体集和联系的属图中用椭圆形来表示实体集和联系的属性,对于键码的属性,在属性名下划一横线。性,对于键码的属性,在属性名下划一横线。 下面举例加以说明。下面举例加以说明。 n例例1 1 在一般情况下,一个学生可以选修多门课程且一在一
13、般情况下,一个学生可以选修多门课程且一n门课程可以让多个学生来选修;一门课程只能有一名门课程可以让多个学生来选修;一门课程只能有一名n课代表且一个学生允许担任几门课的课代表。用课代表且一个学生允许担任几门课的课代表。用E-RE-R图图n来可以表示一个简单的学生选课数据库,如下图来可以表示一个简单的学生选课数据库,如下图2-22-2所所n示。示。n n 图图2-2 2-2 学生选课数据库的学生选课数据库的E-RE-R图图n例例2 2 在一般情况下,一部电影有一批演员且每位演员可在一般情况下,一部电影有一批演员且每位演员可n以出演多部电影;每家制片公司拥有多部电影且每部电以出演多部电影;每家制片公
14、司拥有多部电影且每部电n影只归一家制片公司所有;每家制片公司只有一位公司影只归一家制片公司所有;每家制片公司只有一位公司n总裁且每位公司总裁只在一家制片公司任职。用总裁且每位公司总裁只在一家制片公司任职。用E-RE-R图可图可n以表示一个电影资料数据库,如下图以表示一个电影资料数据库,如下图2-32-3所示。所示。n n n 图图2-3 2-3 电影资料数据库的电影资料数据库的E-RE-R图图n 2.3.2 E-R2.3.2 E-R图联系中的角色图联系中的角色n 在一个联系中,一个实体集可能出现两次或多在一个联系中,一个实体集可能出现两次或多n次;如果这样的话,那么一个实体集在联系中出现多次;
15、如果这样的话,那么一个实体集在联系中出现多n少次,我们就从该联系到该实体集画多少条线。连向少次,我们就从该联系到该实体集画多少条线。连向n实体集的每一条线代表该实体集在联系中所扮演的每实体集的每一条线代表该实体集在联系中所扮演的每n一个角色,我们把它扮演的角色标记在连线的侧面。一个角色,我们把它扮演的角色标记在连线的侧面。n 例如一门课可能有几门先修课,如例如一门课可能有几门先修课,如“面向对象程面向对象程n序设计序设计”、“数据结构数据结构”等就是等就是“数据库原理及应数据库原理及应n用用”的先修课;而同一门课也可能是几门其他课的先的先修课;而同一门课也可能是几门其他课的先n修课,比如修课,比如“面向对象程序设计面向对象程序设计”既是既是“数据结构数据结构”n也是也是“数据库原理及应用数据库原理及应用”的先修课。的先修课。n 由前分析可以知道,实体集由前分析可以知道,实体集CourseCourse(课程)和它(课程)和它n本身的联系本身的联系prelearnprelearn( (先修先修) )是多对多的联系,角色是多对多的联系,角色npredecessorpredecessor代表先修课,代表先修课,SuccessorSuccessor代表后继课,如代表后继课,如n下图下图2-42-4所示。所示。n n n n 图图2-4 2-4 具有角色的联系具有角色的联系
限制150内