1.3数据模型 课件(共42张PPT)-《数据库应用技术-SQL Server》同步教学(人民邮电版)

资源下载
  1. 二一教育资源

1.3数据模型 课件(共42张PPT)-《数据库应用技术-SQL Server》同步教学(人民邮电版)

资源简介

(共42张PPT)
数据库系统概述
第1章
目录
01
数据库系统
的基本概念
02
数据管理技术
03
数据模型
04
数据库系统
的结构
05
数据库领域
的新技术
本章主要内容
本章主要介绍数据库系统的基本概念、数据管理技术的产生和发展、数据模型、数据库系统的结构和数据库领域的新技术等。
数据库技术主要研究如何对数据进行科学管理,从而为人们提供可共享的、安全的、可靠的数据。数据库技术是现代计算机信息系统和计算机应用系统的基础和核心。因此,掌握数据库技术是全面认识计算机系统的重要环节,也是适应信息化时代的重要基础。
数据模型
第1章
03
准备知识
模型是对事物、对象、过程等客观系统中人们感兴趣的内容的模拟和抽象表达,是理解系统的思维工具。
数据模型也是一种模型,是计算机世界对现实世界数据特征的抽象、表示和处理的工具。
数据库不仅要反映数据本身内容,而且要反映数据之间的联系,而这种模拟是通过数据模型实现的。
数据模型是数据库的框架,是数据库的核心和基础。
1.3.1 两类数据模型
数据模型用于表达现实世界中的客观对象,数据模型即要面向现实世界同时又要面向计算机世界。
数据模型需满足3个方面的要求:
(1)能够真实地模拟现实世界;
(2)容易被人们理解;
(3)能够方便地在计算机上实现。
在数据库系统中针对不同的使用对象和应用目的,采用不同的数据模型:概念模型、逻辑模型和物理模型。
1.3.1 两类数据模型
根据模型应用目的的不同,模型可分为两类,第一类是概念模型,第二类是逻辑模型和物理模型。
概念模型也称为信息模型,它按用户的观点对数据和信息建模,是对现实世界的事物及其联系的第一层抽象,用于描述某个单位或组织所关心的信息结构,主要用于数据库设计。
逻辑模型主要包括层次模型、网状模型、关系模型、面向对象模型等,它们按计算机系统的观点对数据进行建模,是对现实世界的第二层抽象,主要用于数据库管理系统的实现。
物理模型是对数据底层的抽象,它描述数据在磁盘或磁带上的存储方式和存取方法,是面向计算机系统的。
1.3.2不同世界的划分及相关概念
人们在把客观存在的事物以数据的形式存储到计算机的过程中经历了3个领域:现实世界、信息世界和计算机世界。
1.现实世界
现实世界,即客观世界,存在着各种各样的事物及其之间的联系。
例如,
学校里有学生、课程、教师等实体,教师为学生授课,学生选修课程并取得成绩。学生、课程、教师之间存在着联系。
现实世界中的每个事物都有自己的特征或性质。
例如,要描述一门课程,通常选用课程号、课程名、课程类型、学时等特征,有了这些特征就能区分不同的课程。
2.信息世界
信息世界是现实世界在人们头脑中的反映,是对现实世界的认识和抽象描述,按用户的观点对数据和信息进行建模。在信息世界中,与数据库技术相关的主要概念和术语如下。
实体(Entity):客观存在并且可以相互区别的事物称为实体。实体可以是具体的人、事、物,也可以是抽象的概念或联系。
属性(Attribute):实体所具有的某一特性称为属性,一个实体可以由若干个属性刻画。
实体型(Entity Type):具有相同属性的实体必然具有共同的特征和性质,用实体名及其属性名集合抽象和刻画同类实体,称为实体型。
2.信息世界
实体集(Entity Set):同一类型的集合称为实体集。例如,全体学生、全部课程、所有教师都是一个实体集。
码(Key):在实体型中,唯一标识一个实体的属性或属性集称为实体的码。例如,学号是学生实体的码、课程号是课程实体的码。
域(Domain):某一属性的取值范围称为该属性的域。例如,姓名的域是长度为10的字符串集合,性别的域为(男,女)。
联系(Relationship):在现实世界中,事物内部及事物之间是有联系的,这些联系在信息世界中反映为实体(型)内部的联系和实体(型)之间的联系。
实体之间的3类联系。
一对一联系(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。
3.计算机世界
计算机世界又称为数据世界,是信息世界中信息的数据化。
在计算机世界中,将信息世界中的信息用字符和数值等数据表示,以便于在计算机中进行存储,并由计算机进行识别和处理。
主要概念和术语
在计算机世界中,与数据库技术相关的主要概念和术语如下:
(1)字段(Field):标记实体属性的命名单位称为字段,又称为数据项。字段名往往和属性名相同。
(2)记录(Record):字段的有序集合称为记录,一条记录描述一个实体。
(3)文件(File):同一类记录的集合称为文件,一个文件描述一个实体集。
(4)关键字(Key):能唯一标识文件中每个记录的字段或字段集称为记录的关键字。
不同世界中各概念和术语的对应关系
现实世界是信息之源,是数据库设计的出发点,概念模型和逻辑模型是客观世界事物及其联系的二级抽象,而逻辑模型是实现数据库系统的基础。通过上述描述,可以得出不同世界中各概念和术语的对应关系如下表所示。
现实世界 信息世界 计算机世界
事物总体 实体集 文件
事物个体 实体 记录
特征 属性 字段
事物间的联系 概念模型 逻辑模型
客观事物及其联系的抽象过程
为了把现实世界中的具体事物抽象、组织为某一数据库管理系统支持的数据模型,人们通常首先将现实世界抽象为信息世界,然后将信息世界转换为计算机世界。
1.3.3数据模型的组成要素
数据模型是对现实世界中客观事物的抽象描述,这种抽象描述能确切地反映事物、事物的特征和事物之间的联系,形成一组严格定义的概念的集合。
这些概念精确地描述了系统的静态特性、动态特性和完整性约束条件。
数据模型主要由数据结构、数据操作、数据的完整性约束条件三要素组成。
1.数据结构
数据结构,即数据的组织结构,主要描述数据库的组成对象及对象之间的联系。
数据结构是数据模型最重要的组成部分,描述的是数据库的静态特征,不同的数据模型采用不同的数据结构。
在数据库系统中,人们通常按照其数据结构的类型命名数据模型,层次结构、网状结构和关系结构3种数据结构,对应的数据模型分别命名为层次模型、网状模型和关系模型。
2.数据操作
数据操作是指对数据库中各种对象(型)的实例(值)允许执行的操作的集合,包括操作及有关的操作规则,是对系统动态特性的描述。
数据库主要包括检索和更新两大类操作,更新操作一般又包括插入、删除和修改3类操作。数据模型必须定义这两大类操作的确切含义、操作符号、操作规则(如优先级)及实现操作的语言。
3.数据的完整性约束条件
数据的完整性约束条件是一组完整性规则的集合。
完整性规则是给定的数据模型中数据及其联系所具有的制约和依存规则,用以限定符合数据模型的数据库状态及状态的变化,以保证数据的正确、有效和相容。
数据模型还应该提供定义完整性约束条件的机制,以反映具体应用所涉及的数据必须遵守特定的语义约束条件。
1.3.4常用的逻辑模型
逻辑模型是对现实世界进行抽象的工具,它按计算机系统的观点对数据建模,用于提供数据库系统中信息表示和操作手段的形式框架,主要用于数据库管理系统的实现,是数据库系统的核心和基础。
在数据库领域中常用的逻辑模型主要有层次模型(Hierarchical Model)、网状模型(Network Model)、关系模型(Relational Model)和面向对象模型(Object-Oriented Model)4种。
1.层次模型
层次模型是数据库系统中最早出现的数据模型,采用层次模型的数据库的典型代表是IBM公司的IMS(Information Management System,信息管理系统)数据库管理系统。此系统是IBM公司于1968年推出的第一个大型的商用数据库管理系统,曾得到广泛的推广。
1.层次模型
(1)层次模型的数据结构
层次模型采用树形数据结构(有向树)表示各类实体及实体之间的联系。
层次模型中的树形结构由节点和节点之间的连线构成,每个节点表示一个记录类型,每个记录类型可以包含若干个字段,记录类型描述的是实体,字段描述的是实体的属性。节点间带箭头的连线表示记录类型之间的联系,连线上端的节点是父节点或双亲节点,下端的节点是子节点或子女节点,同一双亲的子女节点称为兄弟节点,没有子女节点的节点称为叶子节点。虽然层次模型可以方便、直接地表示实体之间的联系,但是层次模型有以下两方面的限制。
① 有且只有一个节点没有双亲节点,这个节点称为根节点。
② 根节点以外的其他节点有且只有一个双亲节点。
层次模型实例
1.层次模型
(2)层次模型的数据操作与完整性约束条件
层次模型的数据操作主要包括插入、删除、更新和查询4种。进行插入、删除、更新操作时要满足层次模型的完整性约束条件。
进行插入操作时,不允许插入没有相应双亲节点值的子女节点值。
进行删除操作时,如果删除双亲节点值,则相应的子女节点值也将被同时删除。
层次模型的优点
层次模型的数据结构比较简单,易于在计算机内实现。
层次模型的查询效率高。层次模型中从根节点到树形结构中任一节点都存在一条唯一的层次路径,当要查询某个节点的记录值时,数据库管理系统沿着这条路径能很快找到该记录值。
层次模型提供了良好的完整性支持。
层次模型的缺点
不适合表示非层次的联系,而现实世界中很多联系是非层次性的。
不能直接表示两个以上实体型之间的复杂联系和实体之间的多对多联系,只能通过引入冗余节点或创建虚拟节点实现,易产生不一致数据,对插入和删除操作的限制比较多。
查询子女节点必须通过双亲节点。
由于结构严密,层次命令趋于程序化。
2.网状模型
在现实世界中事物之间的联系更多的是非层次关系,使用层次模型不能直接方便地表示非层次关系,网状模型则可以克服这一弊端。
20世纪70年代,数据系统语言研究会(Conference On Data System Language,CODASYL)下属的数据库任务组(DataBase Task Group,DBTG)提出了一个系统方案,即DBTG系统,又称CODASYL系统,是网状模型的典型代表。
网状模型的数据结构
网状模型采用图形数据结构(有向图)表示各种实体及实体之间的联系,是一种比层次模型更具普遍性的结构,它克服了层次模型的两个限制,允许一个以上的节点无双亲,一个节点可以有多个双亲节点。
它还允许两个节点之间有多种联系(称之为复合联系)。网状模型可以更直接地描述现实世界,而层次模型实际上是网状模型的一个特例。
网状模型中每个节点表示一个记录类型(实体),每个记录类型可包含若干个字段(实体的属性),节点间的带箭头的连线表示记录类型(实体)之间的一对多联系。
网状模型实例
网状模型的数据操作与完整性约束条件
网状模型的数据操作主要包括插入、删除、更新和查询4种。进行插入、删除、更新操作时要满足网状模型的完整性约束条件。
进行插入操作时,如果没有相应的双亲节点值也能插入它的子女节点值。
进行删除操作时,允许只删除双亲节点值。
进行更新操作时,只需更新指定记录即可。
网状模型的优点
能够更为直接地描述现实世界,可表示实体之间的多种联系。
具有良好的性能,存取效率较高。
网状模型的缺点
结构比较复杂,而且随着应用环境的扩大,数据库的结构变得越来越复杂,最终用户很难掌握。
网状模型的DDL和DML非常复杂,用户不易掌握和使用。
由于记录之间的联系实际上是通过存取路径实现的,应用程序在访问数据库中的数据时必须指定合适的存取路径,因此程序员必须了解系统结构的细节,加重了编写应用程序的负担。
3.关系模型
关系模型是目前最常用的一种数据模型。关系数据库系统采用关系模型作为数据的组织方式。
1970年,美国IBM公司的研究员埃德加·弗兰克·科德(Edgar Frank Codd)首次提出了数据系统的关系模型,标志着数据库系统新时代的来临,开创了数据库关系方法和关系数据理论的研究,为数据库技术奠定了理论基础。
1980年后,各种关系数据库管理系统的产品迅速出现,如Oracle、Sybase、Informix等,关系数据库系统统治了数据库市场,数据库的应用领域迅速扩大。
关系模型的概念简单、清晰,并且具有严格的数据基础,形成了关系数据理论,操作也直观、容易,因此易学易用。无论是数据库的设计和建立,还是数据库的使用与维护,都比较简便。
关系模型的数据结构及概念
关系模型建立在严格的数学概念的基础之上,数学基础是关系代数。
关系模型是目前最重要的一种数据模型,它的数据结构是一个规范化的二维表。它由表名、表头和表体三部分构成,表名为二维表的名称,表头为二维表的结构,表体为二维表中的数据。每一个二维表在关系数据库中称为关系。
关系数据库是表(关系)的集合。
关系二维表实例
关系模型的数据操作及完整性约束条件
关系模型的数据操作主要包括插入、删除、更新和查询4种。进行插入、删除、更新操作时要满足关系模型的完整性约束条件。
关系模型的完整性包括三大类:实体完整性、参照完整性和用户自定义完整性。
关系模型中的数据操作是集合操作,操作对象和操作结果都是关系。
关系模型的优点
关系模型具有较强的数学理论根据,是建立在严格的数学基础之上的。
关系模型具有单一的数据结构。无论是事物还是事物之间的联系,在关系模型中都是用关系表示的。对用户来说,无论是原始数据还是用户检索到的数据,数据的逻辑结构都只是表,也就是关系。
关系模型的存取路径对用户透明,从而具有更高的数据独立性、更好的安全保密性,也简化了程序员的工作和数据库开发建立的工作。
关系模型的缺点
由于存取路径对用户是隐蔽的,与非关系模型相比,查询效率较低。
为了提高查询效率,数据库管理系统必须优化用户的查询请求,因此增加了开发数据库管理系统的难度。
4.面向对象模型
面向对象的基本概念在20世纪70年代被首次提出,随后迅速渗透到计算机科学的各个分支领域,如系统工程、人工智能、数据库等。面向对象数据库是面向对象概念与数据库技术相结合的产物,比较知名的有Object Store、ONTOS等。
面向对象模型是用面向对象的思维方式将现实世界中的一切实体都模型化为对象的数据模型,它用类表示实体集,用对象表示实体,用对象之间的关联表示实体之间的联系。
面向对象的基本概念
对象(Object)是现实世界中实体的模型化,包含数据和操作方法的独立模块,是数据和行为的统一体。如一个学生、一门课程均可作为对象。对于一个对象,一般应具有以下三个特征。
① 以一个唯一的对象标识表明其存在的独立性。
② 以一组描述对象特征的属性表明对象在某一时刻的状态。
③ 以一组表示对象行为的操作方法改变对象的状态。
类(Class)是共享同一属性和方法集的所有对象的集合。一个对象是类的一个实例,如把课程定义为一个类,则某门课程(数据库原理及应用、数据结构等)是课程类的一个对象。
面向对象模型的核心技术
① 分类
分类是把一组具有相同属性结构和操作方法的对象归纳或映射为一个公共类的过程。对象和类的关系是“实例”(Instance-of)的关系。
② 概括
概括是把某些类(子类)中部分具有相同特征的属性和操作方法抽象出来,形成一个更高层次、更具一般性的超类的过程。
③ 聚集
聚集是将多个不同性质类的对象组合成一个更高层次的复合对象的过程。
④ 联合
联合是将同一类对象中的几个具有部分相同属性值的对象组合起来,形成一个更高水平的“集合对象”的过程。

展开更多......

收起↑

资源预览