资源预览内容
第1页 / 共85页
第2页 / 共85页
第3页 / 共85页
第4页 / 共85页
第5页 / 共85页
第6页 / 共85页
第7页 / 共85页
第8页 / 共85页
第9页 / 共85页
第10页 / 共85页
亲,该文档总共85页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
数据库系统教程,第2章 数据模型与数据库结构,1,2019年5月24日8时42分,第2章 数据模型与数据库结构,2.1 数据和数据模型 2.2 概念层数据模型 2.3 组织层数据模型 2.4 面向对象数据模型 2.5 数据库结构,2019年5月24日8时42分,2.1 数据和数据模型,现实世界的数据是散乱无章的,散乱的数据不利于人们对其进行有效的管理和处理。 因此,必须把现实世界的数据按照一定的格式组织起来,以方便对其进行操作和使用。 在用数据库技术管理数据时,数据被按照一定的格式组织起来,比如二维表结构,以使数据能够被更高效地管理和处理。,2019年5月24日8时42分,3,2.1.1 数据与信息,描述事物的符号记录称为数据。 将从数据中获得的有意义的内容称为信息。 数据有一定的格式,这些格式的规定是数据的语法,而数据的含义是数据的语义。 数据是信息存在的一种形式,只有通过解释或处理才能成为有用的信息。,2019年5月24日8时42分,4,示例,数据: (张三,9912101,男,1981,计算机系,应用软件) 解释: 张三是9912101班的男生,1981年出生,计算机系应用软件专业。,2019年5月24日8时42分,5,数据,信息,解释,数据的静态特征,数据的基本结构 学生的学号、姓名、性别、出生日期 数据间的联系 学生选课中的学号与学生基本信息中的学号 数据取值范围约束 考试成绩在0100分之间,2019年5月24日8时42分,6,动态特征,指对数据可以进行的操作以及操作规则。 对数据库数据的操作主要有 查询数据 更改数据:插入、删除和更新 一般将对数据的静态特征和动态特征的描述称为数据模型三要素,2019年5月24日8时42分,7,2.1.2 数据模型,对于模型,人们并不陌生。 建筑模型 飞机模型 计算机中的模型是对事物、对象、过程等客观系统中感兴趣的内容的模拟和抽象表达,是理解系统的思维工具 数据模型(data model)也是一种模型,它是对现实世界数据特征的抽象。,2019年5月24日8时42分,8,数据模型(续),数据库管理系统是基于某种数据模型对数据进行组织的,因此,了解数据模型的基本概念是学习数据库知识的基础。 在数据库领域中,数据模型用于表达现实世界中的对象,即将现实世界中杂乱的信息用一种规范的、形象化的方式表达出来。,2019年5月24日8时42分,9,数据模型(续),数据模型即要面向现实世界,又要面向机器世界,因此需满足三个要求: 能够真实地模拟现实世界; 容易被人们理解; 能够方便地在计算机上实现。,2019年5月24日8时42分,10,数据模型(续),数据模型实际上是模型化数据和信息的工具。根据模型应用的不同目的,可以将模型分为两大类: 概念层数据模型(概念模型),从数据的语义视角来抽取模型,是按用户的观点来对数据和信息进行建模。 组织层数据模型(组织模型)。从数据的组织层次来描述数据。,2019年5月24日8时42分,11,概念层数据模型,从数据的应用语义视角来抽取现实世界中有价值的数据并按用户的观点对数据进行建模。 主要用在数据库的设计阶段, 与具体的数据库管理系统无关, 与具体的实现方式无关。,2019年5月24日8时42分,12,组织层数据模型,从数据的组织方式来描述数据。主要有: 层次模型 网状模型 关系模型 对象-关系模型 是从计算机系统的观点对数据进行建模, 与所使用的数据库管理系统有关。,2019年5月24日8时42分,13,从现实世界到机器世界的过程,2019年5月24日8时42分,14,2.2 概念层数据模型,基本概念 实体-联系模型,2019年5月24日8时42分,15,基本概念,概念层数据模型是指抽象现实系统中有应用价值的元素及其关联关系,反映现实系统中有应用价值的信息结构,并且不依赖于数据的组织层数据模型。 用于对信息世界建模,是现实世界到信息世界的第一层抽象,是数据库设计人员进行数据库设计的工具,也是数据库设计人员和业务领域的用户之间进行交流的工具。,2019年5月24日8时42分,16,基本概念(续),概念层数据模型应该: 具有较强的语义表达能力; 能够方便、直接地表达应用中的各种语义知识 简单、清晰,易于被用户理解。 是面向用户、面向现实世界的数据模型,与具体的DBMS无关。 常用概念模型:实体-联系模型、语义对象模型,2019年5月24日8时42分,17,实体-联系模型,由P. P. S. Chen于1976年提出,即通常所说的E-R方法。 这种方法由于简单、实用,因此得到了广泛的应用,也是目前描述信息结构最常用的方法。 实体-联系方法使用的工具称为E-R图 也把这种描述结果称为E-R模型。,2019年5月24日8时42分,18,实体-联系模型,实体 属性 联系,2019年5月24日8时42分,19,实体,具有公共性质的可相互区分的现实世界对象的集合。例如: 学生、课程、职工 在E-R图中用矩形框表示具体的实体,把实体名写在框内。,学生,2019年5月24日8时42分,20,实体与实例,实体中每个具体的记录值(一行数据),称为实体的一个实例。 有些书也将实体称为实体集或实体类型,而将每行具体的记录称为实体。,2019年5月24日8时42分,21,实体,实例,属性,描述实体或者联系的性质或特征的数据项。,学号 姓名 性别 年龄 ,2019年5月24日8时42分,22,标识属性,能够唯一标识实体的一个属性或最小的一组属性(称为属性集或属性组)称为实体的标识属性, 称为实体的码。 例如,“学号”就是学生实体的码。,2019年5月24日8时42分,23,属性的表示方式,用圆角矩形或椭圆框表示,框内写上属性名,并用连线连到相应实体。,2019年5月24日8时42分,24,联系,联系是数据之间的关联集合,是客观存在的应用语义链 。 实体内部的联系:一个实体内属性之间的联系。 职工中的职工号和此职工的部门经理号 实体之间的联系:不同实体之间的联系。 课程和学生实体之间存在选课联系。,2019年5月24日8时42分,25,联系的表示方式,实体之间的联系用菱形框表示,框内写上联系名,并用连线与有关的实体相连。,联系名,实体1,实体2,2019年5月24日8时42分,联系的种类,一对一联系(1:1) 一对多联系(1:n) 多对多联系(m:n),2019年5月24日8时42分,如果实体A中的每个实例在实体B中至多有一个(也可以没有)实例与之关联,反之亦然,则称实体A与实体B具有一对一联系,记作:1:1,一对一联系(1:1),2019年5月24日8时42分,28,一对一联系的例子,部门和正经理(假设一个部门只有一个正经理,一个人只当一个部门的经理)、系和正系主任(假设一个系只有一个正主任,一个人只当一个系的主任)都是一对一联系。,管理,经理,部门,1,1,2019年5月24日8时42分,29,一对多的联系,如果实体A与实体B之间存在联系,并且对于实体A中的一个实例,实体B中有多个实例与之对应;而对实体B中的任意一个实例,在实体A中都只有一个实例与之对应,则称实体A到实体B的联系是一对多的,记为1 : n,2019年5月24日8时42分,有部门和职工两个实体,并且有语义:一个部门可以有多名职工,但是一个职工只在一个部门工作。则部门和职工之间的联系是一对多的,我们把这种联系命名为工作。,一对多联系的例子,工作,部门,职工,1,n,2019年5月24日8时42分,多对多的联系,如果实体A与实体B之间存在联系,并且对于实体A中的一个实例,实体B中有多个实例与之对应;而对实体B中的一个实例,在实体A中也有多个实例与之对应,则称实体A到实体B的联系是多对多的,记为m : n 。,2019年5月24日8时42分,多对多联系的例子,有学生和课程两个实体,并有语义:一个学生可以修多门课程,一门课程可以被多个学生修。那么学生和课程之间的联系就是多对多的,我们把这种联系命名为选课。,学生,课程,选课,m,n,2019年5月24日8时42分,联系说明,一对一联系是一对多联系的特例,而一对多联系又是多对多联系的特例。 实体之间联系的种类与语义直接相关。 例如,部门和经理: 如果一个部门只有一个经理,一个人只担任一个部门的经理,则部门和经理之间是一对一联系。 如果一个部门可以有多个经理,而一个人只担任一个部门的经理,则部门和经理之间就是一对多联系。 如果一个部门可以有多个经理,而且一个人也可以担任多个部门的经理,则部门和经理之间就是多对多联系。,2019年5月24日8时42分,34,关联多个实体的联系,顾客购买商品: 每个顾客可以从多个售货员那里购买商品,并且可以购买多种商品; 每个售货员可以向多名顾客销售商品,并且可以销售多种商品; 每种商品可由多个售货员销售,并且可以销售给多名顾客。,2019年5月24日8时42分,35,两个图不等价,2019年5月24日8时42分,36,2.3 组织层数据模型,2.3.1 层次数据模型 2.3.2 网状数据模型 2.3.3 关系数据模型,2019年5月24日8时42分,37,概述,组织层数据模型是从数据的组织形式的角度来描述信息。 在数据库技术的发展过程中用到的组织层数据模型主要有: 层次模型(Hierarchical Model) 网状模型(Network Model) 关系模型(Relational Model) 面向对象模型(Object Oriented Model),2019年5月24日8时42分,38,2.3.1 层次数据模型,是数据库管理系统中最早出现的数据模型。 层次数据库管理系统采用层次模型作为数据的组织方式。 层次数据库管理系统的典型代表是IBM公司的IMS,是IBM1968年推出的第一个大型商用数据库管理系统。,2019年5月24日8时42分,39,层次数据模型,用树形结构表示实体和实体之间的联系。 现实世界中许多实体之间的联系本身就呈现出一种自然的层次关系,如: 行政机构 家族关系,2019年5月24日8时42分,40,层次数据模型,构成层次模型的树由结点和连线组成 结点表示实体,结点中的项表示实体的属性 连线表示相连的两个实体间的联系,这种联系是一对多的。 通常把表示“一”的实体放在上方,称为父结点; 把表示“多”的实体放在下方,称为子结点。 将不包含任何子结点的结点称为叶结点。,2019年5月24日8时42分,41,层次模型示意图,2019年5月24日8时42分,42,层次模型的限制,可以方便的表示一对多的联系。但有以下两点限制: 有且仅有一个结点无父结点,这个结点即为树的根; 其他结点有且仅有一个父结点。,2019年5月24日8时42分,43,层次模型基本特点,任何一个给定的记录值只有从层次模型的根部开始按路径查看时,才能明确其含义,任何子结点都不能脱离父结点而存在。,2019年5月24日8时42分,44,层次数据模型的一个值,2019年5月24日8时42分,45,层次模型局限性,只能表示一对多的联系,不能直接表示多对多联系。 如果把多对多联系转换为一对多联系,会出现一个子结点有多个父结点的情况。,2019年5月24日8时42分,46,解决办法,把一个层次模型分解为两个层次模型,2019年5月24日8时42分,47,2.3.2网状数据模型,如果去掉层次模型中的两点限制,即 允许一个以上的结点无父结点, 每个结点可以有多个父结点, 便构成了网状模型。 用图形结构表示实体和实体之间的联系。,2019年5月24日8时42分,48,网状模型示例,2019年5月24日8时42分,49,网状模型限制,网状数据模型可以直接表示多对多联系。但实现起来太复杂。 因此一些支持网状模型的数据库管理系统,对多对多联系还是进行了限制 例如,网状模型的典型代表CODASYL就只支持一对多联系。,2019年5月24日8时42分,50,网状模型示意图,2019年5月24日8时42分
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号