数据库系统概论第1章1DataBa.ppt
RenminUniversityofChinaRenminUniversityofChinaDepartmentofComputerScience,InformationalschoolDepartmentofComputerScience,InformationalschoolSpring2003Spring2003数据库系统概论数据库系统概论An Introduction to Database System中国人民大学信息学院计算机系中国人民大学信息学院计算机系AnIntroductiontoDatabaseSystenm教材及参考书教材及参考书(1)(1)教材教材n萨师煊,王珊:数据库系统概论数据库系统概论(第三版第三版),高等教育出版社,2000 中国人民大学nA First Course in Database Systems Jeffrey.D.Ullman,Jennifer Widom Dept.Of Computer Science Stanford University AnIntroductiontoDatabaseSystenm教材及参考书教材及参考书(2)(2)参考书参考书nDate C J,An Introduction to Database System(Ed.7),Addison-Wesley,2000n王珊,陈红:数据库系统原理教程数据库系统原理教程,清华大学出版社,2000 上机软件上机软件nKingBase ES 3.0 教学版,人大金仓AnIntroductiontoDatabaseSystenm学习方式学习方式 听课 (启发式、讨论式)读书 (预习、复习)报告 (综合练习)AnIntroductiontoDatabaseSystenm考试成绩考试成绩n平时成绩(书面作业、上机练习、综合练习)n期中考试n期末考试AnIntroductiontoDatabaseSystenm内容安排内容安排(1)基础篇n第一章:绪论n第二章:关系数据库n第三章:关系数据库标准语言SQLn第四章:关系系统及其查询优化n第五章:关系数据理论 设计篇n第六章:数据库设计AnIntroductiontoDatabaseSystenm内容安排内容安排(2)系统篇n第七章:数据库恢复技术n第八章:并发控制n第九章:数据库安全性n第十章:数据库完整性AnIntroductiontoDatabaseSystenm中国人民大学信息学院计算机系中国人民大学信息学院计算机系数据库系统概论数据库系统概论An Introduction to Database System第一章第一章 绪论绪论AnIntroductiontoDatabaseSystenm第一章第一章 绪论绪论1.1 数据库系统概述1.2 数据模型1.3 数据库系统结构1.4 数据库系统的组成1.5 数据库技术的研究领域1.6 小结AnIntroductiontoDatabaseSystenm1.1 数据库系统概述数据库系统概述 1.1.1 数据库的地位 1.1.2 四个基本概念 1.1.3 数据管理技术的产生与发展AnIntroductiontoDatabaseSystenm数据库的地位数据库的地位n数据库技术产生于六十年代末,是数据管理的最新技术,是计算机科学的重要分支n数据库技术是信息系统的核心和基础,它的出现极大地促进了计算机应用向各行各业的渗透n数据库的建设规模、数据库信息量的大小和使用频度已成为衡量一个国家信息化程度的重要标志AnIntroductiontoDatabaseSystenm1.1 数据库系统概述数据库系统概述 1.1.1 数据库的地位 1.1.2 四个基本概念 1.1.3 数据管理技术的产生与发展AnIntroductiontoDatabaseSystenm1.1.2 四个基本概念四个基本概念n数据(Data)n数据库(Database)n数据库管理系统(DBMS)n数据库系统(DBS)AnIntroductiontoDatabaseSystenm一、数据一、数据n数据(Data)是数据库中存储的基本对象n数据的定义n描述事物的符号记录n数据的种类n文字、图形、图象、声音n数据的特点n数据与其语义是不可分的AnIntroductiontoDatabaseSystenm数据举例数据举例n学生档案中的学生记录(李明,男,1972,江苏,计算机系,1990)n数据的形式不能完全表达其内容n数据的解释n语义:学生姓名、性别、出生年月、籍贯、所在系别、入学时间n解释:李明是个大学生,1972年出生,江苏人,1990年考入计算机系n请给出另一个解释和语义AnIntroductiontoDatabaseSystenm二、数据库(举例)二、数据库(举例)AnIntroductiontoDatabaseSystenm二、数据库二、数据库(续续)n人们收集并抽取出一个应用所需要的大量数据之后,应将其保存起来以供进一步加工处理,进一步抽取有用信息n数据库的定义n数据库(Database,简称DB)是长期储存在计算机内、有组织的、可共享的大量数据集合AnIntroductiontoDatabaseSystenm二、数据库二、数据库(续续)n数据库的特征n数据按一定的数据模型组织、描述和储存数据按一定的数据模型组织、描述和储存n可为各种用户共享可为各种用户共享n冗余度较小冗余度较小n数据独立性较高数据独立性较高n易扩展易扩展AnIntroductiontoDatabaseSystenm三、数据库管理系统三、数据库管理系统n什么是DBMSn数据库管理系统(Database Management System,简称DBMS)是位于用户与操作系统之间的一层数据管理软件。nDBMS的用途n科学地组织和存储数据、高效地获取和维护数据AnIntroductiontoDatabaseSystenmDBMS的主要功能的主要功能n数据定义功能 提供数据定义语言提供数据定义语言(DDL)定义数据库中的数据对象定义数据库中的数据对象n数据操纵功能:提供数据操纵语言(DML)操纵数据实现对数据库的基本操作操纵数据实现对数据库的基本操作 (查询、插入、删除和修改查询、插入、删除和修改)AnIntroductiontoDatabaseSystenmDBMS的主要功能的主要功能n数据库的运行管理 保证数据的安全性、完整性、保证数据的安全性、完整性、多用户对数据的并发使用多用户对数据的并发使用 发生故障后的系统恢复发生故障后的系统恢复n数据库的建立和维护功能(实用程序实用程序)数据库数据批量装载数据库数据批量装载 数据库转储数据库转储 介质故障恢复介质故障恢复 数据库的重组织数据库的重组织 性能监视等性能监视等AnIntroductiontoDatabaseSystenm四、数据库系统四、数据库系统n什么是数据库系统n数数据据库库系系统统(Database System,简简称称DBS)是是指在计算机系统中引入数据库后的系统构成。指在计算机系统中引入数据库后的系统构成。n在在不不引引起起混混淆淆的的情情况况下下常常常常把把数数据据库库系系统统简简称称为为数数据库。据库。n数据库系统的构成n由由数数据据库库、数数据据库库管管理理系系统统(及及其其开开发发工工具具)、应应用系统、数据库管理员(和用户)构成。用系统、数据库管理员(和用户)构成。AnIntroductiontoDatabaseSystenm数据库系统数据库系统(续续)n数据库系统构成图示n参看教材page_5 图1.1n数据库系统在计算机系统中的位置图示n参看教材page_ 5 图1.2AnIntroductiontoDatabaseSystenm1.1 数据库系统概述数据库系统概述 1.1.1 数据库的地位 1.1.2 四个基本概念 1.1.3 数据管理技术的产生与发展AnIntroductiontoDatabaseSystenm1.1.3 数据管理技术的产生和发展数据管理技术的产生和发展n什么是数据管理n对对数数据据进进行行分分类类、组组织织、编编码码、存存储储、检检索索和和维维护护,是数据处理的中心问题是数据处理的中心问题n数据管理技术的发展过程n人工管理阶段人工管理阶段(40年代中年代中-50年代中年代中)n文件系统阶段文件系统阶段(50年代末年代末-60年代中年代中)n数据库系统阶段数据库系统阶段(60年代末年代末-现在现在)AnIntroductiontoDatabaseSystenm数据管理技术的产生和发展数据管理技术的产生和发展(续续)n数据管理技术的发展动力n应用需求的推动应用需求的推动n计算机硬件的发展计算机硬件的发展n计算机软件的发展计算机软件的发展AnIntroductiontoDatabaseSystenm一、人工管理一、人工管理n时期n40年代中-50年代中n产生的背景n应用需求科学计算n硬件水平无直接存取存储设备n软件水平没有操作系统n处理方式批处理AnIntroductiontoDatabaseSystenm人工管理人工管理(续续)n特点n数据的管理者:应用程序,数据不保存。n数据面向的对象:某一应用程序 n数据的共享程度:无共享、冗余度极大n数据的独立性:不独立,完全依赖于程序n数据的结构化:无结构n数据控制能力:应用程序自己控制AnIntroductiontoDatabaseSystenm应用程序与数据的对应关系应用程序与数据的对应关系(人工管理人工管理)应用程序应用程序数据集数据集应用程序应用程序数据集数据集应用程序应用程序数据集数据集n.AnIntroductiontoDatabaseSystenm二、文件系统二、文件系统n时期n50年代末-60年代中n产生的背景n应用需求科学计算、管理n硬件水平磁盘、磁鼓n软件水平有文件系统n处理方式联机实时处理、批处理AnIntroductiontoDatabaseSystenm文件系统文件系统(续续)特点数据的管理者:文件系统,数据可长期保存数据面向的对象:某一应用程序 数据的共享程度:共享性差、冗余度大数据的结构化:记录内有结构,整体无结构数据的独立性:独立性差,数据的逻辑结构改变必须修改应用程序数据控制能力:应用程序自己控制AnIntroductiontoDatabaseSystenm应用程序与数据的对应关系应用程序与数据的对应关系(文件系统文件系统)应用程序应用程序文件文件应用程序应用程序文件文件2应用程序应用程序文件文件n存取存取方法方法.AnIntroductiontoDatabaseSystenm文件系统中数据的结构文件系统中数据的结构n记录内有结构。n数据的结构是靠程序定义和解释的。n数据只能是定长的。n可以间接实现数据变长要求,但访问相应数据的应用可以间接实现数据变长要求,但访问相应数据的应用程序复杂了。程序复杂了。n文件间是独立的,因此数据整体无结构。n可以间接实现数据整体的有结构,但必须在应用程序可以间接实现数据整体的有结构,但必须在应用程序中对描述数据间的联系中对描述数据间的联系。n数据的最小存取单位是记录。AnIntroductiontoDatabaseSystenm三、数据库系统三、数据库系统n时期n60年代末以来n产生的背景n应用背景大规模管理n硬件背景大容量磁盘n软件背景有数据库管理系统n处理方式联机实时处理,分布处理,批处理AnIntroductiontoDatabaseSystenm数据库系统数据库系统(续续)n特点n数据的管理者:DBMSn数据面向的对象:现实世界n数据的共享程度:共享性高n数据的独立性:高度的物理独立性和一定的 逻辑独立性n数据的结构化:整体结构化n数据控制能力:由DBMS统一管理和控制AnIntroductiontoDatabaseSystenm应用程序与数据的对应关系应用程序与数据的对应关系(数据库系统数据库系统)DBMS应用程序1应用程序2数据库AnIntroductiontoDatabaseSystenm数据的高共享性的好处数据的高共享性的好处n降低数据的冗余度,节省存储空间n避免数据间的不一致性n使系统易于扩充AnIntroductiontoDatabaseSystenm数据独立性数据独立性n物理独立性n指用户的应用程序与存储在磁盘上的数据库中数据指用户的应用程序与存储在磁盘上的数据库中数据是相互独立的。当数据的物理存储改变了,应用程是相互独立的。当数据的物理存储改变了,应用程序不用改变序不用改变。n逻辑独立性n指指用用户户的的应应用用程程序序与与数数据据库库的的逻逻辑辑结结构构是是相相互互独独立立的。数据的逻辑结构改变了,用户程序也可以不变的。数据的逻辑结构改变了,用户程序也可以不变。AnIntroductiontoDatabaseSystenm数据结构化数据结构化n整体数据的结构化是数据库的主要特征之一。n数据库中实现的是数据的真正结构化n数据的结构用数据的结构用数据模型数据模型描述,无需程序定义和解释。描述,无需程序定义和解释。n数据可以数据可以变长变长。n数据的最小存取单位是数据的最小存取单位是数据项数据项。AnIntroductiontoDatabaseSystenmDBMS对数据的控制功能对数据的控制功能n数据的安全性(Security)保护n使每个用户只能按指定方式使用和处理指定数据,保护数据以防止不合法的使用造成的数据的泄密和破坏。n数据的完整性(Integrity)检查n将数据控制在有效的范围内,或保证数据之间满足一定的关系。AnIntroductiontoDatabaseSystenmDBMS对数据的控制功能对数据的控制功能n并发(Concurrency)控制n对多用户的并发操作加以控制和协调,防止相互干扰而得到错误的结果。n数据库恢复(Recovery)n将数据库从错误状态恢复到某一已知的正确状态。AnIntroductiontoDatabaseSystenm第一章第一章 绪论绪论1.1 数据库系统概述1.2 数据模型1.3 数据库系统结构1.4 数据库系统的组成1.5 数据库技术的研究领域1.6 小结AnIntroductiontoDatabaseSystenm数据模型数据模型n在数据库中用数据模型这个工具来抽象、表示抽象、表示和处理和处理现实世界中的数据和信息。通俗地讲数据模型就是现实世界的模拟n数据模型应满足三方面要求n能比较能比较真实真实地模拟现实世界地模拟现实世界n容容易易为人所为人所理解理解n便于在计算机上便于在计算机上实现实现AnIntroductiontoDatabaseSystenm数据模型数据模型(续续)n数据模型分成两个不同的层次(1)概念模型概念模型 也称信息模型,它是按用户的观点来也称信息模型,它是按用户的观点来对数据和信息建模。对数据和信息建模。(2)数据模型数据模型 主要包括网状模型、层次模型、关系主要包括网状模型、层次模型、关系模型等,它是按计算机系统的观点对数据建模模型等,它是按计算机系统的观点对数据建模。AnIntroductiontoDatabaseSystenm数据模型数据模型(续续)n客观对象的抽象过程-两步抽象n现实世界中的客观对象抽象为概念模型;现实世界中的客观对象抽象为概念模型;n把概念模型转换为某一把概念模型转换为某一DBMS支持的数据模型。支持的数据模型。概念模型是现实世界到机器世界的一个中间层次。AnIntroductiontoDatabaseSystenm 1.2 数据模型数据模型 1.2.1 数据模型的组成要素 1.2.2 概念模型 1.2.3 常用数据模型 1.2.4 层次模型 1.2.5 网状模型 1.2.6 关系模型AnIntroductiontoDatabaseSystenm 1.2.1 数据模型的组成要素数据模型的组成要素n数据结构 n数据操作 n数据的约束条件 AnIntroductiontoDatabaseSystenm 1.数据结构数据结构n什么是数据结构n对象类型的集合n两类对象n与数据类型、内容、性质有关的对象n与数据之间联系有关的对象n数据结构是对系统静态特性的描述AnIntroductiontoDatabaseSystenm 2.数据操作数据操作 n数据操作n对数据库中各种对象(型)的实例(值)允许执行的操作及有关的操作规则n数据操作的类型n检索n更新(包括插入、删除、修改)AnIntroductiontoDatabaseSystenm 数据操作数据操作(续续)n数据模型对操作的定义n操作的确切含义n操作符号n操作规则(如优先级)n实现操作的语言n数据操作是对系统动态特性的描述。AnIntroductiontoDatabaseSystenm 3.数据的约束条件数据的约束条件 n数据的约束条件n一组完整性规则的集合。一组完整性规则的集合。n完整性规则是给定的数据模型中数据及其联完整性规则是给定的数据模型中数据及其联系所具有的制约和储存规则,用以限定符合系所具有的制约和储存规则,用以限定符合数据模型的数据库状态以及状态的变化,以数据模型的数据库状态以及状态的变化,以保证数据的正确、有效、相容保证数据的正确、有效、相容。AnIntroductiontoDatabaseSystenm 数据的约束条件数据的约束条件(续续)n数据模型对约束条件的定义n反映和规定本反映和规定本数据模型数据模型必须遵守的基本的通用的完必须遵守的基本的通用的完整性约束条件。例如在关系模型中,任何关系必须整性约束条件。例如在关系模型中,任何关系必须满足实体完整性和参照完整性两个条件。满足实体完整性和参照完整性两个条件。n提提供供定定义义完完整整性性约约束束条条件件的的机机制制,以以反反映映具具体体应应用用所涉及的数据必须遵守的特定的语义约束条件所涉及的数据必须遵守的特定的语义约束条件。AnIntroductiontoDatabaseSystenm 1.2.2 概念模型概念模型1.概念模型2.信息世界中的基本概念3.概念模型的表示方法AnIntroductiontoDatabaseSystenm1.概念模型概念模型n概念模型的用途n概念模型用于信息世界的建模概念模型用于信息世界的建模n是现实世界到机器世界的一个中间层次是现实世界到机器世界的一个中间层次n是数据库设计的有力工具是数据库设计的有力工具n数据库设计人员和用户之间进行交流的语言数据库设计人员和用户之间进行交流的语言n对概念模型的基本要求n较较强强的的语语义义表表达达能能力力,能能够够方方便便、直直接接地地表表达达应应用用中的各种语义知识中的各种语义知识n简单、清晰、易于用户理解简单、清晰、易于用户理解。AnIntroductiontoDatabaseSystenm2.信息世界中的基本概念信息世界中的基本概念(1)实体(Entity)客观存在并可相互区别的事物称为实体。客观存在并可相互区别的事物称为实体。可以是具体的人、事、物或抽象的概念可以是具体的人、事、物或抽象的概念。(2)属性(Attribute)实体所具有的某一特性称为属性。实体所具有的某一特性称为属性。一个实体可以由若干个属性来刻画。一个实体可以由若干个属性来刻画。(3)码(Key)唯一标识实体的属性集称为码。唯一标识实体的属性集称为码。AnIntroductiontoDatabaseSystenm信息世界中的基本概念信息世界中的基本概念(续续)(4)域(Domain)属性的取值范围称为该属性的域属性的取值范围称为该属性的域。(5)实体型(Entity Type)用实体名及其属性名集合来抽象和刻画用实体名及其属性名集合来抽象和刻画同类实体称为实体型同类实体称为实体型(6)实体集(Entity Set)同型实体的集合称为实体集同型实体的集合称为实体集AnIntroductiontoDatabaseSystenm信息世界中的基本概念信息世界中的基本概念(续续)(7)联系(Relationship)现实世界中事物内部以及事物之间的联系在信息世界现实世界中事物内部以及事物之间的联系在信息世界中反映为实体内部的联系和实体之间的联系中反映为实体内部的联系和实体之间的联系实体型间联系 两个实体型两个实体型 一对一联系(一对一联系(1:1)三个实体型三个实体型 一对多联系(一对多联系(1:n)一个实体型一个实体型 多对多联系(多对多联系(m:n)AnIntroductiontoDatabaseSystenm两个实体型间的联系两个实体型间的联系实体型实体型1联系名联系名实体型实体型2111:1联系联系实体型实体型1联系名联系名实体型实体型2mnm:n联系联系实体型实体型1联系名联系名实体型实体型21n1:n联系联系AnIntroductiontoDatabaseSystenm两个实体型间的联系两个实体型间的联系 n一对一联系 n如如果果对对于于实实体体集集A中中的的每每一一个个实实体体,实实体体集集B中中至至多多有有一一个个实实体体与与之之联联系系,反反之之亦亦然然,则则称称实实体体集集A与与实体集实体集B具有一对一联系具有一对一联系。记为。记为1:1。n 实例班级与班长之间的联系:班级与班长之间的联系:一个班级只有一个正班长一个班级只有一个正班长一个班长只在一个班中任职一个班长只在一个班中任职AnIntroductiontoDatabaseSystenm两个实体型间的联系两个实体型间的联系(续续)n一对多联系n如如果果对对于于实实体体集集A中中的的每每一一个个实实体体,实实体体集集B中中有有n个个实实体体(n0)与与之之联联系系,反反之之,对对于于实实体体集集B中中的的每每一一个个实实体体,实实体体集集A中中至至多多只只有有一一个个实实体体与与之之联系,则称联系,则称实体集实体集A与实体集与实体集B有一对多联系有一对多联系 记为记为1:nn实例班级与学生之间的联系:班级与学生之间的联系:一个班级中有若干名学生,一个班级中有若干名学生,每个学生只在一个班级中学习每个学生只在一个班级中学习AnIntroductiontoDatabaseSystenm两个实体型间的联系两个实体型间的联系(续续)n多对多联系(m:n)n如如果果对对于于实实体体集集A中中的的每每一一个个实实体体,实实体体集集B中中有有n个个实实体体(n0)与与之之联联系系,反反之之,对对于于实实体体集集B中中的的每每一一个个实实体体,实实体体集集A中中也也有有m个个实实体体(m0)与与之之联联系系,则则称称实实体体集集A与与实实体体B具具有有多多对对多多联联系系。记为记为m:nn实例课程与学生之间的联系:课程与学生之间的联系:一门课程同时有若干个学生选修一门课程同时有若干个学生选修一个学生可以同时选修多门课程一个学生可以同时选修多门课程AnIntroductiontoDatabaseSystenm多个实体型间的联系多个实体型间的联系(续续)n多个实体型间的一对多联系n若实体集若实体集E1,E2,.,En存在联系,对于存在联系,对于实体集实体集Ej(j=1,2,.,i-1,i+1,.,n)中的给定实体,最多只和)中的给定实体,最多只和Ei中的一个中的一个实体相联系,则我们说实体相联系,则我们说Ei与与E1,E2,.,Ei-1,Ei+1,.,En之间的联系是一对多的。之间的联系是一对多的。AnIntroductiontoDatabaseSystenm多个实体型间的联系多个实体型间的联系(续续)n实例 课程、教师与参考书三个实体型课程、教师与参考书三个实体型如果一门课程可以有若干个教师讲授,使用若干如果一门课程可以有若干个教师讲授,使用若干本参考书,每一个教师只讲授一门课程,每一本本参考书,每一个教师只讲授一门课程,每一本参考书只供一门课程使用参考书只供一门课程使用课程与教师、参考书之间的联系是一对多的课程与教师、参考书之间的联系是一对多的n多个实体型间的一对一联系n多个实体型间的多对多联系AnIntroductiontoDatabaseSystenm同一实体集内各实体间的联系同一实体集内各实体间的联系n一对多联系n实例 职工实体集内部具有领导与被领导的联系职工实体集内部具有领导与被领导的联系某一职工(干部)某一职工(干部)“领导领导”若干名职工若干名职工一个职工仅被另外一个职工直接领导一个职工仅被另外一个职工直接领导这是一对多的联系这是一对多的联系n一对一联系n多对多联系AnIntroductiontoDatabaseSystenm3.概念模型的表示方法概念模型的表示方法n概念模型的表示方法很多n实体联系方法(E-R方法)n用E-R图来描述现实世界的概念模型nE-R方法也称为E-R模型AnIntroductiontoDatabaseSystenmE-R图图n实体型n用矩形表示,矩形框内写明实体名。学生学生教师教师AnIntroductiontoDatabaseSystenmE-R图图(续续)n属性n用椭圆形表示,并用无向边将其与相应的实体连接起来学生学生学号学号年龄年龄性别性别姓名姓名AnIntroductiontoDatabaseSystenmE-R图图(续续)n联系n联系本身:用菱形表示,菱形框内写明联系名,用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型(边旁标上联系的类型(1:1、1:n或或m:n)n联系的属性:联系本身也是一种实体型,也可以联系本身也是一种实体型,也可以有属性。如果一个联系具有属性,则这些属性也要有属性。如果一个联系具有属性,则这些属性也要用无向边与该联系连接起来用无向边与该联系连接起来 AnIntroductiontoDatabaseSystenm联系的表示方法联系的表示方法实体型实体型1联系名联系名实体型实体型2111:1联系联系实体型实体型1联系名联系名实体型实体型2mnm:n联系联系实体型实体型1联系名联系名实体型实体型21n1:n联系联系AnIntroductiontoDatabaseSystenm联系的表示方法联系的表示方法(续续)实体型实体型1联系名联系名mn同一实体型内同一实体型内部的部的m:n联系联系实体型实体型1联系名联系名实体型实体型21m多个实体型间的多个实体型间的1:n联系联系实体型实体型3nAnIntroductiontoDatabaseSystenm联系的表示方法示例联系的表示方法示例班级班级班级班级-班长班长班长班长111:1联系联系课程课程选修选修学生学生mnm:n联系联系班级班级组成组成学生学生1n1:n联系联系AnIntroductiontoDatabaseSystenm联系的表示方法示例联系的表示方法示例(续续)职工职工领导领导1n同一实体型内同一实体型内部的部的1:n联系联系课程课程讲授讲授教师教师1m多个实体型间的多个实体型间的1:n联系联系参考书参考书nAnIntroductiontoDatabaseSystenm联系属性的表示方法联系属性的表示方法课程课程选修选修学生学生mn成绩成绩AnIntroductiontoDatabaseSystenmE-R图图(续续)E-R图实例:P19-P20 某工厂物资管理某工厂物资管理E-R图图AnIntroductiontoDatabaseSystenm 1.2.3 常用数据模型常用数据模型n非关系模型n层次模型(层次模型(Hierarchical Model)n网状模型网状模型(Network Model)n数据结构:以基本层次联系为基本单位 基基本本层层次次联联系系:两两个个记记录录以以及及它它们们之之间间的的一一对对多多(包括一对一(包括一对一)的联系的联系AnIntroductiontoDatabaseSystenm常用数据模型常用数据模型(续续)n关系模型(Relational Model)n数据结构:表n面向对象模型(Object Oriented Model)n数据结构:对象AnIntroductiontoDatabaseSystenm 1.2 数据模型数据模型 1.2.1 数据模型的组成要素 1.2.2 概念模型 1.2.3 常用数据模型 1.2.4 层次模型 1.2.5 网状模型 1.2.6 关系模型AnIntroductiontoDatabaseSystenm 1.2.4 层次模型层次模型1.层次数据模型的数据结构 2.层次数据模型的数据操纵3.层次数据模型的与完整性约束 4.层次数据模型的存储结构 5.层次数据模型的优缺点 6.典型的层次数据库系统AnIntroductiontoDatabaseSystenm1.层次数据模型的数据结构层次数据模型的数据结构n层次模型 满足下面两个条件的基本层次联系的集合为层次模型。满足下面两个条件的基本层次联系的集合为层次模型。1.有且只有一个结点没有双亲结点,这个结点称为根有且只有一个结点没有双亲结点,这个结点称为根 结点结点2.根以外的其它结点有且只有一个双亲结点根以外的其它结点有且只有一个双亲结点n层次模型中的几个术语n根结点,双亲结点,兄弟结点,叶结点根结点,双亲结点,兄弟结点,叶结点AnIntroductiontoDatabaseSystenm层次数据模型的数据结构层次数据模型的数据结构(续)续)1 根结点根结点 2 兄弟结点兄弟结点 3 叶结点叶结点 4 兄弟结点兄弟结点 5 叶结点叶结点 叶结点叶结点AnIntroductiontoDatabaseSystenm层次数据模型的数据结构层次数据模型的数据结构(续)续)n表示方法实体型实体型:用记录类型描述。:用记录类型描述。每个结点表示一个记录类型。每个结点表示一个记录类型。属性属性:用字段描述。每个记录类型可包含若干个字段。:用字段描述。每个记录类型可包含若干个字段。联系联系:用结点之间的连线表示记录(类)型之间的:用结点之间的连线表示记录(类)型之间的 一对多的联系一对多的联系实例:实例:教员教员-学生数据模型(学生数据模型(P23)AnIntroductiontoDatabaseSystenm层次数据模型的数据结构层次数据模型的数据结构(续)续)n特点n结点的双亲是唯一的结点的双亲是唯一的n只能直接处理一对多的实体联系只能直接处理一对多的实体联系n每个记录类型定义一个排序字段,也称为码字段每个记录类型定义一个排序字段,也称为码字段n任何记录值只有按其路径查看时,才能显出它的全部意义任何记录值只有按其路径查看时,才能显出它的全部意义n没有一个子女记录值能够脱离双亲记录值而独立存在没有一个子女记录值能够脱离双亲记录值而独立存在AnIntroductiontoDatabaseSystenm层次数据模型的数据结构层次数据模型的数据结构(续)续)n多对多联系在层次模型中的表示n用层次模型用层次模型间接间接表示多对多联系表示多对多联系n方法方法将多对多联系将多对多联系分解分解成一对多联系成一对多联系n分解方法分解方法n冗余结点法冗余结点法n虚拟结点法虚拟结点法AnIntroductiontoDatabaseSystenm2.层次模型的数据操纵层次模型的数据操纵n 查询n 插入n 删除n 更新AnIntroductiontoDatabaseSystenm3.层次模型的完整性约束层次模型的完整性约束n无相应的双亲结点值就不能插入子女结无相应的双亲结点值就不能插入子女结点值点值n如果删除双亲结点值,则相应的子女结如果删除双亲结点值,则相应的子女结点值也被同时删除点值也被同时删除n更新操作时,应更新所有相应记录,以更新操作时,应更新所有相应记录,以保证数据的一致性保证数据的一致性AnIntroductiontoDatabaseSystenm4.层次数据模型的存储结构层次数据模型的存储结构n邻接法按照层次树前序遍历的顺序把所有记录值依次邻接存按照层次树前序遍历的顺序把所有记录值依次邻接存放,即通过物理空间的位置相邻来实现层次顺序放,即通过物理空间的位置相邻来实现层次顺序n链接法用指引元来反映数据之间的层次联系用指引元来反映数据之间的层次联系n子女兄弟链接法子女兄弟链接法 P26n层次序列链接法层次序列链接法 P26AnIntroductiontoDatabaseSystenm5.层次模型的优缺点层次模型的优缺点n优点n层层次次数数据据模模型型简简单单,对对具具有有一一对对多多的的层层次次关关系系的的部部门描述自然、直观,容易理解门描述自然、直观,容易理解n性能优于关系模型,不低于网状模型性能优于关系模型,不低于网状模型n层次数据模型提供了良好的完整性支持层次数据模型提供了良好的完整性支持n缺点n多对多联系表示不自然多对多联系表示不自然n对插入和删除操作的限制多对插入和删除操作的限制多n查询子女结点必须通过双亲结点查询子女结点必须通过双亲结点n层次命令趋于程序化层次命令趋于程序化AnIntroductiontoDatabaseSystenm6.典型的层次数据库系统典型的层次数据库系统IMS数据库管理系统n第一个大型商用第一个大型商用DBMSn1968年推出年推出nIBM公司研制公司研制AnIntroductiontoDatabaseSystenm 下课了。下课了。追求追求休息一会儿。休息一会儿。AnIntroductiontoDatabaseSystenm