高等教育第2章 数据模型_第1页
高等教育第2章 数据模型_第2页
高等教育第2章 数据模型_第3页
高等教育第2章 数据模型_第4页
高等教育第2章 数据模型_第5页
已阅读5页,还剩60页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第2章数据模型1主要内容:信息的三个世界, 概念模型(E-R模型)数据模型的组成、发展(层次模型、网状模型、关系模型)数据模型的三要素

重点:概念模型、E-R模型、关系模型难点:概念模型、数据模型22.1信息的三个世界2.2概念模型2.3逻辑模型(数据模型) 2.4本章小结第2章数据模型3数据从现实生活进入到数据库实际经历了若干个阶段

数据的三种范畴现实信息机器在数据库中如何表示现实世界中的数据和信息呢?2.1信息的三个世界42.1.1现实世界

现实世界是存在于人脑之外的客观世界。 现实世界由万事万物组成。事物可用“对象”和“性质”来描述,事物又有“共同事物”和“特殊事物”的区分。客观事物之间存在着相互联系。 要求解现实问题,就要从找出反映实际问题的对象入手,研究它们的性质及其内在规律,从而找到求解方法。反映事物间联系的是内在规律。5

信息世界就是现实世界在人脑中的反映,又称概念(观念)世界。

客观事物在信息世界中被抽象为实体, 客观事物之间的相互联系在信息世界中被抽象为概念模型。

现实世界是物质的,相对而言, 信息世界是抽象的——是对现实世界的抽象。2.1.2信息世界6在信息世界中,常用的主要概念如下:

1.实体(Entity)

2.属性(Attributes)

3.实体型(EntityType)4.实体集(EntitySet)5.联系(Relationship)2.1.2信息世界7实体

1.实体(Entity)——客观存在并可相互区别的事物称为实体。说明:这里的事务可以是客观事物,也可以是抽象事件。客观存在的抽象的概念或事件,如:订货、演出、足球赛……等也是实体可以触及的客观对象,即具体的人、事、物,如:学生、部门、课程、仓库、器件、职工……等是实体8属性身高年龄性别体重……比赛时间、地点、参赛队……2.属性(Attributes)——实体所具有的某一特性。说明:属性有“型”和“值”之分。如性别就是一个属性的型,而男、女就是性别属性的值。93.实体型(EntityType)——若干个属性型组成的集合。 说明:实体型用实体名及其属性名集合来描述同类实体。如:学生(学号,姓名,性别,出生年月,系,入学时间)。实体型104.实体集——具有相同特征(也叫同型实体)的一类实体的集合。

如:全体学生就是一个实体集。学生实体集课程实体集教师实体集教室实体集实体集115.联系(Relationship)——现实世界中,事务内部以及事务之间的联系在信息世界中的抽象。

分为2种联系:实体内部的联系:通常是指组成实体的各属性之间的联系(反映现实世界中事物内部的联系)实体之间的联系:通常是指不同实体集之间的联系(反映现实世界中事物之间的联系)联系12信息世界的其他概念6.键(Key)能唯一标识一个实体的属性或者属性集称为实体的键。例如学号是学生实体的键。7.域(Domain) 属性的取值范围称为该属性的域。例如学号的域为8位整数,姓名的域为字符串集合,性别的域为(男,女)。13数据世界是在信息世界的基础上,对客观事物及其联系的进一步抽象。信息世界中的实体在数据世界中被抽象为数据。现实世界中的事物及联系在数据世界中用数据模型来描述。2.1.3数据世界(机器世界)14数据世界中常用的主要概念如下:1.记录(Record)

对应于信息世界中的“实体”。如一个学生(990001,张立,20,男,计算机)为一个记录。2.字段(Field)

对应于信息世界中的”属性”

,也称为数据项。字段的命名往往和属性名相同。如学生有学号、姓名、年龄、性别、系等字段。3.文件(File)

对应于信息世界中的“实体集”。如所有学生的记录组成了一个学生文件。2.1.3数据世界(机器世界)15现实世界信息世界数据世界事物总体实体集文件事物个体实体记录特征属性字段/数据项事物之间的联系概念模型数据模型图2-2三个世界的各术语的对应关系

2.1.4三个世界之间的关系16客观世界是信息之源,是设计DB的出发点概念模型和数据模型是对客观事物的两级抽象描述:概念模型是按用户的观点来建模,对应于信息世界数据模型是按计算机系统的观点来建模,对应于数据世界数据库的核心问题是数据模型2.1.4三个世界之间的关系17

将客观事物抽象为能用计算机存储和处理的数

据需经历三个阶段:数据模型概念模型现实世界信息世界数据世界2.1.4三个世界之间的关系182.2概念模型概念模型(conceptualdatamodel)——是面向用户的模型,它是用户所容易理解的现实世界特征的数据抽象。

概念模型用于信息世界的建模19概念模型具有两方面的特征:是现实客观世界特征的第一层次的抽象。是数据库设计人员与用户之间进行交流的语言。概念模型需要满足两方面的要求:具有较强的语义表达能力,能够方便、直接地表达应用中的各种语义知识;应该简单、直观、清晰,易于为没有多少专业知识的用户所理解。2.2概念模型20实体:客观存在,并可以相互区分的事物就是实体。属性:一个实体通常具有若干个特征,其中的每一个特征就称为实体的一个属性。 说明:属性不能脱离实体,属性是相对实体而言的,它表征了实体的一个特征。

联系:实体集之间的对应关系称为联系,它反映现实世界事物之间的相互关联。1.实体、属性及联系212.实体间的联系

实体集内部的联系实体集之间的联系一对一联系(1:1)一对多联系(1:n)多对多联系(m:n)22一对一联系

定义:对于实体集A中的每一个实体,实体集B中至多有一个(也可以没有)实体与之联系,反之亦然,则称实体集A与实体集B具有一对一联系,记为1:123一对多联系

对于实体集A中的每一个实体,实体集B中有n个实体(n≥0)与之联系,反之,对于实体集B中的每一个实体,实体集A中至多只有一个实体与之联系,则称实体集A与实体集B有一对多联系,记为1:n24多对多联系

对于实体集A中的每一个实体,实体集B中有n个实体(n≥0)与之联系,反之,对于实体集B中的每一个实体,实体集A中也有m个实体(m≥0)与之联系,则称实体集A与实体B具有多对多联系,记为m:n25考考你学生与学号班级与学生教师与学生说出它们的联系类型263.实体联系(E-R)方法

概念模型中最常用和最著名的模型是实体-联系模型(E—R模型)E—R模型的图示形式就称为E—R图。E—R图提供了用图形表示实体、属性和联系的方法。E—R图的要点如下:实体——用矩形表示实体型,矩形内标明实体名;属性——用椭圆形表示属性,并用无向边将其与相应的实体联结起来;联系——用菱形表示联系,菱形内写出联系名,同无向边分别与有关实体联结起来,同时在无向边旁边标上联系的类型(1∶1,1∶n,m∶n)。27(1)实体联系模型(E-R模型)

E-R模型的三要素:实体、属性、实体间的联系。表示属性表示实体间联系表示实体28(a)两个实体之间的联系学生选修成绩课程系主任领导系学生属于系11n1mn供应商供应数量零件项目mnn(b)多个实体之间的联系(c)实体集内部的联系职工

领导1n学生选修学号(a)实体(b)属性(c)联系292.3逻辑数据模型(数据模型)通常,我们把逻辑数据模型简称为数据模型。关系数据库之父E·F·Codd认为:一个基本数据模型是一组向用户提供的规则,这些规则规定数据结构如何组织以及允许进行何种操作。302.3数据模型目前最常用的数据模型有层次模型(HierarchicalModel)网状模型(NetworkModel)关系模型(RelationalModel)说明:这3种数据模型的根本区别在于数据结构不同,即数据之间联系的表示方法不同。通常按数据结构的类型来命名数据模型。如:层次结构的数据模型是层次模型,网状结构的数据模型是网状模型,关系结构的数据模型是关系模型。311.数据模型的三要素

1)数据结构2)数据操作3)完整性约束321)数据结构什么是数据结构

描述数据库的组成对象,以及对象之间的联系描述的内容与数据类型、内容、性质有关的对象与数据之间联系有关的对象数据结构是对系统静态特性的描述332)数据操作什么是数据操作 对数据库中各种对象(型)的实例(值)允许执行的操作及有关的操作规则数据库中最主要的数据操作有2类:数据查询数据更新(包括插入、删除、修改)数据模型必须定义这些操作的确切含义、操作符号、操作规则(如优先级)以及实现操作的语言。数据操作是对系统动态特性的描述343)数据的完整性约束什么是数据的完整性约束条件一组完整性规则的集合。完整性规则:含义:给定的数据模型中数据及其联系所具有的制约和储存规则作用:用以限定符合数据模型的数据库状态以及状态的变化,以保证数据的正确、有效、相容。353)数据的完整性约束数据模型应包含的2个方面的完整性约束规定本数据模型必须遵守的基本的通用的完整性约束条件。举例:例如在关系模型中,任何关系必须满足实体完整性和参照完整性2个条件。提供用户定义完整性约束条件的机制,以反映具体应用所涉及的数据必须遵守的特定的语义约束条件。举例:例如在“学生管理信息系统”中,学生课程的分数不能为负数。362.层次模型层次模型是数据库系统中最早出现的数据模型采用层次模型的数据库的典型代表是IBM公司的IMS(InformationManagementSystem)数据库管理系统层次模型用一棵“有向树”的数据结构来表示各类实体以及实体间的联系。37层次模型有向树的示意图层次模型中的几个术语根结点,双亲结点,兄弟结点,叶结点根结点——没有双亲的结点叶结点——没有子女的结点38层次模型的含义: 满足下面两个条件的基本层次联系的集合为层次模型1)有且仅有一个结点没有双亲,该结点就是根结点;2)根以外的其他结点有且仅有一个双亲结点。说明:这就使得层次数据库系统只能直接处理一对多的实体关系;层次模型的含义和特征39层次模型的特征1)结点的双亲是唯一的2)只能直接处理一对多的实体联系3)在树中,每个结点表示一个记录类型(对应“实体”),每个记录类型可以包含若干个字段4)任何一个给定的记录值只有按其路径查看时,才能显出它的全部意义5)没有一个子女记录值能够脱离双亲记录值而独立存在。40层次模型的表示方法教员学生层次数据库模型1)实体型:用记录型描述每个结点表示一个记录型(实体),图中共有

4个结点2)属性:用字段描述每个记录型可包含若干个字段3)联系:用结点之间的连线表示记录型(实体)之间的一对多(1:n)的父子联系41层次模型的“记录值”教员学生层次数据库的一个值学生对应上述层次数据模型,该值是D02(计算机系)记录值及其所有后代记录值组成的一棵树。42层次模型的数据操纵与数据完整性约束层次模型的数据操纵主要有查询、插入、删除和修改进行插入、删除和修改操作时要满足层次模型的完整性约束条件。进行插入操作时,如果没有相应的双亲结点值就不能插入子女结点值;进行删除操作时,如果删除双亲结点值,则相应的子女结点值也被同时删除;修改操作时,应修改所有相应的记录,以保证数据的一致性。43层次模型的优缺点优点比较简单,容易使用。结构清晰,结点间联系简单。它提供了良好的数据完整性支持。缺点不能直接表示两个以上的实体型间的复杂的联系和实体型间的多对多联系,只能通过引入冗余数据或创建虚拟结点的方法来解决,易产生不一致性。对数据的插入和删除的操作限制太多。查询子女结点必须通过双亲结点。44层次型不能直接表示

多对多(m:n)的联系把有两个父结点的非层次结构转换成两个层次型453.网状模型网状模型取消了层次模型的不能表示非树型结构的限制有向树变成了有向图,用有向图描述了网状模型。网状模型的含义和特征满足下面两个条件的基本层次联系的集合允许有一个以上的结点没有双亲至少有一个结点可以有多于一个双亲。46网状模型的例子(a)(b)(c)3.网状模型47多对多联系在网状模型中的表示用网状模型间接表示多对多联系将多对多联系直接分解成一对多联系例(某“多对多联系”):一个学生可以选修若干门课程,某一课程可以被多个学生选修,学生与课程之间是多对多联系引进一个学生选课的联结记录,由3个数据项组成学号课程号成绩3.网状模型48学生/选课/课程的网状数据模型3.网状模型49网状模型的数据操纵与完整性约束网状模型的数据操纵:主要包括查询、插入、删除和修改数据进行插入、删除和修改操作时要满足网状模型的完整性约束条件。插入数据时,允许插入尚未确定双亲结点值的子女结点值删除数据时,允许只删除双亲结点值修改数据时,可直接表示非树形结构,而无需像层次模型那样增加冗余结点50优点能更为直接地描述客观世界,可表示实体间的多种复杂联系。具有良好的性能和存储效率。缺点结构复杂,其DDL语言极其复杂。数据独立性差,由于实体间的联系本质上是通过存取路径表示的,因此应用程序在访问数据时要指定存取路径。网状模型的优缺点514.关系模型关系模型是发展较晚的一种模型,1970年美国IBM公司的研究员E.F.Codd首次提出了数据库系统的关系模型。20世纪80年代以来,计算机厂商新推出的DBMS几乎都支持关系模型,非关系系统的产品也都加上了关系接口。数据库领域当前的研究工作也都是以关系方法为基础。关系数据库已成为目前应用最广泛的数据库系统,如现在广泛使用的小型数据库系统Foxpro、Acess,大型数据库系统Oracle、Informix、Sybase、SQLServer等都是关系数据库系统52在用户观点下,关系模型中的数据结构是一张二维表。这种表称为“关系”。

4.关系模型534.关系模型54关系模型的基本概念1)关系(Relation):一个关系对应一张二维表2)元组(Tuple):表格中的一行3)属性(Attribute):表格中的一列,相当于记录中的一个字段4)关键字(Key):可唯一标识元组的属性或属性集,也称为关系键或主码5)域(Domain):属性的取值范围6)分量:元组中的一个属性值7)关系模式:对关系的描述,一般表示为关系名(属性1,属性2,…,属性n)比如:学生(学号,姓名,年龄,性别,系,年级)55关系模型的数据操纵主要包括查询、插入、删除和修改数据这些操作必须满足关系的完整性约束条件,即实体完整性、参照完整性和用户定义的完整性。 说明:

1)在非关系模型中,操作对象是单个记录,在关系模型中,操作对象和操作结果都是关系,即若干元组的集合;

2)存取路径对用户隐蔽:用户只要指出“干什么”,而不必详细说明“怎么干”,从而大大地提高了数据的独立性,提高了用户的生产率。关系模型的数据操纵与完整性约束56优点(详见第3章)建立在严格数学概念基础上,有严格的设计理论。概念单一、结构简单直观、易理解、语言表达简练。描述一致,实体和联系都用关系描述,查询操作结果也是一个关系。利用公共属性连接,实体间的联系容易实现。由于存取路径对用户透明,从而使得数据独立性更高,安全保密性更好。缺点由于存取路径对用户透明,查询效率往往不如非关系模型为了提高性能,必须对用户的查询表示进行优化,增加了开发DBMS的负担。关系模型的优缺点575.面向对象模型(略)虽然关系模型比层次模型、网状模型简单灵活,但还不能表达现实世界的很多复杂的数据结构。如CAD中的图形,多媒体应用中的声音、图像等。面向对象模型是面向对象程序设计方法与数据库技术相结合的产物。其基本目标是:以更接近人类思维的方式描述客观世界的事物及其联系。面向对象程序设计方法是目前程序设计中主要的方法之一,它简单、直观、自然,十分接近人类分析和处理问题的自然思维方式,同时又能有效地用来组织和管理不同类型的数据。58一系列面向对象的核心概念构成了面向对象数据模型的基础,其中主要包括:对象和对象标识属性和方法封装和消息类和继承59优点不仅能存储数据,而且存储了定义在数据上的操作

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论