数据库技术课件_第1页
数据库技术课件_第2页
数据库技术课件_第3页
数据库技术课件_第4页
数据库技术课件_第5页
已阅读5页,还剩188页未读, 继续免费阅读

下载本文档

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

文档简介

数据库技术中国科学技术大学网络学院阚卫华第一章绪论数据库技术中国科学技术大学网络学院阚卫华第一章绪论一、教学目标及要求《数据库技术》是计算机(及应用)专业的一门专业基础课。该课程是计算机软件学科的一个重要分支。它的主要任务是研究如何存储、使用和管理数据,有较强的理论性和实用性(主要体现在数据库系统的核心DBMS的内在结构和某些实现方法上)。学生学习《数据库技术》的基本目的:了解和掌握数据库系统的基本概念、体系结构和全局结构;掌握关系模型的关系运算理论、关系数据库SQL语言的使用技术;了解和掌握关系数据库的规范化理论和数据库设计的方法和应用技术,以便在掌握DBMS的内在结构后,能编写出较好的应用系统。8/12/20232一、教学目标及要求《数据库技术》是计算机(及应用二、教学重点和难点

1.基本点:数据库系统的基本概念;2.重、难点:如何用规范化理论设计、优化关系模式;3.重点:数据库的设计(包括概念结构设计和逻辑结构设计部分)。

8/12/20233二、教学重点和难点1.基本点:数据库系统的基本概念;8/三、教材及主要参考书教材:《数据库系统概论》(第四版)王珊、萨师煊编著,高等教育出版社主要参考书:1.《数据库系统原理》王能斌编著,电子工业出版社2.《数据库系统教程》施伯乐、丁宝康等编著,高等教育出版社

8/12/20234三、教材及主要参考书教材:《数据库系统概论》(第四版)8/1第一章绪论1.1数据库系统概述数据库技术从20世纪60年代中期产生到今天,不过才几十年的发展历史。它的发展速度之快、使用范围之广,是其它技术所不能比的。数据库系统已从第一代的网状、层次数据库系统,第二代的关系数据库系统,发展到第三代以面向对象模型为主要特征的数据库系统。8/12/20235第一章绪论1.1数据库系统概述8/1/20235

数据库是数据管理的最新技术,是计算机科学的重要分支。今天,信息资源已经成为各个部门的重要资源和财富。信息技术的发展极大地推动了社会的进步和发展。作为信息技术主要支柱之一的数据库技术在各个领域中有着广泛的应用。数据库技术可以为各种用户提供及时的、准确的、相关的信息,从而满足不同的需要。因此,数据库技术课程是计算机科学与技术专业、信息管理专业重要课程。8/12/20236数据库是数据管理的最新技术,是计算数据库技术的三个发展阶段第一代数据库系统(通常指的是层次和网状数据库系统),它们的代表是:(1)1968-1969年,IBM公司研制的层次模型的数据库管理系统IMS(InformationManagementSystem);(2)美国数据库系统语言协商会CODASYL(ConferenceOnDataSystemLanguage)下属的数据库任务组DBTG(DataTaskGroup)对数据库方法进行了系统的研究、探讨,在20世纪60年代末70年代初提出了一些报告,称为DBTG报告。8/12/20237数据库技术的三个发展阶段第一代数据库系

DBTG报告确定并建立了数据库系统很多概念、方法和技术。DBTG所提议的方法是基于网状结构的。它是数据库网状模型的典型代表。可以这样说,层次型数据库是数据库系统的先驱者,而网状型数据库则是数据库概念、方法和技术的奠基者。它们都是数据库技术中研究得最早的两种数据库系统。8/12/20238DBTG报告确定并建立了数据库系统很多概念、方法

它们的主要区分是以数据模型为基础,层次数据库的数据模型是分层结构的,网状型数据库的数据模型是网状的,它们的数据结构都可以用有向图来表示。层次数据模型对应于有根定向有序树,而网状模型对应的是有向图。所以,我们称这两种数据模型为格式化数据模型。8/12/20239它们的主要区分是以数据模型为基础

上述两种数据库系统具有下列共同特点:1.支持三级模式的体系结构三级模式通常指的是外模式、模式、内模式。模式之间具有转换(或称为映射)的功能。层次型数据库和网状型数据库都支持三级模式的结构,通过外模式和模式、模式和内模式之间的映象,从而保证了数据库系统具有数据和程序的物理独立性和一定的逻辑独立性。8/12/202310上述两种数据库系统具有下列共同特点:8/1/

2.用存取路径来表示数据之间的联系应该说,这个特点是数据库系统和文件系统的主要区别之一。数据库不仅存储数据,而且存储数据之间的联系。数据之间的联系在层次和网状数据库系统中是用存取路径来表示和实现的。3.独立的数据定义语言层次型数据库系统和网状型数据库系统有独立的数据定义语言,用来描述数据库的三级模式以及相互映象。这些模式一经定义后,则就很难修改了。8/12/2023112.用存取路径来表示数据之间的联系8/1/202311

如果要修改模式的话,首先必须把数据全部卸出来,然后再重新定义那些模式,并重新生成它们,最后编写实用程序把已经卸出去的数据按新模式的定义装入到新数据库中。因此,在许多实际运行的层次型数据库系统和网状型数据库系统中,模式是不轻易去重构的。这就要求数据库设计人员在建立数据库应用系统时,不仅要充分考虑用户的当前需求,还要充分了解以后需求可能的变化和发展。这对数据库设计的要求比较高。8/12/202312如果要修改模式的话,首先必须把数

4.导航的数据操纵语言所谓导航,就是指用户不仅要了解“要干什么”,而且要指出“怎么干”。用户必须使用某种高级语言去编写程序,一步一步地“引导”程序按照数据库中某一条预先定义的存取路径来访问数据库,最终达到访问数据的目标。这里需要指出的是,在访问数据库时,每次只能存取一条记录值。(若该记录值不满足要求,就应沿着存取路径查找下一条记录值。)

8/12/2023134.导航的数据操纵语言8/1/202313

第二代数据库系统:关系数据库系统1970年IBM公司的E.F.Codd(科德)发表了题为“大型共享数据库数据的关系模型”论文,提出了数据库的关系模型,开创了数据库关系方法和关系数据理论的研究,为关系数据库技术奠定了理论基础。人们之所以把20世纪70年代称之为数据库时代,主要是由于数据库系统从实验室走向了社会,在技术上主要表现为:8/12/202314第二代数据库系统:关系数据库系统8/1/202314

(1)奠定了数据库关系模型理论基础,给出了人们一致接受的关系模型的规范说明;(关系模型由三部分组成:数据结构、关系操作和数据完整性;关系模型的主要特点:①关系模型的概念单一,实体以及实体之间的联系都用关系来表示;8/12/202315(1)奠定了数据库关系模型理论基础,给出了人们一致接受

②以关系代数为基础,形式化基础好;③数据独立性强,数据的物理存储和存取路径对用户屏蔽;④关系数据库语言是非过程化的,把用户从编程数据库记录的导航式检索中解脱出来,大大降低了用户编程的难度)。8/12/2023168/1/202316

(2)研究了关系数据语言,这些描述性的语言有关系代数、关系演算、SQL和QBE等。它们以其易学易懂的优点为最终用户所喜爱(这主要是改变了过去程序设计语言和网状、层次数据库系统中的语言风格),从而为20世纪80年代数据库语言标准化打下了基础。8/12/202317(2)研究了关系数据语言,这些描述性的语言有关系代数、

(3)研制了大量的RDBMS的原型,攻克了系统实现中的查询优化、并发控制、故障恢复等关键技术。不仅极大地丰富了DBMS实现技术和数据库关系模型理论,更为重要的是促进了RDBMS的发展和广泛应用。因此,20世纪80年开发的数据库系统大多为关系的,特别是微机RDBMS的使用,使得数据库技术日益广泛地应用到企业管理、情报检索、辅助决策等各个方面,成为实现和优化信息系统的基本技术。8/12/202318(3)研制了大量的RDBMS的原型,攻克了系统实现中的

新一代数据库技术的研究和发展新一代数据库技术的研究和发展,导致了众多的不同于第一、第二代数据库的系统的诞生,构成了数据库系统的大家族。新一代数据库技术的发展,呈现出百花齐放的局面,归纳起来,有如下特点:1.面向对象的方法和技术对数据库发展的影响;2.数据库技术与多学科技术的有机结合;8/12/202319新一代数据库技术的研究和发展8/1/202319

3.面向应用领域的数据库技术的研究(经过多年的研究和讨论,人们对第三代数据库系统的基本特征有了如下的认识:第三代数据库系统应该支持数据管理、对象管理和知识管理;第三代数据库系统必须保持或继承第二代数据库系统的技术;第三代数据库系统必须对其它系统开放)。8/12/2023203.面向应用领域的数据库技术的研究(经过多年的研究和讨1.1.1数据、数据库、数据库管理系统、数据库系统

一、数据(Data)

数据:描述事物的符号记录称为数据。数据的概念包括两个方面:1.数据内容是事物特性的反映或描述;2.数据是符号的集合。或者如通常所说的:数据是指用符号记录下来的、可加以鉴别的信息。“符号”是描述事物特性的数据形式,它不仅仅是指数字、字母、文字和其它特殊字符,而且还包括图形、图象、声音等多媒体数据;8/12/2023211.1.1数据、数据库、数据库管理系统、数据库系统8/1

所谓“记录下来”也不仅是指印在纸上,而且包括记录在其它磁介质上、光介质上和半导体存储器里。数据的形式还不能完全表达其内容,需要经过解释。所以数据和关于数据的解释是不可分的,数据的解释是指对数据含义的说明,数据的含义称为数据的语义,数据与其语义是不可分的。需要指出的是:数据的概念在数据处理中比在科学领域中已经大大地拓宽了。数据在空间上的传递称为通信,在时间上的传递称为存储。8/12/202322所谓“记录下来”也不仅是指印在纸上,而且包括记录在

数据举例(见《P4.李明的学生记录》)学生档案中的学生记录:(李明,男,21,1972,江苏,计算机系,1990)数据的形式不能完全表达其内容;数据的解释:[数据是有一定的格式的,例如,学生姓名栏允许4个汉字,性别栏为1个汉字或为逻辑真假值]语义:学生姓名、性别、年龄、出生年月、出生地、所在系别、入学时间;解释:李明是个大学生,1972年出生,江苏省人,1990年考入计算机系。8/12/202323数据举例(见《P4.李明的学生记录》)8/1/202323二、数据库(DataBase,简称DB)

人们收集并抽取出一个应用所需要的大量数据之后,应将其保存起来以供进一步加工处理,进一步抽取有用的信息。数据库的定义:数据库(Database,简称DB)是长期储存在计算机内、有组织的、可共享的大量数据集合。

(数据库中的数据按一定的数据模型组织、描述和储存,具有较小的冗余度、较高的数据独立性和易扩展性,并可为各种用户共享。)

8/12/202324二、数据库(DataBase,简称DB)

数据库的特征:数据按一定的数据模型组织、描述和储存;可为各种用户共享;冗余度较小;数据独立性较高;易扩展。

8/12/202325数据库的特征:8/1/202325三、数据库管理系统DBMS的作用:科学地组织和存储数据、高效地获取和维护数据。什么是DBMS?数据库管理系统(DataBaseManagementSystem,简称DBMS)是位于用户与操作系统之间的一层数据管理软件。它的主要功能包括以下几个方面(DBMS的主要功能):8/12/202326三、数据库管理系统DBMS的作用:科学地组织和

1.数据定义功能:提供数据定义语言(DDL:DataDefinitionLanguage,简称DDL)定义数据库中的数据对象。2.数据操纵功能:提供数据操纵语言(DML:DatamanipulationLanguage,简称DML)操纵数据,实现对数据库的基本操作(查询、插入、删除和修改等)。3.数据库的运行管理: 保证数据的安全性、完整性、多用户对数据的并发使用以及发生故障后的系统恢复。8/12/2023271.数据定义功能:8/1/202327

4.数据库的建立和维护功能:它包括数据库初始数据的输入、转换功能,数据库的转储、介质故障恢复、数据库的重组织功能和性能监视、分析功能等(这些功能通常是由一些实用程序来完成的)。8/12/2023284.数据库的建立和维护功能:8/1/202328四、数据库系统什么是数据库系统?数据库系统(DatabaseSystem,简称DBS)是指在计算机系统中引入数据库后的系统构成。以教材P.5图1.1和1.2简单介绍数据库系统及其在整个计算机系统中的地位。

8/12/202329四、数据库系统什么是数据库系统?8/1/202329

数据库系统的构成:(参看教材P.5图1.1)

8/12/202330数据库系统的构成:(参看教材P.5图1.1)8/1/20图1.1数据库系统

图1.1数据库系统用户用户用户应用系统应用开发工具DBMS操作系统数据库DBA返回转下页8/12/202331图1.1数据库系统用户用户用户应用系统应用开发工具D

由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员(和用户)构成。数据库系统在计算机系统中的位置图示(参看教材P.5图1.2)此处见幻灯片下一页P32

继续1.1.2内容P338/12/202332由数据库、数据库管理系统(及其开发工具)、应用系统、

应用系统应用开发工具图1.2数据库系统在计算机系统中的地位DBMSOS编译系统硬件返回8/12/202333应用系统应用开发工具图1.2数据库系统在计算机系统中的1.1.2数据管理技术的产生和发展

什么是数据管理?数据管理是数据处理的中心问题,数据的处理是指对各种数据进行收集、存储、加工和传播的一系列活动的总和。而数据管理主要是指对数据进行分类、组织、编码、存储、检索和维护等,它是数据处理的中心问题。数据管理技术的发展过程:数据管理技术经历了人工管理、文件系统、数据库系统三个阶段。8/12/2023341.1.2数据管理技术的产生和发展什么是数据管理?8/1/

人工管理阶段(20世纪40年代中~20世纪50年代中)文件系统阶段(20世纪50年代末~20世纪60年代中)数据库系统阶段(20世纪60年代末~现在)数据管理技术的发展动力:1、应用需求的推动2、计算机技术的发展(包括计算机硬件技术和软件技术的发展)

8/12/202335人工管理阶段(20世纪40年代中~20世纪5一、人工管理阶段

时期:40年代中~50年代中产生的背景:应用需求:科学计算 硬件水平:没有直接存取存储设备 软件状况:没有操作系统 处理方式:批处理8/12/202336一、人工管理阶段时期:40年代中~50年代中8/1/202

20世纪50年代中期以前,计算机主要用于科学计算。当时的硬件状况是,外存只有纸带、卡片、磁带,没有磁盘等直接存取的存储设备[外存储设备的发展状况:20世纪50年代中期以前外存只有纸带、卡片、磁带;1967年,IBM推出32英寸软盘,后又缩小为16英寸软盘;1973年,IBM推出温彻斯特技术(Wenchester)的温氏盘,1976年,iCom推出的8英寸软盘,售价为1200美元;8/12/20233720世纪50年代中期以前,计算机主要用于科学计算。当

1980年,希捷(SeagateTechnologies)推出了5.25英寸温氏驱动盘,同年8月,日本的索尼(Sony)推出了3.5英寸的双面软盘,其容量为875KB;到了1983年,3.5英寸的软盘容量已达到1MB;1980年的温氏硬盘的容量为5~10MB;到了1983年,飞利浦和索尼公司开发出了容量已达640MB~650MB的CD-ROM

];软件状况是,没有操作系统,没有管理数据的软件;数据处理方式是批处理。

8/12/2023381980年,希捷(SeagateTechnolo人工管理数据具有如下特点:数据的管理者:用户(程序员)。数据面向的对象:某一应用程序。数据的共享程度:无共享、冗余度极大。数据的独立性:完全依赖于程序(不独立)。数据的结构化:无结构。数据控制能力:应用程序自己控制。8/12/202339人工管理数据具有如下特点:数据的管理者:用户(程序员)。

⑴数据不(需要)保存。⑵应用程序管理数据。应用程序不仅要规定数据的逻辑结构,而且要设计物理结构,包括存储结构、存取方法、输入方式等。⑶数据不共享:一组数据只能对应一个程序。当多个应用程序涉及某些相同的数据时,由于必须各自定义,无法互相利用、互相参照,因此程序与程序之间有大量的冗余数据。8/12/202340⑴数据不(需要)保存。8/1/202340

⑷数据不具有独立性:数据的逻辑结构或物理结构发生变化后,必须对应用程序做相应的修改。程序与数据的对应关系如图1.3。此处见下一页幻灯片P41

继续课程P428/12/202341⑷数据不具有独立性:数据的逻辑结构或物理结构发生变图1.3人工管理阶段应用程序与数据之间的对应关系

图1.3人工管理阶段应用程序与数据之间的对应关系应用程序1数据集1应用程序2应用程序n数据集2数据集n……返回8/12/202342图1.3人工管理阶段应用程序与数据之间的对应关系二、文件系统阶段

20世纪50年代后期到60年代中期,这时硬件方面已有了磁盘、磁鼓等直接存取存储设备;软件方面,操作系统中已经有了专门的数据管理软件,一般称为文件系统;处理方式上不仅有了批处理,而且能够联机实时处理。

8/12/202343二、文件系统阶段20世纪50年代后期到60年代

时期:20世纪50年代末~20世纪60年代中产生的背景:应用需求:科学计算、管理 硬件水平:磁盘、磁鼓 软件水平:有文件系统 处理方式:联机实时处理、批处理

8/12/202344时期:20世纪50年代末~20世纪60年代中8/1/202文件系统管理数据有如下特点:数据的管理者:文件系统(可以长期保存)。文件系统把数据组织成相互独立的数据文件,可以对文件进行增删改的操作。数据面向的对象:某一应用(数据的逻辑结构改变必须修改应用程序)。

数据的共享程度:共享性差、冗余度大。数据的独立性:独立性差。程序和数据之间由文件系统提供存取方法进行转换,使应用程序与数据之间有了一定的独立性。但文件系统仍存在数据共享性差,冗余度大和数据独立性差的缺点。数据的结构化:记录内有结构,整体无结构。数据控制能力:应用程序自己控制。8/12/202345文件系统管理数据有如下特点:数据的管理者:文件系统(可

文件系统中,一个文件基本上对应一个应用程序,不同的应用程序具有部分相同的数据时,也必须建立各自的文件,而不能共享相同的数据,因此数据的冗余度大,浪费存储空间。容易造成数据的不一致性,给数据的修改和维护带来了困难。一旦数据的逻辑结构改变,必须修改应用程序,修改文件结构的定义。应用程序的改变,例如应用程序改用不同的高级语言等,也将引起文件的数据结构的改变。因此数据与程序之间仍缺乏独立性。程序与数据之间的关系如图1.4。HdpP.46

8/12/202346文件系统中,一个文件基本上对应一个应用程序,不同的应用图1.4文件系统阶段应用程序与数据之间的对应关系

应用程序1存取方法...文件1…图1.4文件系统阶段应用程序与数据之间的对应关系应用程序2文件2应用程序n文件n返回转下页8/12/202347图1.4文件系统阶段应用程序与数据之间的对应关系

应

文件系统中数据的结构:数据的结构是靠程序定义和解释的。尽管记录内部已有了某些结构(整体无结构),但记录之间没有联系;虽然可以间接实现数据整体有结构化,但必须在应用程序中增加对数据间的联系的描述。数据的最小存取单位是记录;数据只能是定长的;虽然可以间接实现数据变长要求,但访问相应数据的应用程序变得复杂了。文件间是独立的,因此数据整体无结构。

8/12/202348文件系统中数据的结构:8/1/202348三、数据库系统阶段

20世纪60年代后期以来,计算机应用规模越来越大,数据量急剧增长。这时硬件已有大容量硬盘,硬件价格下降;软件则价格上升,为编制和维护系统软件及应用程序所需的成本相对增加,在各个应用领域,如果一旦改变数据结构,则都要修改应用程序,代价无法计算;在处理方式上,联机实时处理要求更多,并开始提出和考虑分布处理。文件系统管理数据已经不能满足应用的需求,于是为了解决多用户、多应用共享数据的要求,使数据为尽可能多的应用服务,于是数据库技术便应运而生,出现了统一管理数据的专门软件系统:数据库管理系统。

8/12/202349三、数据库系统阶段20世纪60年代后期以来,计算

时期:20世纪60年代末以来产生的背景(如上所述):应用背景:大规模管理 硬件背景:大容量磁盘 软件背景:有数据库管理系统 处理方式:联机实时处理;分布处理;批处理8/12/202350时期:20世纪60年代末以来8/1/202350

数据库系统的出现,使信息系统从以加工数据的程序为中心转向围绕共享的数据库为中心的新阶段。这样既便于数据的集中管理,又有利于应用程序的研制和维护,从而提高了数据的利用率和相容性,提高了决策的可靠性。8/12/202351数据库系统的出现,使信息系统从以加工数据的程序为中心1.1.3数据库系统的特点数据的管理者:DBMS数据面向的对象:现实世界 数据的共享程度:共享性高,冗余度小。数据的独立性:高度的物理独立性和一定的逻辑独立性 数据的结构化:整体结构化(用数据模型描述)数据控制能力:由DBMS统一管理和控制(提供数据安全性、完整性、并发控制和恢复能力)8/12/2023521.1.3数据库系统的特点数据的管理者:DBMS8/1/一、数据结构化在文件系统中,相互独立的文件的记录内部是有结构的,但记录之间没有联系。数据库系统实现整体数据的结构化,是数据库的主要特征之一,也是数据库系统与文件系统的本质区别。数据库中实现的是数据的真正结构化。数据的结构用数据模型来描述,不需要程序定义和解释。数据可以变长。数据的最小存取单位是数据项。8/12/202353一、数据结构化在文件系统中,相互独立的文件的记录内部

(数据库系统实现整体数据的结构化,是数据库的主要特征之一,也是数据库系统与文件系统的本质区别。在数据库系统中,数据不再针对某一应用,而是面向全组织,具有整体的结构化。不仅数据是结构化的,而且存取数据的方式也很灵活,可以存取数据库中的某一个数据项、一组数据项、一个记录或一组记录。)

8/12/202354(数据库系统实现整体数据的结构化,

二、数据的共享性高,冗余度低,易扩充数据的共享性高降低数据的冗余度,节省存储空间避免数据间的不一致性使系统易于扩充8/12/202355二、数据的共享性高,冗余度低,易扩充8/1/202

数据库系统从整体角度看待和描述数据,数据不再面向某个应用而是面向整个系统,因此数据可以被多个用户、多个应用共享使用。数据共享可以减少数据冗余,节约存储空间;数据共享还能够避免数据之间的不相容性与不一致性(所谓数据的不一致性是指同一数据不同拷贝的值不一样。人工管理和文件管理由于数据被重复存储,当不同的应用使用和修改不同的拷贝时就很容易造成数据的不一致性)。数据库系统弹性大,易于扩充。8/12/202356数据库系统从整体角度看待和描述数据,三、数据独立性高

数据独立性是数据库领域中一个常用的术语,包括数据的物理独立性和逻辑独立性。数据独立性是由DBMS的二级映象功能来保证的。物理独立性:是指用户的应用程序与存储在磁盘上的数据库中数据是相互独立的。当数据的物理存储改变了,应用程序不用改变。也就是说,数据在(磁盘上的)数据库中怎样存储是由DBMS管理的,应用程序要处理的只是数据的逻辑结构,这样当数据的物理存储改变了,应用程序不用改变。

逻辑独立性:逻辑独立性是指用户的应用程序与数据库的逻辑结构是相互独立的。也就是说,数据的逻辑结构改变了,用户程序也可以不变。8/12/202357三、数据独立性高数据独立性是数据库领域四、数据由DBMS统一管理和控制

数据库的共享是并发的共享,即多个用户可以同时存取数据库中的数据甚至可以同时存取数据库中同一数据。为此,DBMS还必须提供以下几方面的数据控制功能:(1)数据的安全性(Security)保护

数据的安全性是指保护数据以防止不合法的使用造成的数据的泄密和损坏。使每个用户只能按规定,对某些数据以某些方式进行使用和处理。(2)数据的完整性(Integrity)检查

数据的完整性指数据的正确性、有效性和相容性。数据的完整性检查,是将数据控制在有效的范围内,或保证数据之间满足一定的关系。

8/12/202358四、数据由DBMS统一管理和控制数据

(3)并发(Concurrency)控制对多用户的并发操作加以控制和协调,防止相互干扰而得到错误的结果。

(当多个用户的并发进程同时存取、修改数据库时,可能会发生相互干扰而得到错误的结果或使得数据库的完整性遭到破坏,因此必须对多用户的并发操作加以控制和协调。)

8/12/202359(3)并发(Concurrency)控制8/1/2

例如,对于一个定票系统,如果只剩下一张票,但同时有两个用户要定票。由于同时操作,那么这两个进程都将看到还剩下一张票,会产生错误。因此,必须对并发操作加以控制和协调。并发控制的种类和涉及到的概念很多,在这里不作详细介绍,在第八章将详细介绍。(4)数据库恢复(Recovery)

将数据库从错误状态恢复到某一已知的正确状态。

8/12/202360例如,对于一个定票系统,如果只剩下一张

应用程序与数据的对应关系(数据库系统):

数据库管理系统DBMS应用程序1数据库…应用程序2图1.8数据库系统阶段应用程序与数据之间的对应关系返回8/12/202361应用程序与数据的对应关系(数据库系统):

总的来说,数据库是长期存储在计算机内有组织的、大量的、共享的数据集合。它可以供各种用户共享,具有最小冗余度和较高的数据独立性。数据库管理系统DBMS在数据库的建立、运用和维护时对数据库进行统一控制,从而保证数据的完整性、安全性,并在多用户同时使用数据库时进行并发控制,在发生故障后对系统进行恢复。

8/12/202362总的来说,数据库是长期存储在计算机内有组织的、

目前,数据库已经成为现代信息系统的重要组成部分。具有数亿字节信息的数据库已经普遍应用于各行各业;由于在微机上也配置了DBMS,使数据库技术得到更加广泛的应用和普及。数据库技术是计算机领域中发展最快的技术之一。数据库技术发展是沿着数据模型的主线来展开的。下面我们来讨论数据模型。8/12/202363目前,数据库已经成为现代信息系统的重要1.2数据模型

模型是现实世界特征的模拟和抽象。在数据库中,人们用数据模型这个工具来抽象、表示和处理现实世界中的数据和信息。数据模型是现实世界数据特征的抽象。通俗地讲数据模型就是现实世界的模拟。

数据模型应满足三方面要求:一是能比较真实地模拟现实世界;二是容易为人所理解;三是便于在计算机上实现。8/12/2023641.2数据模型模型是现实世界

事实上,一种数据模型要很好地满足这三方面的要求是很困难的。一般是在数据库系统中针对不同的使用对象和应用目的,采用不同的数据模型。

8/12/202365事实上,一种数据模型要很好地满足这三方面的要求

数据模型分成两个不同的层次(1)概念模型:也称信息模型,它是按用户的观点来对数据和信息建模。(2)数据模型:主要包括网状模型、层次模型、关系模型等,它是按计算机系统的观点对数据建模。

8/12/202366数据模型分成两个不同的层次8/1/202366

不同的数据模型,实际上是提供给我们模型化数据和信息的不同工具。根据模型应用的不同目的,可以将模型划分为两类(两个层次):第一类模型是概念模型,也称信息模型。它是按用户的观点来对数据和信息建模,主要用于数据库设计。另一类模型是数据模型,主要包括网状模型、层次模型、关系模型等,它是按计算机系统的观点对数据建模,主要用于数据库管理系统DBMS的实现。

8/12/202367不同的数据模型,实际上是提供给我们模型化数据和

现实世界中的客观对象抽象为概念模型;概念模型是现实世界到机器世界的一个中间层次。

现实世界人们的认识抽象信息世界(概念模型)机器世界(DBMS支持的数据模型)现实世界中客观对象的抽象过程:说明见下页8/12/202368现实世界中的客观对象抽象为概念模型;概念模型是现实世

(对于上图:)把概念模型转换为某一种DBMS所支持的数据模型。数据模型是数据库系统的核心和基础。各种机器上实现的DBMS软件都是基于某种数据模型的。

8/12/202369(对于上图:)把概念模型转换为某一种DBMS所支持

计算机不可能直接处理现实世界中的具体事物,所以人们必须实现把具体事物转换成计算机能够处理的数据。在数据中用数据模型这个工具来抽象、表示和处理现实世界中的数据和信息。我们无论处理任何数据,都要先对此数据建立模型,然后在此基础上进行处理。下面我们先讨论数据模型的共性:数据模型的组成要素。8/12/202370计算机不可能直接处理现实世界中的具体事物,所以1.2.1数据模型的组成要素

数据模型通常由三部分组成:数据结构、数据操作和完整性约束。

一、数据结构什么是数据结构?数据结构是所研究的对象类型的集合。数据结构是对系统静态特性的描述。数据结构是刻画一个数据模型性质最重要的方面。因此在数据库系统中,人们通常按其数据结构的类型来命名数据模型。

两类对象

:与数据类型、内容、性质有关的对象;与数据之间联系有关的对象。

8/12/2023711.2.1数据模型的组成要素数据二、数据操作

数据操作是指对数据库中各种对象(型)的实例(值)允许执行的操作的集合,包括操作及有关的操作规则。数据操作是对系统动态特性的描述。数据操作的类型:检索、更新(包括插入、删除、修改)。数据模型必须定义对这些操作的确切含义、操作符号、操作规则(如优先级)以及实现操作的语言。

8/12/202372二、数据操作数据操作是指对数据库中各三、数据的约束条件

数据的约束条件是一组完整性规则的集合。完整性规则是给定的数据模型中数据及其联系所具有的制约和依存规则,用以限定符合数据模型的数据库状态以及状态的变化,从而保证数据的正确、有效和相容。数据模型应该反映和规定该数据模型必须遵守的基本的、通用的完整性约束条件。例如:(后面将要讨论的)在关系模型中,任何关系必须满足实体完整性和参照完整性这两个条件。此外,数据模型还应该提供定义完整性约束条件的机制,以反映具体应用所涉及的数据必须遵守的特定的语义约束条件

。例如:在学校的数据库中规定,学生的成绩累计不及格的课程不能超过三门。

8/12/202373三、数据的约束条件数据的约束条件1.2.2概念模型

概念模型的用途:概念模型用于信息世界的建模。(概念模型是现实世界到机器世界的一个中间层次;是数据库设计的有力工具;是数据库设计人员和用户之间进行交流的语言。)

对概念模型的基本要求:一方面应该具有较强的语义表达能力,能够方便、直接地表达应用中的各种语义知识;另一方面应该具有简单、清晰、易于用户理解。

8/12/2023741.2.2概念模型概念模型的用一、信息世界中的基本概念

信息世界涉及的概念主要有:(1)实体(Entity):客观存在并可相互区别的事物称为实体。一个实体可以由若干个属性来刻画。可以是具体的人、事、物或抽象的概念。(2)属性(Attribute):实体所具有的某一特性称为属性。例如,学生的学号、姓名。(3)码(Key):唯一标识实体的属性集称为码。例如,学号是学生实体的码。(4)域(Domain):属性的取值范围称为该属性的域。例如,学号的域为8位整数,姓名的域为字符串集合,性别的域为(男,女)等等。

8/12/202375一、信息世界中的基本概念信息世界涉及的

(5)实体型(EntityType):具有相同属性的实体必然具有共同的特征和性质。我们用实体名及其属性名集合来抽象和刻画同类实体,称为实体型。即同类实体称为实体型。例如,学生(学号,姓名,性别,出生年份,系,入学时间)就是一个实体型。(6)实体集(EntitySet):同型实体的集合称为实体集。例如,全体学生就是一个实体集。

8/12/202376(5)实体型(EntityType):8/1/20

(7)联系(Relationship):在现实世界中,事物内部以及事物之间是有联系的,这些联系在信息世界中反映为实体(型)内部的联系和实体(型)之间的联系。实体内部的联系通常是指组成实体的各属性之间的联系;实体之间的联系通常是指不同实体集之间的联系。

8/12/202377(7)联系(Relationship):8/1/20两个实体型之间的联系可以分为三类:

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

例如,一个班级只有一个正班长,而一个班长也只在一个班中任职。则班级与班长之间具有一对一联系。8/12/202378两个实体型之间的联系可以分为三类:①一对一联系(

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

例如,一个班级中可以有若干名学生,而每个学生只在一个班级中学习。则班级与学生之间具有一对多联系。

8/12/202379②一对多联系(1:n)8/1/202379

多对多联系(m:n)如果对于实体集A中的每一个实体,实体集B中有n个实体(n≥0)与之联系,反之,对于实体集B中的每一个实体,实体集A中也有m个实体(m≥0)与之联系,则称实体集A与B具有多对多联系,记为m:n。

例如,一门课程同时有若干个学生选修,而一个学生可以同时选修多门课程,则课程与学生之间具有多对多联系。详细介绍三种联系的实例:hdp83~84(见教材P17~P18)。

8/12/202380多对多联系(m:n)8/1/202380教材P18:图1.10

实体型A联系名11(a)1:1联系实体型B(b)1:n联系实体型A联系名1n实体型B(c)m:n联系实体型A联系名mn实体型B图1.10两个实体型之间的三类联系图示8/12/202381教材P18:图1.10

多个实体型间的联系(略):多个实体型间的一对多联系若实体集E1,E2,…,En存在联系,对于实体集Ej(j=1,2,…,i-1,i+1,…,n)中的给定实体,最多只和Ei中的一个实体相联系,则我们说Ei与E1,E2,…,Ei-1,Ei+1,…,En之间的联系是一对多的。[注1:多个实体型间的一对一联系(略);注2:多个实体型间的多对多联系(略)]

8/12/202382多个实体型间的联系(略):8/1/202382

实例1课程、教师与参考书三个实体型如果一门课程可以有若干个教师讲授,使用若干本参考书,每一个教师只讲授一门课程,每一本参考书只供一门课程使用,则课程与教师、参考书之间的联系是一对多的(见图1.11a)。

实例2三个实体型:供应商、项目、零件一个供应商可以供给多个项目多种零件,而每个项目可以使用多个供应商供给的零件,每种零件可由不同供应商供给,由此可以看出:三个实体型供应商、项目、零件之间是多对多的联系(见图1.11b)。

继续讲课8/12/202383实例1课程、教师与参考书三个实体型8/1/2023图1.11a三个实体型间的1:n联系

图1.11a三个实体型间的1:n联系课程讲授教师1m参考书n图1.11b返回8/12/202384图1.11a三个实体型间的1:n联系图1.11a三个图1.11b三个实体型间的m:n联系

图1.11b三个实体型间的m:n联系供应商供应项目m零件np供应量返回8/12/202385图1.11b三个实体型间的m:n联系

同一实体集内各实体间的联系:一对一联系、一对多联系和多对多联系实例同一实体集内的一对多联系职工实体集内部具有领导与被领导的联系,即某一职工(管理者)“领导”若干名职工,而一个职工仅被另外一个职工直接领导,这是一对多的联系(见图1.12)

继续课程8/12/202386同一实体集内各实体间的联系:一对一联同一实体型内部的1:n联系

职工领导图1.12同一实体型内部的1:n联系1n返回8/12/202387同一实体型内部的1:n联系

二、概念模型的表示方法

实体-联系方法(E-R方法):E-R方法也称为E-R模型;用E-R图来描述现实世界的概念模型。概念模型是对信息世界建模,所以概念模型应该能够方便、准确地表示出上述信息世界中的常用概念。概念模型的表示方法很多,其中最为著名的是P.P.S.Chen于1976年提出的实体-联系方法(Entity-RelationshipApproach)。该方法用E-R图来描述现实世界的概念模型。

8/12/202388二、概念模型的表示方法实体-联系方

E-R图提供了表示实体型、属性和联系的方法:实体型:用矩形表示,矩形框内写明实体名。属性:用椭圆形表示,并用无向边将其与相应的实体连接起来。联系:用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型(1:1;1:n;m:n)。

8/12/202389E-R图提供了表示实体型、属性和联

需要注意的是:如果一个联系具有属性,则这些属性也要用无向边与该联系连接起来。课后阅读:E-R图实例[结合教材上的例子(P19~P20),详细了解“某工厂物资管理”E-R图]是如何用E-R图来描述现实世界中的实体及其之间的联系。

8/12/202390需要注意的是:如果一个联系具有属性1.2.3最常用的数据模型

回顾:数据结构、数据操作和完整性约束条件,这三个方面的内容完整地描述了一个数据模型,其中数据结构是刻划模型性质的最基本的方面。目前,数据库领域中最常用的数据模型有四种:非关系模型:层次模型(HierarchicalModel)、网状模型(NetworkModel);数据结构:以基本层次联系为基本单位。

8/12/2023911.2.3最常用的数据模型回顾:数

关系模型(RelationalModel)数据结构:表面向对象模型(ObjectOrientedModel)

数据结构:对象注意:这里所讨论的数据模型都是逻辑上的,也就是说,是用户所看到的数据范围;同时,它们又都能用某种语言描述,使计算机系统能够理解,被数据库管理系统支持的数据视图。这些数据模型将以一定的方式存储在数据库系统中。这是DBMS的功能,是DBMS中的存储模型。

8/12/202392关系模型(RelationalModel)8/1/2

在非关系模型中,实体用记录表示,实体的属性对应记录的数据项(或字段)。实体之间的联系在非关系模型中转换成记录之间的两两联系。非关系模型中数据结构的单位是基本层次联系。

所谓基本层次联系是指两个记录以及它们之间的一对多(包括一对一)的联系。

继续课程8/12/202393在非关系模型中,实体用记录表示,实基本层次联系图

Ri

Rj双亲结点子女结点1:n(包括1:1)的联系名Lij

图1.16基本层次联系返回8/12/202394基本层次联系图RiRj双亲1.2.4层次模型

一、层次数据模型的数据结构层次数据模型是数据库系统中最早出现的。层次数据库系统的典型代表是IMS[1968-1969年,IBM公司研制的层次模型的数据库管理系统IMS(InformationManagementSystem)],这是一个大型的商用数据库管理系统,曾经得到广泛的使用。8/12/2023951.2.4层次模型一、层次数据模型的数据结构8/1/2

在数据库中定义满足下面两个条件的基本层次联系的集合为层次模型。层次模型用树形结构来表示各类实体以及实体间的联系。⑴有且只有一个结点没有双亲结点,这个结点称为根结点。⑵根以外的其它结点有且只有一个双亲结点。8/12/202396在数据库中定义满足下面两个条件的基本一个层次模型的示例

R1R2R3R4R5R1:根结点R2与R3:兄弟结点R4与R5:兄弟结点R4:树叶结点R5:树叶结点图1.17一个层次模型的示例转下页8/12/202397一个层次模型的示例

层次模型中的几个术语(见上页):

根结点,双亲结点,兄弟结点,叶结点。根据层次模型的定义我们可以看到,这是一个典型的树状结构。在层次模型中,每个结点表示一个记录类型,记录(类型)之间的联系用结点之间的连线(有向边)表示,这种联系是父子之间的一对多的联系。现实世界中的联系靠父子之间的一对多联系来体现。这就使得层次数据库系统只能处理一对多的实体联系。

8/12/202398

层次模型中的几个术语(见上页):8/1/20239

层次模型的一个基本特点是:任何一个给定的记录值只有按其路径查看时,才能显示出它的全部意义,没有一个子女记录值能够脱离双亲记录值而独立存在。可参见教材P22~P23的例子及图1.18和1.19介绍层次模型。8/12/202399层次模型的一个基本特点是:任何一个给定的记录值只有按

表示方法:实体型:用记录类型描述。每个结点表示一个记录类型。属性:用字段描述。每个记录类型可包含若干个字段。联系:用结点之间的连线表示记录(类)型之间的一对多的联系。课后阅读:实例:教员-学生数据模型(P23)

8/12/2023100表示方法:8/1/2023100

特点:结点的双亲是唯一的;只能直接处理一对多的实体联系;每个记录类型定义一个排序字段,也称为码字段。任何记录值只有按其路径查看时,才能显出它的全部意义,没有一个子女记录值能够脱离双亲记录值而独立存在。

8/12/2023101特点:8/1/2023101二、多对多联系在层次模型中的表示

多对多联系在层次模型中的表示:用层次模型间接表示多对多联系;将多对多联系分解成一对多联系;分解方法:冗余结点法和虚拟结点法。

层次数据模型只能直接表示一对多(包括一对一)的联系,那么另一种常见联系:多对多联系如何表示呢?层次模型表示多对多联系必须首先将其分解成一对多联系。分解方法有两种:冗余结点法和虚拟结点法。课后阅读:结合教材P.24图1.20介绍这两种分解方法。

8/12/2023102二、多对多联系在层次模型中的表示多对多联系在层次模型

*冗余结点法的特点:冗余结点法的优点是结构清晰,允许结点改变存储位置;缺点是需要额外占用存储空间,有潜在的不一致性。*虚拟结点法的特点:

虚拟结点法的优点是减少对存储空间的浪费,避免产生潜在的不一致性;缺点是结点改变存储位置可能引起虚拟结点中指针的修改。

8/12/2023103*冗余结点法的特点:8/1/2023103三、层次模型的数据操纵与完整性约束

层次模型的数据操纵主要有:查询、插入、删除和更新。层次模型的数据操纵将产生如下的约束:无相应的双亲结点值就不能插入子女结点值;如果删除双亲结点值,则相应的子女结点值也被同时删除;更新操作时,应更新所有相应记录,以保证数据的一致性。8/12/2023104三、层次模型的数据操纵与完整性约束层次模型的数据操纵

进行插入操作时,如果没有相应的双亲结点值就不能插入子女节点值。例如,在层次数据库中,如果新调入一名教师,但该教师尚未分配到某个教研室,这时就不能将新教师插入到数据库中。这样对于一些不明确父结点值的结点将无法完成插入操作。

8/12/2023105进行插入操作时,如果没有相应的双亲结点值就不能

进行删除操作时,如果删除双亲结点值,则相应的子女结点值也被同时删除。现实应用中,有时我们删除父结点,但并不希望其所有子结点都被删除。例如,撤销了一个系或专业,成立一个新的系或专业,但原来教师的记录并不希望被删除。

8/12/2023106进行删除操作时,如果删除双亲结点值,则相应的子

进行修改操作(更新)时,应修改所有相应记录,从而保证数据的一致性。例如,在层次数据库中,如果一条记录中的某一项被修改,则相关的记录值都要修改。

8/12/2023107进行修改操作(更新)时,应修

四、层次数据模型的存储结构1.邻接法按照层次树前序遍历的顺序把所有记录值依次邻接存放,即通过物理空间的位置相邻来体现(或隐含)层次顺序。2.链接法用指引元(每个记录设一类或两类)来反映数据之间的层次联系。*(1)子女-兄弟链接法:每个记录设两类指引元,分别指向最左边的子女和最近的兄弟。课后阅读:P.26*(2)层次序列链接法:按照层次树前序遍历的顺序链接各记录值。课后阅读:P.268/12/2023108

四、层次数据模型的存储结构1.邻接法8/1/2

五、层次模型的优缺点层次模型的优点主要有:层次数据模型简单;对于实体间联系是固定的,且预先定义好的应用系统,采用层次模型来实现,性能优于关系模型,不低于网状模型;对具有一对多的层次关系的部门描述自然、直观,容易理解(这是层次数据库的突出优点);层次数据模型提供了良好的完整性支持。

8/12/2023109

五、层次模型的优缺点层次模型的优点主要有:8/1/2023层次模型的缺点:层次模型对于表现多对多的联系不自然[现实世界中很多联系是非层次的,如多对多联系、一个结点具有多个双亲等,层次模型表示这类联系的方法很笨拙,只能通过引入冗余数据(易产生不一致性)或创建非自然的数据组织(引入虚拟结点)来加以解决。]对插入和删除操作的限制比较多;查询子女结点必须通过双亲结点;由于结构严密,层次命令趋于程序化。

8/12/2023110层次模型的缺点:层次模型对于表现多对1.2.5网状模型在现实世界中事物之间的联系更多的是非层的关系的,用层次模型表示非树形结构是很不直接的,但网状模型则可以克服这一弊病。在20世纪60年代末70年代初,美国数据库系统语言协商会CODASYL(ConferenceOnDataSystemLanguage)下属的数据库任务组DBTG(DataTaskGroup)对数据库方法进行了系统的研究、探讨,提出了称为DBTG的报告。DBTG报告确定并建立了数据库系统很多概念、方法和技术。(转下页)

8/12/20231111.2.5网状模型在现实世界中事物之间的联系

(续上页)DBTG所提议的方法是基于网状结构的。它是数据库网状模型的典型代表。网状型数据库是数据库概念、方法和技术的奠基者。网状型数据库的数据模型是网状的,它对于网状型数据库系统的研制和发展起了重大的影响,后来的不少系统都采用了DBTG模型或简化的DBTG模型。8/12/2023112(续上页)DBTG所提议的方法是基于网状结构的。它一、网状数据模型的数据结构在数据库中,把满足以下两个条件的基本层次联系集合称为网状模型:⑴

允许一个以上的结点无双亲;⑵一个结点可以有多于一个的双亲。

例见下页继续课程8/12/2023113一、网状数据模型的数据结构在数据库图1.24网状模型的例子

R1R1R3R1R2R1R1R1R1R1(b)(a)L1L2L1L2L1L2L3L4(c)图1.24网状模型的例子返回上页8/12/2023114图1.24网状模型的例子

从定义可以看出,层次模型中子女结点与双亲结点的联系是唯一的,而在网状模型中这种联系可以不唯一。因此,要为每个联系命名,并指出与该联系有关的双亲记录和子女记录。

8/12/2023115从定义可以看出,层次模型中子女结点与双

表示方法(与层次数据模型相同):实体型:用记录类型描述;

每个结点表示一个记录类型(实体)。属性:用字段描述。每个记录类型可包含若干个字段(实体的属性)。联系:用结点之间的连线表示记录(类)型之间的一对多的父子联系。8/12/2023116表示方法(与层次数据模型相同):8/1/2023

网状数据模型是一种比层次模型更具有普遍性的结构,它去掉了层次模型的两个限制,允许多个结点没有双亲结点,允许结点有多个双亲结点;此外,它还允许两个结点之间有多种联系(复合联系)。因此,网状数据模型可以更直接地去描述现实世界。而层次模型实际上是网状数据模型的一个特例。8/12/2023117网状数据模型是一种比层次模型更具有普遍性的结构

特点:只能直接处理一对多的实体联系;每个记录类型定义一个排序字段,也称为码字段;任何记录值只有按其路径查看时,才能显出它的全部意义。

多对多联系在网状模型中的表示:用网状模型间接表示多对多联系。方法:将多对多联系直接分解成一对多联系。8/12/2023118特点:8/1/2023118

*[课后阅读:P.28]以学生选课为例,看网状数据模型如何组织数据。一个学生可以选修若干门课程,某一课程可以被多个学生选修,因此学生与课程之间是多对多的联系。这样的实体联系图不能直接用网状模型来表示,因为网状模型不能直接表示记录之间的多对多的联系。为此我们可以把联系也作为一个结点来表示,引入学生选课记录,由三个数据项组成,即学号、课程号、成绩,表示某个学生选修某一门课程及其成绩。利用学生到选课的一对多联系和课程到选课的一对多联系表示学生和课程之间的多对多的联系。(课后阅读:P.28图1.25)

8/12/2023119*[课后阅读:P.28]以学生选课为例,

网状模型与层次模型的区别:网状模型允许多个结点没有双亲结点;

网状模型允许结点有多个双亲结点;网状模型允许两个结点之间有多种联系(复合联系);网状模型可以更直接地去描述现实世界;层次模型实际上是网状模型的一个特例。

8/12/2023120网状模型与层次模型的区别:8/1/20231二、网状数据模型的操纵与完整性约束

完整性约束条件允许插入尚未确定双亲结点值的子女结点值;允许只删除双亲结点值;

DBTG在模式DDL中提供了定义DBTG数据库完整性的若干概念和语句,主要有:

8/12/2023121二、网状数据模型的操纵与完整性约束完整性约束条件8/1/2

⑴支持记录码的概念,码即唯一标志记录的数据项的集合。⑵保证一个联系中双亲记录和子女记录之间是一对多的联系。⑶可以支持双亲记录和子女记录之间的某些约束条件。

例如,有些子女记录要求双亲记录存在才能插入,双亲记录删除时也连同删除。8/12/2023122⑴支持记录码的概念,码即唯一标志记三、网状数据模型的存储结构网状数据模型的存储结构中关键是如何实现记录之间的联系。常用的方法是链接法(包括单向链接、双向链接、环状链接等)。

8/12/2023123三、网状数据模型的存储结构网状数据模型的存储结四、网状数据模型的优缺点网状数据模型的优点主要有:能够更为直接地描述现实世界,如一个结点可以有多个双亲。具有良好的性能,存取效率较高。

8/12/2023124四、网状数据模型的优缺点网状数据模型的优点主要有:8/1/网状数据模型的缺点主要有:结构比较复杂,而且随着应用环境的扩大,数据库的结构就变得越来越复杂,不利于最终用户掌握。网状数据模型的DDL、DML语言复杂,用户不容易使用。由于记录之间联系时通过存取路径实现的,应用程序在访问数据时必须选择合适的存取路径,因此,用户必须了解系统结构的细节,加重了编写应用程序的负担。

8/12/2023125网状数据模型的缺点主要有:结构比较复杂1.2.6关系模型关系模型是本课程的重点,关系模型是目前最重要的一种数据模型。关系数据库系统采用关系模型作为数据库的组织方式。

1970年,IBM公司的E.F.Codd首次提出了数据库系统的关系模型,开创了数据库关系方法和关系数据理论的研究,为关系数据库技术奠定了理论基础。人们之所以把20世纪70年代称之为数据库时代,主要是由于数据库系统从实验室走向了社会。由于E.F.Codd的杰出工作,他于1981年获得了计算机界的最高奖:ACM图灵奖。(转下页)

8/12/20231261.2.6关系模型关系模型是本课程的重点,关

(接上页)20世纪80年代以来,计算机厂商推出的数据库管理系统几乎都支持关系模型,而非关系系统的产品也大多加上了关系接口。由于数据库领域当前的研究工作多以关系方法为基础,是目前主要采用的数据模型。因此,关系模型成了最重要的一种数据模型,关系数据库也就成了本书的重点。[典型的关系数据库系统:

ORACLE、SYBASE、INFORMIX、DB/2、COBASE、PBASE、EasyBase、DM/2、OpenBase等]8/12/2023127(接上页)20世纪80年代以来,计算机厂商推出一、关系数据模型的数据结构

在用户观点下,关系模型中数据的逻辑结构是一张二维表,它由行和列组成。如下图1.27所示:

8/12/2023128一、关系数据模型的数据结构在用图1.27关系模型的数据结构

学生登记表学号姓名年龄性别系名年级95004王小明19女社会学9595006黄大鹏20男商品学9595008张文斌18女法律学95………………返回127继续1298/12/2023129图1.27关系模型的数据结构学生登记表

关系模型与以往的模型不同,它是建立在严格的

温馨提示

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

评论

0/150

提交评论