《数据库系统概论课件.ppt》由会员分享,可在线阅读,更多相关《数据库系统概论课件.ppt(165页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、谢谢观赏谢谢观赏数据库系统概论数据库系统概论An Introduction to Database Systems第一章第一章 绪论绪论2019-9-11谢谢观赏谢谢观赏第一章第一章 绪论绪论1.1 数据库系统概述数据库系统概述1.2 数据模型数据模型1.3 数据库系统结构数据库系统结构1.4 数据库系统的组成数据库系统的组成1.5 小结小结2019-9-11谢谢观赏谢谢观赏数据库的地位数据库的地位v数据库技术产生于六十年代末,是数据管理的最新技术,是计算机科学的重要分支。v数据库技术是信息系统的核心和基础,它的出现极大地促进了计算机应用向各行各业的渗透。v数据库的建设规模、数据库信息量的大小
2、和使用频度已成为衡量一个国家信息化程度的重要标志。2019-9-11谢谢观赏谢谢观赏第一章第一章 绪论绪论1.1 数据库系统概述数据库系统概述 1.1.1 四个基本概念四个基本概念 1.1.2 数据管理技术的产生和发展数据管理技术的产生和发展 1.1.3 数据库系统的特点数据库系统的特点 2019-9-11谢谢观赏谢谢观赏1.1.1 四个基本概念四个基本概念v数据(Data)v数据库(Database)v数据库管理系统(DBMS)v数据库系统(DBS)2019-9-11谢谢观赏谢谢观赏一、数据一、数据v数据(Data)是数据库中存储的基本对象v数据的定义描述事物的符号记录v数据的种类文本、图形
3、、图像、音频、视频、学生的档案记录、货物的运输情况等v数据的特点数据与其语义是不可分的2019-9-11谢谢观赏谢谢观赏数据举例数据举例v数据的含义称为数据的语义,数据与其语义是不可分的。例如 93是一个数据语义1:学生某门课的成绩语义2:某人的体重语义3:计算机系2003级学生人数语义4:请同学给出。2019-9-11谢谢观赏谢谢观赏数据举例数据举例v学生档案中的学生记录(李明,男,197205,江苏南京市,计算机系,1990)语义:学生姓名、性别、出生年月、籍贯、所在院系、入学时间解释:李明是个大学生,1972年5月出生,江苏南京市人,1990年考入计算机系请给出另一个解释和语义2019-
4、9-11谢谢观赏谢谢观赏二、数据库二、数据库v数据库的定义数数据据库库(Database,简简称称DB)是是长长期期储储存存在在计计算算机机内内、有有组织组织的、的、可共享可共享的的大量大量数据的集合。数据的集合。v数据库的基本特征数据按一定的数据模型组织、描述和储存数据按一定的数据模型组织、描述和储存可为各种用户共享可为各种用户共享冗余度较小冗余度较小数据独立性较高数据独立性较高易扩展易扩展2019-9-11谢谢观赏谢谢观赏三、数据库管理系统三、数据库管理系统v什么是DBMS位于用户与操作系统之间的一层数据管理软件。是基础软件,是一个大型复杂的软件系统 vDBMS的用途科学地组织和存储数据、
5、高效地获取和维护数据2019-9-11谢谢观赏谢谢观赏硬件平台硬件平台基础软件平台基础软件平台软件基础构架平台软件基础构架平台应用软件平台应用软件平台软件产品软件产品协同软件协同软件办公软件办公软件数据库系统数据库系统数据库系统数据库系统操作系统操作系统操作系统操作系统 中间件中间件 应用服务器应用服务器数据库在计算机系统中的位置数据库在计算机系统中的位置2019-9-11谢谢观赏谢谢观赏DBMS的主要功能的主要功能数据定义功能数据定义功能 提供数据定义语言(DDL)定义数据库中的数据对象数据组织、存储和管理数据组织、存储和管理 分类组织、存储和管理各种数据 确定组织数据的文件结构和存取方式
6、实现数据之间的联系 提供多种存取方法提高存取效率2019-9-11谢谢观赏谢谢观赏DBMS的主要功能的主要功能数据操纵功能数据操纵功能 提供数据操纵语言(DML)实现对数据库的基本操作 (查询、插入、删除和修改)数据库的事务管理和运行管理数据库的事务管理和运行管理 数据库在建立、运行和维护时由DBMS统一管理和控制保证数据的安全性、完整性、多用户对数据的并发使用发生故障后的系统恢复2019-9-11谢谢观赏谢谢观赏DBMS的主要功能的主要功能数据库的建立和维护功能数据库的建立和维护功能(实用程序实用程序)数据库初始数据装载转换 数据库转储 介质故障恢复 数据库的重组织 性能监视分析等其它功能其
7、它功能 DBMS与网络中其它软件系统的通信 两个DBMS系统的数据转换 异构数据库之间的互访和互操作2019-9-11谢谢观赏谢谢观赏四、数据库系统四、数据库系统v什么是数据库系统(Database System,简简称称DBS)在计算机系统中引入数据库后的系统构成在计算机系统中引入数据库后的系统构成v数据库系统的构成数据库数据库数据库管理系统(及其开发工具)数据库管理系统(及其开发工具)应用系统应用系统数据库管理员数据库管理员 2019-9-11谢谢观赏谢谢观赏 数据库数据库 应用系统应用系统应用开发工具 操作系统 数数据据库库管管理理系系统统 数据库管理员数据库管理员用户用户用户 数据库系
8、统数据库系统2019-9-11谢谢观赏谢谢观赏1.1 数据库系统概述数据库系统概述 1.1.1 四个基本概念四个基本概念 1.1.2 数据管理技术的产生和发展数据管理技术的产生和发展 1.1.3 数据库系统的特点数据库系统的特点 2019-9-11谢谢观赏谢谢观赏数据管理技术的产生和发展数据管理技术的产生和发展v什么是数据管理对数据进行分类、组织、编码、存储、检索和维护对数据进行分类、组织、编码、存储、检索和维护数据处理的中心问题数据处理的中心问题v数据管理技术的发展过程人工管理阶段人工管理阶段(20世纪世纪40年代中年代中-50年代中年代中)文件系统阶段文件系统阶段(20世纪世纪50年代末年
9、代末-60年代中年代中)数据库系统阶段数据库系统阶段(20世纪世纪60年代末年代末-现在现在)2019-9-11谢谢观赏谢谢观赏数据管理技术的产生和发展数据管理技术的产生和发展(续续)v数据管理技术的发展动力应用需求的推动应用需求的推动计算机硬件的发展计算机硬件的发展计算机软件的发展计算机软件的发展2019-9-11谢谢观赏谢谢观赏一、人工管理阶段一、人工管理阶段v时期20世纪40年代中-50年代中v产生的背景应用需求科学计算硬件水平无直接存取存储设备软件水平没有操作系统处理方式批处理2019-9-11谢谢观赏谢谢观赏人工管理阶段人工管理阶段(续续)v特点数据的管理者:用户(程序员),数据不保
10、存数据面向的对象:某一应用程序 数据的共享程度:无共享、冗余度极大数据的独立性:不独立,完全依赖于程序数据的结构化:无结构数据控制能力:应用程序自己控制2019-9-11谢谢观赏谢谢观赏应用程序与数据的对应关系应用程序与数据的对应关系(人工管理阶段人工管理阶段)应用程序应用程序1数据集数据集1应用程序应用程序2数据集数据集2应用程序应用程序数据集数据集n.人工管理阶段应用程序与数据之间的对应关系 2019-9-11谢谢观赏谢谢观赏二、文件系统阶段二、文件系统阶段v时期20世纪50年代末-60年代中v产生的背景应用需求科学计算、管理硬件水平磁盘、磁鼓软件水平有文件系统处理方式联机实时处理、批处理
11、2019-9-11谢谢观赏谢谢观赏文件系统阶段文件系统阶段(续续)v特点数据的管理者:文件系统,数据可长期保存数据面向的对象:某一应用程序 数据的共享程度:共享性差、冗余度大数据的结构化:记录内有结构,整体无结构数据的独立性:独立性差,数据的逻辑结构改变必须 修改应用程序数据控制能力:应用程序自己控制2019-9-11谢谢观赏谢谢观赏应用程序与数据的对应关系应用程序与数据的对应关系(文件系统阶段文件系统阶段)应用程序应用程序文件文件应用程序应用程序文件文件2应用程序应用程序文件文件n存取存取方法方法.文件系统阶段应用程序与数据之间的对应关系 2019-9-11谢谢观赏谢谢观赏文件系统中数据的结
12、构文件系统中数据的结构v记录内有结构。v数据的结构是靠程序定义和解释的。v数据只能是定长的。可以间接实现数据变长要求,但访问相应数据的应用程序复杂了。可以间接实现数据变长要求,但访问相应数据的应用程序复杂了。v文件间是独立的,因此数据整体无结构。可以间接实现数据整体的有结构,但必须在应用程序中对描述数据可以间接实现数据整体的有结构,但必须在应用程序中对描述数据间的联系间的联系。v数据的最小存取单位是记录。2019-9-11谢谢观赏谢谢观赏三、数据库系统阶段三、数据库系统阶段v时期20世纪60年代末以来v产生的背景应用背景大规模管理硬件背景大容量磁盘、磁盘阵列软件背景有数据库管理系统处理方式联机
13、实时处理,分布处理,批处理2019-9-11谢谢观赏谢谢观赏1.1 数据库系统概述数据库系统概述 1.1.1 四个基本概念四个基本概念 1.1.2 数据管理技术的产生和发展数据管理技术的产生和发展 1.1.3 数据库系统的特点数据库系统的特点 2019-9-11谢谢观赏谢谢观赏1.1.3 数据库系统的特点数据库系统的特点v数据结构化v数据的共享性高,冗余度低,易扩充v数据独立性高v数据由DBMS统一管理和控制2019-9-11谢谢观赏谢谢观赏数据结构化数据结构化v整体数据的结构化整体数据的结构化是数据库的主要特征之一 v整体结构化不再仅仅针对某一个应用,而是面向全组织不再仅仅针对某一个应用,而
14、是面向全组织不仅数据内部结构化,整体是结构化的,数据之间具有联系不仅数据内部结构化,整体是结构化的,数据之间具有联系v数据库中实现的是数据的真正结构化数据的结构用数据的结构用数据模型数据模型描述,无需程序定义和解释描述,无需程序定义和解释数据可以数据可以变长变长数据的最小存取单位是数据的最小存取单位是数据项数据项2019-9-11谢谢观赏谢谢观赏数据的共享性高,冗余度低,易扩充数据的共享性高,冗余度低,易扩充v数据库系统从整体角度看待和描述数据,数据面向整个系统,可以被多个用户、多个应用共享使用。v数据共享的好处减少数据冗余,节约存储空间避免数据之间的不相容性与不一致性 使系统易于扩充2019
15、-9-11谢谢观赏谢谢观赏数据独立性高数据独立性高v物理独立性指用户的应用程序与存储在磁盘上的数据库中数据是相互独立的。指用户的应用程序与存储在磁盘上的数据库中数据是相互独立的。当数据的物理存储改变了,应用程序不用改变当数据的物理存储改变了,应用程序不用改变。v逻辑独立性指指用用户户的的应应用用程程序序与与数数据据库库的的逻逻辑辑结结构构是是相相互互独独立立的的。数数据据的的逻逻辑结构改变了,用户程序也可以不变辑结构改变了,用户程序也可以不变。v数据独立性是由DBMS的二级映像功能来保证的2019-9-11谢谢观赏谢谢观赏数据由数据由DBMS统一管理和控制统一管理和控制vDBMS提供的数据控制
16、功能(1)数据的安全性(Security)保护保护数据,以防止不合法的使用造成的数据的泄密和破坏。(2)数据的完整性(Integrity)检查将数据控制在有效的范围内,或保证数据之间满足一定的关系。(3)并发(Concurrency)控制对多用户的并发操作加以控制和协调,防止相互干扰而得到错误的结果。(4)数据库恢复(Recovery)将数据库从错误状态恢复到某一已知的正确状态。2019-9-11谢谢观赏谢谢观赏应用程序与数据的对应关系应用程序与数据的对应关系(数据库系统数据库系统)DBMS应用程序应用程序1应用程序应用程序2数据库数据库数据库系统阶段应用程序与数据之间的对应关系 2019-9
17、-11谢谢观赏谢谢观赏第一章第一章 绪论绪论1.1 数据库系统概述数据库系统概述1.2 数据模型数据模型1.3 数据库系统结构数据库系统结构1.4 数据库系统的组成数据库系统的组成1.5 小结小结2019-9-11谢谢观赏谢谢观赏 1.2 数据模型数据模型 1.2.1 两大类数据模型两大类数据模型 1.2.2 数据模型的组成要素数据模型的组成要素 1.2.3 概念模型概念模型 1.2.4 最常用的数据模型最常用的数据模型 1.2.5 层次模型层次模型 1.2.6 网状模型网状模型 1.2.7 关系模型关系模型2019-9-11谢谢观赏谢谢观赏数据模型数据模型v在数据库中用数据模型这个工具来抽象
18、、表示和处理抽象、表示和处理现实世界中的数据和信息。v通俗地讲数据模型就是现实世界的模拟。v数据模型应满足三方面要求能比较能比较真实真实地模拟现实世界地模拟现实世界容易容易为人所为人所理解理解便于在计算机上便于在计算机上实现实现2019-9-11谢谢观赏谢谢观赏 1.2.1 两大类数据模型两大类数据模型v数据模型分为两类(分属两个不同的层次)(1)概念模型概念模型 也称信息模型,它是按用户的观点来对数据和信息建也称信息模型,它是按用户的观点来对数据和信息建模,用于数据库设计。模,用于数据库设计。(2)逻辑模型和物理模型逻辑模型和物理模型 逻逻辑辑模模型型主主要要包包括括网网状状模模型型、层层次
19、次模模型型、关关系系模模型型、面面向向对对象象模型等,按计算机系统的观点对数据建模,用于模型等,按计算机系统的观点对数据建模,用于DBMS实现实现。物物理理模模型型是是对对数数据据最最底底层层的的抽抽象象,描描述述数数据据在在系系统统内内部部的的表表示示方式和存取方法,在磁盘或磁带上的存储方式和存取方法。方式和存取方法,在磁盘或磁带上的存储方式和存取方法。2019-9-11谢谢观赏谢谢观赏两大类数据模型两大类数据模型(续续)v客观对象的抽象过程-两步抽象现实世界中的客观对象抽象为概念模型;现实世界中的客观对象抽象为概念模型;把概念模型转换为某一把概念模型转换为某一DBMS支持的数据模型。支持的
20、数据模型。2019-9-11谢谢观赏谢谢观赏两大类数据模型两大类数据模型(续续)DBMS支持的数据模型支持的数据模型概念模型概念模型认识认识抽象抽象信息世界信息世界机器世界机器世界现实世界中客观对象的抽象过程现实世界中客观对象的抽象过程现实世界现实世界现实世界现实世界 概念模型概念模型数据库设计人员完成数据库设计人员完成逻辑模型逻辑模型 物理模型物理模型由由DBMS完成完成概念模型概念模型 逻辑模型逻辑模型数据库设计人员完成数据库设计人员完成2019-9-11谢谢观赏谢谢观赏 1.2 数据模型数据模型 1.2.1 两大类数据模型两大类数据模型 1.2.2 数据模型的组成要素数据模型的组成要素
21、1.2.3 概念模型概念模型 1.2.4 最常用的数据模型最常用的数据模型 1.2.5 层次模型层次模型 1.2.6 网状模型网状模型 1.2.7 关系模型关系模型2019-9-11谢谢观赏谢谢观赏 1.2.2 数据模型的组成要素数据模型的组成要素v数据结构 v数据操作 v完整性约束条件2019-9-11谢谢观赏谢谢观赏 一、一、数据结构数据结构v什么是数据结构描述数据库的组成对象,以及对象之间的联系v描述的内容与数据类型、内容、性质有关的对象与数据之间联系有关的对象v数据结构是对系统静态特性的描述2019-9-11谢谢观赏谢谢观赏 二、数据操作二、数据操作 v数据操作对数据库中各种对象(型)
22、的实例(值)允许执行的 操作操作及有关的操作规则操作规则v数据操作的类型查询更新(包括插入、删除、修改)2019-9-11谢谢观赏谢谢观赏 数据操作数据操作(续续)v数据模型对操作的定义操作的确切含义操作符号操作规则(如优先级)实现操作的语言v数据操作是对系统动态特性的描述2019-9-11谢谢观赏谢谢观赏三、数据的完整性约束条件三、数据的完整性约束条件 v数据的完整性约束条件一组完整性规则的集合。完整性规则:给定的数据模型中数据及其联系所具有的制约和储存规则用以限定符合数据模型的数据库状态以及状态的变化,以保证数据的正确、有效、相容。2019-9-11谢谢观赏谢谢观赏 数据的完整性约束条件数
23、据的完整性约束条件(续续)v数据模型对完整性约束条件的定义反映和规定本反映和规定本数据模型数据模型必须遵守的必须遵守的基本的通用的基本的通用的完整完整性约束条件。例如在关系模型中,任何关系必须满足性约束条件。例如在关系模型中,任何关系必须满足实体完整性和参照完整性两个条件。实体完整性和参照完整性两个条件。提提供供定定义义完完整整性性约约束束条条件件的的机机制制,以以反反映映具具体体应应用用所所涉及的数据必须遵守的特定的语义约束条件涉及的数据必须遵守的特定的语义约束条件。2019-9-11谢谢观赏谢谢观赏 1.2 数据模型数据模型 1.2.1 两大类数据模型两大类数据模型 1.2.2 数据模型的
24、组成要素数据模型的组成要素 1.2.3 概念模型概念模型 1.2.4 最常用的数据模型最常用的数据模型 1.2.5 层次模型层次模型 1.2.6 网状模型网状模型 1.2.7 关系模型关系模型2019-9-11谢谢观赏谢谢观赏 1.2.3 概念模型概念模型v信息世界中的基本概念v两个实体型之间的联系v两个以上实体型之间的联系v单个实体型内的联系v概念模型的一种表示方法v一个实例2019-9-11谢谢观赏谢谢观赏概念模型概念模型v概念模型的用途概念模型用于信息世界的建模概念模型用于信息世界的建模是现实世界到机器世界的一个中间层次是现实世界到机器世界的一个中间层次是数据库设计的有力工具是数据库设计
25、的有力工具数据库设计人员和用户之间进行交流的语言数据库设计人员和用户之间进行交流的语言v对概念模型的基本要求较强的语义表达能力较强的语义表达能力能够方便、直接地表达应用中的各种语义知识能够方便、直接地表达应用中的各种语义知识简单、清晰、易于用户理解简单、清晰、易于用户理解2019-9-11谢谢观赏谢谢观赏一、信息世界中的基本概念一、信息世界中的基本概念(1)实体(Entity)客观存在并可相互区别的事物称为实体。客观存在并可相互区别的事物称为实体。可以是具体的人、事、物或抽象的概念可以是具体的人、事、物或抽象的概念。(2)属性(Attribute)实体所具有的某一特性称为属性。实体所具有的某一
26、特性称为属性。一个实体可以由若干个属性来刻画。一个实体可以由若干个属性来刻画。(3)码(Key)唯一标识实体的属性集称为码。唯一标识实体的属性集称为码。2019-9-11谢谢观赏谢谢观赏信息世界中的基本概念信息世界中的基本概念(续续)(4)域(Domain)属性的取值范围称为该属性的域属性的取值范围称为该属性的域。(5)实体型(Entity Type)用用实实体体名名及及其其属属性性名名集集合合来来抽抽象象和和刻刻画画同同类类实实体体称称为为实实体型体型(6)实体集(Entity Set)同一类型实体的集合称为实体集同一类型实体的集合称为实体集2019-9-11谢谢观赏谢谢观赏信息世界中的基本
27、概念信息世界中的基本概念(续续)(7)联系(Relationship)现实世界中事物内部以及事物之间的联系在信息世界现实世界中事物内部以及事物之间的联系在信息世界 中反映为实体内部的联系和实体之间的联系。中反映为实体内部的联系和实体之间的联系。实体内部实体内部的联系通常是指组成实体的各属性之间的联系的联系通常是指组成实体的各属性之间的联系实体之间实体之间的联系通常是指不同实体集之间的联系的联系通常是指不同实体集之间的联系2019-9-11谢谢观赏谢谢观赏二、两个实体型之间的联系二、两个实体型之间的联系实体型实体型A联系名联系名实体型实体型B111:1联系联系实体型实体型A联系名联系名1n1:n
28、联系联系实体型实体型A实体型实体型B联系名联系名mnm:n联系联系实体型实体型B用图形来表示两个实体型之间的这三类联系用图形来表示两个实体型之间的这三类联系 2019-9-11谢谢观赏谢谢观赏二、两个实体型之间的联系(续)二、两个实体型之间的联系(续)v一对一联系(1:1)实例一个班级只有一个正班长一个班级只有一个正班长一个班长只在一个班中任职一个班长只在一个班中任职定义:定义:如如果果对对于于实实体体集集A中中的的每每一一个个实实体体,实实体体集集B中中至至多多有有一一个个(也也可可以以没没有有)实实体体与与之之联联系系,反反之之亦亦然然,则则称称实实体体集集A与与实实体体集集B具有一对一联
29、系,具有一对一联系,记为记为1:1 班级班级班级班级-班长班长班长班长111:1联系联系2019-9-11谢谢观赏谢谢观赏两个实体型之间的联系两个实体型之间的联系(续续)v一对多联系(1:n)实例一个班级中有若干名学生,一个班级中有若干名学生,每个学生只在一个班级中学习每个学生只在一个班级中学习定义:如果对于实体集如果对于实体集A中的每一个实体,实体集中的每一个实体,实体集B中中有有n个实体(个实体(n0)与之联系,反之,对于实体)与之联系,反之,对于实体集集B中的每一个实体,实体集中的每一个实体,实体集A中至多只有一个中至多只有一个实体与之联系,则称实体与之联系,则称实体集实体集A与实体集与
30、实体集B有一对有一对多联系,记为多联系,记为1:n班级班级组成组成学生学生1n1:n联系联系2019-9-11谢谢观赏谢谢观赏两个实体型之间的联系两个实体型之间的联系(续续)v多对多联系(m:n)实例课程与学生之间的联系:课程与学生之间的联系:一门课程同时有若干个学生选修一门课程同时有若干个学生选修一个学生可以同时选修多门课程一个学生可以同时选修多门课程定义:如果对于实体集如果对于实体集A中的每一个实体,实体集中的每一个实体,实体集B中中有有n个实体(个实体(n0)与之联系,反之,对于实)与之联系,反之,对于实体集体集B中的每一个实体,实体集中的每一个实体,实体集A中也有中也有m个实个实体(体
31、(m0)与之联系,则称实体集)与之联系,则称实体集A与实体与实体B具有多对多联系,记为具有多对多联系,记为m:n课程课程选修选修学生学生mnm:n联系联系2019-9-11谢谢观赏谢谢观赏三、两个以上实体型之间的联系三、两个以上实体型之间的联系v两个以上实体型之间一对多联系若实体集若实体集E1,E2,.,En存在联系,对于实体集存在联系,对于实体集Ej(j=1,2,.,i-1,i+1,.,n)中的给定实体,)中的给定实体,最多只和最多只和Ei中的一个实体相联系,则我们说中的一个实体相联系,则我们说Ei与与E1,E2,.,Ei-1,Ei+1,.,En之间的联系是一对多之间的联系是一对多的的201
32、9-9-11谢谢观赏谢谢观赏两个以上实体型之间的联系两个以上实体型之间的联系(续续)v实例 课程、教师与参考书三个实体型课程、教师与参考书三个实体型一门课程可以有若干个教师讲授,一门课程可以有若干个教师讲授,使用若干本参考书,使用若干本参考书,每一个教师只讲授一门课程,每一个教师只讲授一门课程,每一本参考书只供一门课程使用每一本参考书只供一门课程使用课程课程讲授讲授教师教师1m两个以上实体型间两个以上实体型间1:n联系联系参考书参考书n2019-9-11谢谢观赏谢谢观赏两个以上实体型之间的联系两个以上实体型之间的联系(续续)v多个实体型间的一对一联系v两个以上实体型间的多对多联系实例 供应商、
33、项目、零件三个实体型供应商、项目、零件三个实体型一个供应商可以供给多个项目多种零件一个供应商可以供给多个项目多种零件每个项目可以使用多个供应商供应的零件每个项目可以使用多个供应商供应的零件每种零件可由不同供应商供给每种零件可由不同供应商供给供应商供应商供应供应项目项目mp两个以上实体型间两个以上实体型间m:n联系联系零件零件n2019-9-11谢谢观赏谢谢观赏四、单个实体型内的联系四、单个实体型内的联系v一对多联系实例 职工实体型内部具有领导与被领导的联系职工实体型内部具有领导与被领导的联系某一职工(干部)某一职工(干部)“领导领导”若干名职工若干名职工一个职工仅被另外一个职工直接领导一个职工
34、仅被另外一个职工直接领导这是一对多的联系这是一对多的联系v一对一联系 请举例职工职工领导领导1n单个实体型内部单个实体型内部1:n联系联系2019-9-11谢谢观赏谢谢观赏单个实体型内的联系单个实体型内的联系实体型实体型1联系名联系名mn单个实体型内的单个实体型内的m:n联系联系v多对多联系请举例2019-9-11谢谢观赏谢谢观赏五、五、概念模型的一种表示方法概念模型的一种表示方法v实体联系方法(E-R方法)用E-R图来描述现实世界的概念模型E-R方法也称为E-R模型2019-9-11谢谢观赏谢谢观赏E-R图图v实体型用矩形表示,矩形框内写明实体名。v属性用椭圆形表示,并用无向边将其与相应的实
35、体连接起来学生学生教师教师学生学生学号学号年龄年龄性别性别姓名姓名2019-9-11谢谢观赏谢谢观赏E-R图图(续续)v联系联系本身:用菱形表示,菱形框内写明联系名,并用无向边分别用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类与有关实体连接起来,同时在无向边旁标上联系的类型(型(1:1、1:n或或m:n)2019-9-11谢谢观赏谢谢观赏联系的表示方法联系的表示方法实体型实体型A联系名联系名实体型实体型B111:1联系联系实体型实体型A联系名联系名1n1:n联系联系实体型实体型A实体型实体型B联系名联系名mnm:n联系联系实体型实体型B2019-9
36、-11谢谢观赏谢谢观赏联系的表示方法示例联系的表示方法示例班级班级班级班级-班长班长班长班长111:1联系联系课程课程选修选修学生学生mnm:n联系联系班级班级组成组成学生学生1n1:n联系联系2019-9-11谢谢观赏谢谢观赏联系的属性联系的属性课程课程选修选修学生学生mn成绩成绩v联系的属性:联系本身也是一种实体型,也联系本身也是一种实体型,也 可以有属性。如果一个联系具可以有属性。如果一个联系具有属性,则这些属性也要用无有属性,则这些属性也要用无向边与该联系连接起来向边与该联系连接起来 2019-9-11谢谢观赏谢谢观赏六、一个实例六、一个实例用E-R图表示某个工厂物资管理的概念模型v实
37、体仓库:仓库号、面积、电话号码零件:零件号、名称、规格、单价、描述供应商:供应商号、姓名、地址、电话号码、帐号项目:项目号、预算、开工日期职工:职工号、姓名、年龄、职称 2019-9-11谢谢观赏谢谢观赏一个实例一个实例v实体之间的联系如下:(1)一个仓库可以存放多种零件,一种零件可以存放在多个仓库中。仓库和零件具有多对多的联系。用库存量来表示某种零件在某个仓库中的数量。(2)一个仓库有多个职工当仓库保管员,一个职工只能在一个仓库工作,仓库和职工之间是一对多的联系。职工实体型中具有一对多的联系(3)职工之间具有领导-被领导关系。即仓库主任领导若干保管员。(4)供应商、项目和零件三者之间具有多对
38、多的联系2019-9-11谢谢观赏谢谢观赏一个实例一个实例2019-9-11谢谢观赏谢谢观赏 1.2 数据模型数据模型 1.2.1 两大类数据模型两大类数据模型 1.2.2 数据模型的组成要素数据模型的组成要素 1.2.3 概念模型概念模型 1.2.4 最常用的数据模型(逻辑模型)最常用的数据模型(逻辑模型)1.2.5 层次模型层次模型 1.2.6 网状模型网状模型 1.2.7 关系模型关系模型2019-9-11谢谢观赏谢谢观赏 1.2.4 最常用的数据模型最常用的数据模型v非关系模型层次模型层次模型(Hierarchical Model)网状模型网状模型(Network Model)v关系模
39、型(Relational Model)v面向对象模型(Object Oriented Model)v对象关系模型(Object Relational Model)2019-9-11谢谢观赏谢谢观赏1.2.5 层次模型层次模型v层次模型是数据库系统中最早出现的数据模型 v层次数据库系统的典型代表是IBM公司的IMS(Information Management System)数据库管理系统v层次模型用树形结构来表示各类实体以及实体间的联系 2019-9-11谢谢观赏谢谢观赏一、一、层次数据模型的数据结构层次数据模型的数据结构v层次模型 满足下面两个条件的基本层次联系的集合为层次模型满足下面两个条
40、件的基本层次联系的集合为层次模型1.有且只有一个结点没有双亲结点,这个结点称为根结点有且只有一个结点没有双亲结点,这个结点称为根结点2.根以外的其它结点有且只有一个双亲结点根以外的其它结点有且只有一个双亲结点v层次模型中的几个术语根结点,双亲结点,兄弟结点,叶结点根结点,双亲结点,兄弟结点,叶结点2019-9-11谢谢观赏谢谢观赏层次数据模型的数据结构层次数据模型的数据结构(续续)1 根结点根结点 2 兄弟结点兄弟结点 3 叶结点叶结点 4 兄弟结点兄弟结点 5 叶结点叶结点 叶结点叶结点图图1.16 一个层次模型的示例一个层次模型的示例2019-9-11谢谢观赏谢谢观赏层次数据模型的数据结构
41、层次数据模型的数据结构(续续)v层次模型的特点:结点的双亲是唯一的结点的双亲是唯一的只能直接处理一对多的实体联系只能直接处理一对多的实体联系每个记录类型可以定义一个排序字段,也称为码字段每个记录类型可以定义一个排序字段,也称为码字段任何记录值只有按其路径查看时,才能显出它的全部意义任何记录值只有按其路径查看时,才能显出它的全部意义没有一个子女记录值能够脱离双亲记录值而独立存在没有一个子女记录值能够脱离双亲记录值而独立存在2019-9-11谢谢观赏谢谢观赏层次数据模型的数据结构层次数据模型的数据结构(续续)图1.17 教员学生层次数据库模型 根结点根结点记录型系的子女结点记录型系的子女结点记录型
42、教员的双亲结点记录型教员的双亲结点叶结点叶结点叶结点叶结点字段字段2019-9-11谢谢观赏谢谢观赏层次数据模型的数据结构层次数据模型的数据结构(续续)图1.18 教员学生层次数据库的一个值 2019-9-11谢谢观赏谢谢观赏二、多对多联系在层次模型中的表示二、多对多联系在层次模型中的表示v多对多联系在层次模型中的表示用层次模型用层次模型间接间接表示多对多联系表示多对多联系方法方法将多对多联系将多对多联系分解分解成一对多联系成一对多联系分解方法分解方法冗余结点法冗余结点法虚拟结点法虚拟结点法2019-9-11谢谢观赏谢谢观赏三、层次模型的数据操纵与完整性约束三、层次模型的数据操纵与完整性约束
43、v层次模型的数据操纵层次模型的数据操纵查询插入删除更新 2019-9-11谢谢观赏谢谢观赏层次模型的数据操纵与完整性约束(续)层次模型的数据操纵与完整性约束(续)v层次模型的完整性约束条件层次模型的完整性约束条件 无相应的双亲结点值就不能插入子女结点值如果删除双亲结点值,则相应的子女结点值也被同时删除更新操作时,应更新所有相应记录,以保证数据的一致性2019-9-11谢谢观赏谢谢观赏四、层次数据模型的存储结构四、层次数据模型的存储结构v邻接法按照层次树前序遍历的顺序把所有记录值依次邻接存按照层次树前序遍历的顺序把所有记录值依次邻接存放,即通过物理空间的位置相邻来实现层次顺序放,即通过物理空间的
44、位置相邻来实现层次顺序2019-9-11谢谢观赏谢谢观赏层次数据模型的存储结构(续)层次数据模型的存储结构(续)图图1.20 层次数据库及其实例层次数据库及其实例 A1A2C8C6C4B6C9C2B4C14C7C5C3B1A1图图1.21 邻接法邻接法 按邻接法存放图按邻接法存放图1.20(b)中以根记录中以根记录A1为首的层次为首的层次记录实例集记录实例集按邻接法存放图1.20(b)中以根记录A1为首的层次记录实例集 2019-9-11谢谢观赏谢谢观赏层次数据模型的存储结构(续)层次数据模型的存储结构(续)v链接法用指引来反映数据之间的层次联系用指引来反映数据之间的层次联系子女兄弟链接法子女
45、兄弟链接法层次序列链接法层次序列链接法2019-9-11谢谢观赏谢谢观赏层次数据模型的存储结构(续)层次数据模型的存储结构(续)n子女子女-兄弟链接法兄弟链接法每个记录设两类指针,分别指向最左边的子女(每个记录型对应一个)和最近的兄弟2019-9-11谢谢观赏谢谢观赏层次数据模型的存储结构(续)层次数据模型的存储结构(续)v层次序列链接法层次序列链接法按树的前序穿越顺序链接各记录值2019-9-11谢谢观赏谢谢观赏五、层次模型的优缺点五、层次模型的优缺点v优点层次模型的数据结构比较简单清晰层次模型的数据结构比较简单清晰 查询效率高,性能优于关系模型,不低于网状模型查询效率高,性能优于关系模型,
46、不低于网状模型层次数据模型提供了良好的完整性支持层次数据模型提供了良好的完整性支持v缺点多对多联系表示不自然多对多联系表示不自然对插入和删除操作的限制多,应用程序的编写比较对插入和删除操作的限制多,应用程序的编写比较复杂复杂 查询子女结点必须通过双亲结点查询子女结点必须通过双亲结点由于结构严密,层次命令趋于程序化由于结构严密,层次命令趋于程序化 2019-9-11谢谢观赏谢谢观赏 1.2 数据模型数据模型 1.2.1 两大类数据模型两大类数据模型 1.2.2 数据模型的组成要素数据模型的组成要素 1.2.3 概念模型概念模型 1.2.4 最常用的数据模型最常用的数据模型 1.2.5 层次模型层
47、次模型 1.2.6 网状模型网状模型 1.2.7 关系模型关系模型2019-9-11谢谢观赏谢谢观赏1.2.6 网状模型网状模型v网状数据库系统采用网状数据库系统采用网状模型网状模型作为数据的组织方式作为数据的组织方式 v典型代表是典型代表是DBTG系统:系统:亦称CODASYL系统70年代由DBTG提出的一个系统方案奠定了数据库系统的基本概念、方法和技术v实际系统实际系统Cullinet Software Inc.公司的 IDMSUnivac公司的 DMS1100Honeywell公司的IDS/2HP公司的IMAGE2019-9-11谢谢观赏谢谢观赏1.网状数据模型的数据结构网状数据模型的数
48、据结构v网状模型满足下面两个条件的基本层次联系的集合:满足下面两个条件的基本层次联系的集合:1.允许一个以上的结点无双亲;允许一个以上的结点无双亲;2.一个结点可以有多于一个的双亲一个结点可以有多于一个的双亲。2019-9-11谢谢观赏谢谢观赏网状数据模型的数据结构(续)网状数据模型的数据结构(续)v表示方法(与层次数据模型相同)实体型实体型:用记录类型描述:用记录类型描述 每个结点表示一个记录类型(实体)每个结点表示一个记录类型(实体)属性属性:用字段描述:用字段描述 每个记录类型可包含若干个字段每个记录类型可包含若干个字段联系联系:用结点之间的连线表示记录类:用结点之间的连线表示记录类型型
49、(实体)之(实体)之 间的间的一对多的父子联系一对多的父子联系2019-9-11谢谢观赏谢谢观赏网状数据模型的数据结构(续)网状数据模型的数据结构(续)v网状模型与层次模型的区别网状模型允许多个结点没有双亲结点网状模型允许多个结点没有双亲结点网状模型允许结点有多个双亲结点网状模型允许结点有多个双亲结点网状模型允许两个结点之间有多种联系(复合联系)网状模型允许两个结点之间有多种联系(复合联系)网状模型可以更直接地去描述现实世界网状模型可以更直接地去描述现实世界层次模型实际上是网状模型的一个特例层次模型实际上是网状模型的一个特例2019-9-11谢谢观赏谢谢观赏网状数据模型的数据结构(续)网状数据
50、模型的数据结构(续)v网状模型中子女结点与双亲结点的联系可以不唯一要为每个联系命名,并指出与该联系有关的双亲记录和子女记录 R1与与R3之间的之间的联系联系L1R2与与R3之间的之间的联系联系L2 2019-9-11谢谢观赏谢谢观赏网状数据模型的数据结构(续)网状数据模型的数据结构(续)网状模型的例子 2019-9-11谢谢观赏谢谢观赏网状数据模型的数据结构(续)网状数据模型的数据结构(续)多对多联系在网状模型中的表示用网状模型用网状模型间接间接表示多对多联系表示多对多联系方法:方法:将多对多联系将多对多联系直接直接分解成一对多联系分解成一对多联系2019-9-11谢谢观赏谢谢观赏网状数据模型