资源描述
,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,课程名称:数据库系统概论课 时:,38,任课教师:朱洪,内容安排,1,基础篇,第,1,章:绪论,第,2,章:关系数据库,第,3,章:关系数据库标准语言,SQL,设计篇,第,4,章:关系数据库设计理论,第,6,章:数据库设计,内容安排,2,系统篇,第,5,章:数据库保护,第,7,章:关系数据库管理系统实例,第,8,章:数据库技术新进展,第,1,章 绪论,1.1,引言,1.2,数据模型,1.3,数据库系统结构,1.4,数据库管理系统,1.5,数据库工程与应用,1.6,小结,第,1,章 绪论,1.1,引言,1.2,数据模型,1.3,数据库系统结构,1.4,数据库管理系统,1.5,数据库工程与应用,1.6,小结,1.1,引言,1.1.1,数据、数据库、数据库系统、数据库管理系统,1.1.2,数据库技术的生产与发展,1.1.3,数据库技术的研究领域,1.1,引言,1.1.1,数据、数据库、数据库系统、数据库管理系统,1.1.2,数据库技术的生产与发展,1.1.3,数据库技术的研究领域,数据库的地位,数据库技术产生于六十年代末,是数据管理的最新技术,是计算机科学的重要分支。,数据库技术是信息系统的核心和基础,它的出现极大地促进了计算机应用向各行各业的渗透。,数据库的建设规模、数据库信息量的大小和使用频度已成为衡量一个国家信息化程度的重要标志。,一、数据,数据,(Data),是数据库中存储的基本对象,数据的定义,描述事物的符号记录,组成数据的符号种类,数字、字符串、日期、逻辑值、文本、图形、图象、声音,数据的特点,数据与其语义是不可分的,数据举例,学生档案中的学生记录,(李明,男,,1972,,江苏,计算机系,,1990,),数据的形式不能完全表达其内容,数据的解释,语义:学生姓名、性别、出生年月、籍贯、所在系别、入学时间,解释:李明是个大学生,,1972,年出生,男,江苏人,,1990,年考入计算机系,二、数据库,人们收集并抽取出一个应用所需要的大量数据之后,应将其保存起来以供进一步加工处理,进一步抽取有用信息。,数据库的定义,数据库,(Database,简称,DB),是长期储存在计算机内、有组织的、可共享的数据集合。,数据库,(,续,),数据库的特征,数据按一定的数据模型组织、描述和储存,可为各种用户共享,冗余度较小,数据独立性较高,易扩展,三、数据库管理系统,什么是,DBMS,数据库管理系统(,Database Management System,,,简称,DBMS,),是位于用户与操作系统之间的一层数据管理软件。,DBMS,的用途,科学地组织和存储数据、高效地获取和维护数据,数据库管理系统,(,续,),DBMS,的主要功能,数据定义功能,:,提供数据定义语言,(DDL),,,用于定义数据库中的数据对象。,数据操纵功能,:,提供数据操纵语言,(DML),,,用于操纵数据实现对数据库的基本操作,(,查询、插入、删除和修改,),。,数据库管理系统,(,续,),DBMS,的主要功能,(,续,),数据库的运行管理,:,保证数据的安全性、完整性、多用户对数据的并发使用及发生故障后的系统恢复,。,数据库的建立和维护功能,:,提供实用程序,完成数据库数据批量装载,数据库转储,介质故障恢复,数据库的重组织和性能监视等,四、数据库系统,什么是数据库系统,数据库系统(,Database System,,,简称,DBS,),是指在计算机系统中引入数据库后的系统构成。,在不引起混淆的情况下常常把数据库系统简称为数据库。,数据库系统的构成,由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员和用户构成。,数据库系统,(,续,),数据库系统构成图示,用户,用户,用户,应用系统,应用,开发系统,数据库管理系统,操作系统,数据库,数据库管理员,用 系,应 统,数据库系统,(,续,),发 工,开 具,用 软,应 件,数据库系统在计算机系统中的位置图示,B M,D S,编 统,译 系,作 系,操 统,硬件,1.1,引言,1.1.1,数据、数据库、数据库系统、数据库管理系统,1.1.2,数据库技术的生产与发展,1.1.3,数据库技术的研究领域,1.1.2,数据管理技术的产生和发展,什么是数据管理,对数据进行分类、组织、编码、存储、检索和维护,是数据处理的中心问题。,数据管理技术的发展过程,人工管理阶段,(40,年代中,-50,年代中,),文件系统阶段,(50,年代末,-60,年代中,),数据库系统阶段,(60,年代末,-,现在,),数据管理技术的产生和发展,(,续,),数据管理技术的发展动力,应用需求的推动,计算机硬件的发展,计算机软件的发展,一、人工管理,时期,40,年代中,-50,年代中,产生的背景,应用需求科学计算,硬件水平无直接存取存储设备,软件水平没有操作系统,处理方式批处理,人工管理,(,续,),特点,1,数据的管理者:应用程序,数据不保存。,人工管理,(,续,),特点,2,数据面向的对象:某一应用程序,应用程序与数据的对应关系图,应用程序,数据集,应用程序,数据集,应用程序,数据集,n,.,.,人工管理,(,续,),特点,3,数据的共享程度:无共享、冗余度极大,数据的独立性:不独立,完全依赖于程序,数据的结构化:无结构,数据控制能力:应用程序自己控制,二、文件系统,时期,50,年代末,-60,年代中,产生的背景,应用需求科学计算、管理,硬件水平磁盘、磁鼓,软件水平有文件系统,处理方式联机实时处理、批处理,文件系统,(,续,),特点,1,数据的管理者:文件系统,数据可长期保存,应用程序与数据的对应关系,(,文件系统,),特点,2,数据面向的对象:某一应用程序,应用程序与数据的对应关系,应用程序,文件,应用程序,文件,2,应用程序,文件,n,存取方法,.,.,文件系统,(,续,),特点,3,数据的共享程度:共享性差、冗余度大,文件系统,(,续,),特点,4,数据的结构化:记录内有结构,整体无结构,文件系统中数据的结构,记录内有结构,学生人事记录,数据的结构是靠程序定义和解释的。,学号,姓名,性别,系别,年龄,政治面貌,家庭出身,籍贯,家庭成员,奖惩情况,文件系统,(,续,),数据一般是定长的。,可以间接实现数据变长要求,但访问相应数据的应用程序复杂了。,学生人事主记录,学号,姓名,性别,系别,年龄,政治面貌,家庭出身,籍贯,家庭成员,奖惩情况,姓名,与本人关系,详细情况,日期,奖惩条目,家庭成员记录,奖惩情况记录,文件系统,(,续,),900201,李明,男,计算机,24,共青团员,工人,江苏无锡,李义山,父子,李平,兄弟,1991,吴玉章奖学金,1991,一等奖学金,张玉,母子,家庭成员记录,奖惩情况记录,文件间是独立的,因此数据整体无结构。,间接实现数据整体的有结构也比较困难。,数据的最小存取,单位,是记录。,文件系统,(,续,),特点,5,数据的独立性:独立性差,数据的逻辑结构,改变必须修改应用程序,数据控制能力:应用程序自己控制,三、数据库系统,时期,60,年代末以来,产生的背景,应用背景大规模管理,硬件背景大容量磁盘,软件背景有数据库管理系统,处理方式联机实时处理,分布处理,批处理,数据库系统,(,续,),特点,1,数据的管理者:,DBMS,数据库系统,(,续,),特点,2,数据面向的对象:现实世界,应用程序与数据的对应关系,DBMS,应用程序,1,应用程序,2,数据库,数据库系统,(,续,),特点,3,数据的共享程度:共享性高,数据的高共享性的好处,降低数据的冗余度,节省存储空间,避免数据间的不一致性,使系统易于扩充,数据库系统,(,续,),特点,4,数据的独立性:高度的物理独立性和一定的逻辑独立性,数据的物理独立性,指用户的应用程序与存储在磁盘上的数据库中数据是相互独立的。当数据的物理存储改变了,应用程序不用改变。,数据的逻辑独立性,指用户的应用程序与数据库的逻辑结构是相互独立的。数据的逻辑结构改变了,用户程序也可以不变。,数据库系统,(,续,),特点,5,数据的结构化:整体结构化,数据结构化,整体数据的结构化是数据库的主要特征之一。,数据库中实现的是数据的真正结构化,数据的结构用数据模型描述,无需程序定义和解释。,数据可以变长。,数据的最小存取单位是数据项。,数据库系统,(,续,),特点,6,数据控制能力:由,DBMS,统一管理和控制,DBMS,对数据的控制功能,数据的安全性(,Security,),保护,使每个用户只能按指定方式使用和处理指定数据,保护数据以防止不合法的使用造成的数据的泄密和破坏。,数据的完整性(,Integrity,),检查,将数据控制在有效的范围内,或保证数据之间满足一定的关系。,DBMS,对数据的控制功能(续),并发(,Concurrency,),控制,对多用户的并发操作加以控制和协调,防止相互干扰而得到错误的结果。,数据库恢复(,Recovery,),将数据库从错误状态恢复到某一已知的正确状态。,1.1,引言,1.1.1,数据、数据库、数据库系统、数据库管理系统,1.1.2,数据库技术的生产与发展,1.1.3,数据库技术的研究领域,1.1.3,数据库技术的研究领域,数据库管理系统软件的研制,数据库设计,数据库理论,数据库管理系统软件的研制,DBMS,本身,以,DBMS,为核心的一组相互联系的软件系统,工具软件,中间件,数据库设计,数据库设计方法,设计工具,设计理论,数据模型和数据建模,数据库理论,关系的规范化理论,关系数据理论,第,1,章 绪论,1.1,引言,1.2,数据模型,1.3,数据库系统结构,1.4,数据库管理系统,1.5,数据库工程与应用,1.6,小结,1.2,数据模型,1.2.1,数据模型的要素,1.2.2,概念模型,1.2.3,数据模型,数据模型,在数据库中用数据模型这个工具来抽象、表示和处理现实世界中的数据和信息。通俗地讲数据模型就是现实世界的模拟。,数据模型应满足三方面要求,能比较真实地模拟现实世界,容易为人所理解,便于在计算机上实现,数据模型,(,续,),数据模型分成两个不同的层次,(1),概念模型,也称信息模型,它是按,用户,的观点来对数据和信息建模。,(2),数据模型,主要包括网状模型、层次模型、关系模型等,它是按,计算机系统,的观点对数据建模。,数据模型,(,续,),客观对象的抽象过程,-,两步抽象,现实世界中的客观对象抽象为概念模型;,把概念模型转换为某一,DBMS,支持的数据模型。,概念模型是现实世界到机器世界的一个中间层次。,1.2,数据模型,1.2.1,数据模型的要素,1.2.2,概念模型,1.2.3,数据模型,1.2.1,数据模型的要素,数据结构,数据操作,数据的约束条件,1.,数据结构,什么是数据结构,对象类型的集合,两类对象,与数据类型、内容、性质有关的对象,与数据之间联系有关的对象,数据结构是对系统静态特性的描述,2.,数据操作,数据操作,对数据库中各种对象(型)的实例(值)允许执行的,操作,及有关的,操作规则,数据操作的类型,检索,更新(包括插入、删除、修改),数据操作,(,续,),数据模型对操作的定义,操作的确切含义,操作符号,操作规则(如优先级),实现操作的语言,数据操作是对系统动态特性的描述。,3.,数据的约束条件,数据的约束条件,一组完整性规则的集合。,完整性规则是给定的数据模型中数据及其联系所具有的制约和储存规则,用以限定符合数据模型的数据库状态以及状态的变化,以保证数据的正确、有效、相容。,数据的约束条件,(,续,),数据模型对约束条件的定义,反映和规定本,数据模型,必须遵守的基本的通用的完整性约束条件。例如在关系模型中,任何关系必须满足实体完整性和参照完整性两个条件。,提供定义完整性约束条件的机制,以反映,具体应用,所涉及的数据必须遵守的特定的语义约束条件。,1.2,数据模型,1.2.1,数据模型的要素,1.2.2,概念模型,1.2.3,数据模型,1.2.2,概念模型,1.,概念模型,2.,信息世界中的基本概念,3.,概念模型的表示方法,1.,概念模型,概念模型的用途,概念模型用于信息世界的建模,是现实世界到机器世界的一个中间层次,是数据库设计的有力工具,数据库设计人员和用户之间进行交流的语言,对概念模型的基本要求,较强的语义表达能力,能够方便、直接地表达应用中的各种语义知识,简单、清晰、易于用户理解,2.,信息世界中的基本概念,(1),实体(,Entity,),客观存在并可相互区别的事物称为实体。,可以是具体的人、事、物或抽象的概念。,(2),属性(,Attribute,),实体所具有的某一特性称为属性。,一个实体可以由若干个属性来刻画。,(3),码(,Key,),唯一标识实体的属性集称为码。,信息世界中的基本概念,(,续,),(4),域(,Domain,),属性的取值范围称为该属性的域。,(5),实体型(,Entity Type,),用实体名及其属性名集合来抽象和刻画同类实体称为实体型。,(6),实体集(,Entity Set,),同型实体的集合称为实体集。,信息世界中的基本概念,(,续,),(7),联系(,Relationship,),现实世界中事物内部以及事物之间的联系在信息世界中反映为实体内部的联系和实体之间的联系。,实体内部的联系:组成实体的各属性之间的联系,实体之间的联系:不同实体集之间的联系,三类实体型间联系,一对一联系(,1:1,),一对多联系(,1:n,),多对多联系(,m:n,),两个实体型间的联系,一对一联系,如果对于实体集,A,中的每一个实体,实体集,B,中至多有一个实体与之联系,反之亦然,则称实体集,A,与实体集,B,具有一对一联系。记为,1:1,。,实例,班级与班长之间的联系:一个班级只有一个正班长,而一个班长只在一个班中任职,两个实体型间的联系,(,续,),一对多联系,如果对于实体集,A,中的每一个实体,实体集,B,中有,n,个实体(,n0,),与之联系,反之,对于实体集,B,中的每一个实体,实体集,A,中至多只有一个实体与之联系,则称实体集,A,与实体,B,有一对多联系。记为,1:n,实例,班级与学生之间的联系:一个班级中有若干名学生,而每个学生只在一个班级中学习,两个实体型间的联系,(,续,),多对多联系(,m:n,),如果对于实体集,A,中的每一个实体,实体集,B,中有,n,个实体(,n0,),与之联系,反之,对于实体集,B,中的每一个实体,实体集,A,中也有,m,个实体(,m0,),与之联系,则称实体集,A,与实体,B,具有多对多联系。记为,m:n,实例,课程与学生之间的联系:一门课程同时有若干个学生选修,而一个学生可以同时选修多门课程,联系的表示方法示例,班级,班级,-,班长,班长,1,1,1:1,联系,课程,选修,学生,m,n,m:n,联系,班级,组成,学生,1,n,1:n,联系,实体型间联系,(,续,),三类联系之间的关系,m:n,联系,1:1,联系,1:,n,联系,特,例,特,例,特,例,多个实体型间的联系,多个实体型之间的联系,一对一联系,一对多联系,多对多联系,多个实体型间的联系,(,续,),多个实体型间的一对多联系,若实体集,E,1,,,E,2,,,.,,,E,n,存在联系,对于实体集,E,j,(,j=1,,,2,,,.,,,i-1,,,i+1,,,.,,,n,),中的给定实体,最多只和,E,i,中的一个实体相联系,则我们说,E,i,与,E,1,,,E,2,,,.,,,E,i-1,,,E,i+1,,,.,,,E,n,之间的联系是一对多的。,多个实体型间的联系,(,续,),多个实体型间的一对多联系,(,续,),实例,对于课程、教师与参考书三个实体型,如果一门课程可以有若干个教师讲授,使用若干本参考书,而每一个教师只讲授一门课程,每一本参考书只供一门课程使用,则课程与教师、参考书之间的联系是一对多的,多个实体型间的一对一联系,多个实体型间的多对多联系,联系的表示方法示例,(,续,),职工,领导,1,n,同一实体型内部的,1:n,联系,课程,讲授,教师,1,m,多个实体型间的,1:n,联系,参考书,n,同一实体集内各实体间的联系,一对多联系,实例,职工实体集内部具有领导与被领导的联系,即某一职工(干部)“领导”若干名职工,而一个职工仅被另外一个职工直接领导,因此这是一对多的联系,一对一联系,多对多联系,3.,概念模型的表示方法,概念模型的表示方法很多,实体联系方法,(E-R,方法,),是最为常用的概念模型表示方法。,用,E-R,图来描述现实世界的概念模型。,E-R,方法也称为,E-R,模型。,E-R图,实体型,用矩形表示,矩形框内写明实体名。,学生,教师,E-R,图,(,续,),属性,用椭圆形表示,并用无向边将其与相应的实体连接起来,学生,学号,年龄,性别,姓名,E-R,图,(,续,),联系,联系本身,:用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型(,1:1,、,1:n,或,m:n,),联系的表示方法,实体型1,联系名,实体型,2,1,1,1:1联系,实体型1,联系名,实体型,2,m,n,m:n,联系,实体型1,联系名,实体型,2,1,n,1:,n,联系,联系的表示方法,(,续,),实体型1,联系名,m,n,同一实体型内部的,m:n,联系,实体型1,联系名,实体型,2,1,m,多个实体型间的1:,n,联系,实体型,3,n,联系的表示方法示例,班级,班级,-,班长,班长,1,1,1:1,联系,课程,选修,学生,m,n,m:n,联系,班级,组成,学生,1,n,1:n,联系,联系的表示方法示例,(,续,),职工,领导,1,n,同一实体型内部的,1:n,联系,课程,讲授,教师,1,m,多个实体型间的,1:n,联系,参考书,n,E-R,图,(,续,),联系,联系的属性,:联系本身也是一种实体型,也可以有属性。如果一个联系具有属性,则这些属性也要用无向边与该联系连接起来。,联系属性的表示方法,课程,选修,学生,m,n,成绩,六、一个实例,用,E-R,图表示某个工厂物资管理的概念模型,实体,仓库: 仓库号、面积、电话号码,零件 :零件号、名称、规格、单价、描述,供应商:供应商号、姓名、地址、电话号码、帐号,项目:项目号、预算、开工日期,职工:职工号、姓名、年龄、职称,实体之间的联系如下:,一个仓库可以存放多种零件,一种零件可以存放在多个仓库中。仓库和零件具有多对多的联系。用库存量来表示某种零件在某个仓库中的数量。,一个仓库有多个职工当仓库保管员,一个职工只能在一个仓库工作,仓库和职工之间是一对多的联系。职工实体型中具有一对多的联系,职工之间具有领导,-,被领导关系。即仓库主任领导若干保管员。,供应商、项目和零件三者之间具有多对多的联系,一个实例,1.2,数据模型,1.2.1,数据模型的要素,1.2.2,概念模型,1.2.3,数据模型,1.2.3,数据模型,一、层次数据模型,二、网状数据模型,三、关系数据模型,1.2.3,数据模型,非关系模型,种类,层次模型(,Hierarchical Model,),网状模型,(Network Model ),数据结构:以,基本层次联系,为基本单位,基本层次联系:两个记录以及它们之间的一对多(包括一对一,),的联系,数据模型,(,续,),关系模型,(Relational Model),数据结构:,表,面向对象模型,(Object Oriented Model,),数据结构:,对象,1.2.3,数据模型,一、层次数据模型,二、网状数据模型,三、关系数据模型,层次模型,1.,层次数据模型的数据结构,2.,层次数据模型的数据操纵,3.,层次数据模型的完整性约束,4.,层次数据模型的存储结构,5.,层次数据模型的优缺点,6.,典型的层次数据库系统,1.,层次数据模型的数据结构,层次模型,满足下面两个条件的,基本层次联系,的集合为层次模型。,1.,有且只有一个结点没有双亲结点,这个结点称为根结点,2.,根以外的其它结点有且只有一个双亲结点,层次模型中的几个术语,根结点,双亲结点,兄弟结点,,,叶结点,层次数据模型的数据结构,(,续),1,根结点,2,兄弟结点,3,叶结点,4,兄弟结点,5,叶结点,叶结点,层次数据模型的数据结构,(,续),表示方法,实体型,:用记录类型描述。每个结点表示一个记录类型。,属性,:用字段描述。每个记录类型可包含若干个字段。,联系,:用结点之间的连线表示记录(类)型之间的一对多的联系。,层次数据模型的数据结构,(,续),特点,结点的双亲是唯一的,只能直接处理一对多的实体联系,每个记录类型定义一个排序字段,也称为码字段,任何记录值只有按其路径查看时,才能显出它的全部意义,没有一个子女记录值能够脱离双亲记录值而独立存在,层次数据模型的数据结构,(,续),多对多联系在层次模型中的表示,用层次模型间接表示多对多联系,表示方法,将多对多联系分解成一对多联系,分解方法,冗余结点法,虚拟结点法,2.,层次模型的数据操纵,查询,插入,删除,更新,3.,层次模型的完整性约束,无相应的双亲结点值就不能插入子女结点值,如果删除双亲结点值,则相应的子女结点值也被同时删除,更新操作时,应更新所有相应记录,以保证数据的一致性,4.,层次数据模型的存储结构,邻接法,按照层次树前序遍历的顺序把所有记录值依次邻接存放,即通过物理空间的位置相邻来实现层次顺序。,链接法,用指引元来反映数据之间的层次联系,子女兄弟链接法,P18,层次序列链接法,P18,D02,R01,E2101,E1709,E3501,R02,R03,E1101,E3102,S63871,S63874,S63876,5.,层次模型的优缺点,优点,层次数据模型简单,对具有一对多的层次关系的部门描述自然、直观,容易理解,性能优于关系模型,不低于网状模型,层次数据模型提供了良好的完整性支持,层次模型的优缺点(续),缺点,多对多联系表示不自然,对插入和删除操作的限制多,查询子女结点必须通过双亲结点,层次命令趋于程序化,6.,典型的层次数据库系统,IMS,数据库管理系统,第一个大型商用,DBMS,1968,年推出,IBM,公司研制,1.2.3,数据模型,一、层次数据模型,二、网状数据模型,三、关系数据模型,网状模型,1.,网状数据模型的数据结构,2.,网状数据模型的数据操纵,3.,网状数据模型的完整性约束,4.,网状数据模型的存储结构,5.,网状数据模型的优缺点,6.,典型的网状数据库系统,1.,网状数据模型的数据结构,网状模型,满足下面两个条件的基本层次联系的集合为网状模型。,1.,允许一个以上的结点无双亲;,2.,一个结点可以有多于一个的双亲。,网状数据模型的数据结构,(,续),表示方法(与层次数据模型相同),实体型,:用记录类型描述。每个结点表示一个记录类型。,属性,:用字段描述。每个记录类型可包含若干个字段。,联系,:用结点之间的连线表示记录(类)型之间的一对多的父子联系。,网状数据模型的数据结构,(,续),特点,只能直接处理一对多的实体联系,每个记录类型定义一个排序字段,也称为码字段,任何记录值只有按其路径查看时,才能显出它的全部意义,网状数据模型的数据结构,(,续),网状模型与层次模型的区别,网状模型允许多个结点没有双亲结点,网状模型允许结点有多个双亲结点,网状模型允许两个结点之间有多种联系(复合联系),网状模型可以更直接地去描述现实世界,层次模型实际上是网状模型的一个特例,网状数据模型的数据结构,(,续),1,2,R3,L1 L2,R1,R2,L3,L1 L2,R3,L4,R4,R5,网状数据模型的数据结构,(,续),1,L1 L2,R2,网状数据模型的数据结构,(,续),学生宿舍,学生,教研室,系,教师,网状数据模型的数据结构,(,续),父亲,人,独生子女,树,种植,砍伐,养育,赡养,网状数据模型的数据结构,(,续),父亲关系,男人,网状数据模型的数据结构,(,续),多对多联系在网状模型中的表示,用网状模型间接表示多对多联系,表示方法,将多对多联系,直接,分解成一对多联系,2.,网状模型的数据操纵,查询,插入,删除,更新,3.,网状数据模型的完整性约束,完整性约束条件不严格,允许插入尚未确定双亲结点值的子女结点值,允许只删除双亲结点值,网状数据模型的完整性约束,(,续,),具体的网状数据库系统(如,DBTG,),对数据操纵加了一些限制,提供了一定的完整性约束。,码,属籍类别,加入类别,(,自动的,手工的,),移出类别,(,固定的,必须的,随意的,),4.,网状数据模型的存储结构,关键,实现记录之间的联系,常用方法,单向链接,双向链接,环状链接,向首链接,例:,P29,5.,网状模型的优缺点,优点,能够更为直接地描述现实世界,如一个结点可以有多个双亲,具有良好的性能,存取效率较高,网状模型的优缺点(续),缺点,结构比较复杂,而且随着应用环境的扩大,数据库的结构就变得越来越复杂,不利于最终用户掌握,DDL,、,DML,语言复杂,用户不容易使用,6.,典型的网状数据库系统,DBTG,系统,亦称,CODASYL,系统,由,DBTG,提出的一个系统方案,奠定了数据库系统的基本概念、方法和技术,70,年代推出,实际系统,Cullinet,Software Inc.,公司的,IDMS,Univac,公司的,DMS1100,Honeywell,公司的,IDS/2,HP,公司的,IMAGE,1.2.3,数据模型,一、层次数据模型,二、网状数据模型,三、关系数据模型,关系模型,1.,关系数据模型的数据结构,2.,关系数据模型的操纵,3.,关系数据模型的完整性约束,4.,关系数据模型的存储结构,5.,关系数据模型的优缺点,6.,典型的关系数据库系统,关系模型,最重要的一种数据模型。也是目前主要采用的数据模型,1970,年由美国,IBM,公司,San Jose,研究室的研究员,E.F.Codd,提出,本课程的重点,1.,关系数据模型的数据结构,关系模型的基本数据结构,关系模型的基本概念,实体及实体间的联系的表示方法,关系必须是规范化的,关系数据模型的数据结构,(,续,),关系模型的基本数据结构,在用户观点下,关系模型中数据的逻辑结构是一张二维表,它由行和列组成。,关系数据模型的数据结构,(,续),关系模型的基本概念,关系(,Relation,):,一个关系对应通常说的一张表。,元组(,Tuple,),表中的一行即为一个元组。,属性(,Attribute,),表中的一列即为一个属性,给每一个属性起一个名称即属性名。,关系数据模型的数据结构,(,续),关系模型的基本概念(续),主码(,Key,),表中的某个属性组,它可以唯一确定一个元组。,域(,Domain,),属性的取值范围。,分量,元组中的一个属性值。,关系数据模型的数据结构,(,续),关系模型的基本概念(续),关系模式,对关系的描述,表示方法,关系名(属性,1,,属性,2,,,,属性,n,),例如:,学生(学号,姓名,年龄,性别,系,年级),关系数据模型的数据结构,(,续),实体及实体间的联系的表示方法,实体型,:直接用关系(表)表示。,属性,:用属性名表示。,一对一联系,:隐含在实体对应的关系中。,一对多联系,:隐含在实体对应的关系中。,多对多联系,:直接用关系表示。,关系数据模型的数据结构,(,续),例,1,学生、系、系与学生之间的一对多联系:,学生(学号,姓名,年龄,性别,系号,年级),系,(,系号,系名,办公地点,),例,2,系、系主任、系与系主任间的一对一联系,关系数据模型的数据结构,(,续),例,3,学生、课程、学生与课程之间的多对多联系:,学生(学号,姓名,年龄,性别,系号,年级),课程(课程号,课程名,学分),选修(学号,课程号,成绩),关系数据模型的数据结构,(,续),关系必须是规范化的,即必须满足一定的规范条件,最基本的规范条件:关系的每一个分量必须是一个不可分的数据项。,2.,关系模型的数据操纵,查询、插入、删除、更新,数据操作是集合操作,操作对象和操作结果都是关系,即若干元组的集合,存取路径对用户隐蔽,用户只要指出“干什么”,不必详细说明“怎么干”,3.,关系模型的完整性约束,实体完整性,参照完整性,用户定义的完整性,4.,关系数据模型的存储结构,表以文件形式存储,有的,DBMS,一个表对应一个操作系统文件,有的,DBMS,自己设计文件结构,5.,关系模型的优缺点,优点,建立在严格的数学概念的基础上,概念单一。数据结构简单、清晰,用户易懂易用,实体和各类联系都用关系来表示。,对数据的检索结果也是关系。,关系模型的存取路径对用户透明,具有更高的数据独立性,更好的安全保密性,简化了程序员的工作和数据库开发建立的工作,关系模型的优缺点(续),缺点,存取路径对用户透明导致查询效率往往不如非关系数据模型,为提高性能,必须对用户的查询请求进行优化,增加了开发数据库管理系统的难度,6.,典型的关系数据库系统,ORACLE,SYBASE,DB/2,SQL Server,INFORMIX,COBASE,PBASE,EasyBase,KingBase,小金灵,DM/4,OpenBase,第,1,章 绪论,1.1,引言,1.2,数据模型,1.3,数据库系统结构,1.4,数据库管理系统,1.5,数据库工程与应用,1.6,小结,1.3,数据库系统结构,1.3.1,数据库系统的模式结构,从数据库管理系统角度看,1.3.2,数据库系统的体系结构,从数据库最终用户角度看,1.3,数据库系统结构,1.3.1,数据库系统的模式结构,从数据库管理系统角度看,1.3.2,数据库系统的体系结构,从数据库最终用户角度看,1.3.1,数据库系统的模式结构,数据库系统模式的概念,数据库系统的三级模式结构,数据库的二级映象功能与数据独立性,小结,1.3.1,数据库系统的模式结构,数据库系统模式的概念,数据库系统的三级模式结构,数据库的二级映象功能与数据独立性,小结,数据库系统模式的概念,“型” 和“值” 的概念,型,(,Type,),对某一类数据的结构和属性的说明,值,(,Value,),是型的一个具体赋值,例如:学生记录,记录型:,(学号,姓名,性别,系别,年龄,籍贯),该记录型的一个记录值:,(,900201,,李明,男,计算机,,22,,江苏),数据库系统模式的概念(续),模式的概念,模式(,Schema,),数据库逻辑结构和特征的描述,是型的描述,反映的是数据的结构及其联系,模式是相对稳定的,数据库系统模式的概念(续),模式的概念(续),模式的一个实例(,Instance,),模式的一个具体值,反映数据库某一时刻的状态,同一个模式可以有很多实例,实例随数据库中的数据的更新而变动,1.3.1,数据库系统的模式结构,数据库系统模式的概念,数据库系统的三级模式结构,数据库的二级映象功能与数据独立性,小结,数据库系统的三级模式结构,数据库,1,模式(,Schema,),模式(也称逻辑模式),数据库中,全体数据,的逻辑结构和特征的描述,所有用户的,公共,数据视图,综合了所有用户的需求,一个数据库只有一个模式,模式的地位:是数据库系统模式结构的中间层,与数据的物理存储细节和硬件环境无关,与具体的应用程序、开发工具及高级程序设计语言无关,模式的定义,数据的逻辑结构(数据项的名字、类型、取值范围等),数据之间的联系,数据有关的安全性、完整性要求,2.,外模式(,External Schema,),外模式(也称子模式或用户模式),数据库用户(包括应用程序员和最终用户)使用的,局部,数据的逻辑结构和特征的描述,数据库用户的数据视图,是与某一应用有关的数据的逻辑表示,外模式(续,),外模式的地位:介于模式与应用之间,模式与外模式的关系:一对多,外模式通常是模式的子集,一个数据库可以有多个外模式。反映了不同的用户的应用需求、看待数据的方式、对数据保密的要求,对模式中同一数据,在外模式中的结构、类型、长度、保密级别等都可以不同,外模式与应用的关系:一对多,同一外模式也可以为某一用户的多个应用系统所使用,,但一个应用程序只能使用一个外模式。,外模式(续),外模式的用途,保证数据库安全性的一个有力措施。每个用户只能看见和访问所对应的外模式中的数据,保证数据独立性的一个有力措施。,3,内模式(,Internal Schema,),内模式(也称存储模式,),是数据物理结构和存储方式的描述,是数据在数据库内部的表示方式,记录的存储方式(顺序存储,按照,B,树结构存储,按,hash,方法存储),索引的组织方式,数据是否压缩存储,数据是否加密,数据存储记录结构的规定,一个数据库只有一个内模式,1.3.1,数据库系统的模式结构,数据库系统模式的概念,数据库系统的三级模式结构,数据库的二级映象功能与数据独立性,小结,三级模式与二级映象,三级模式是对数据的三个抽象级别,二级映象在,DBMS,内部实现这三个抽象层次的联系和转换,二级映象功能,1,外模式模式映象,2,模式内模式映象,1,外模式模式映象,什么是外模式模式映象,定义外模式与模式之间的对应关系,每一个外模式都对应一个外模式模式映象,映象定义通常包含在各自外模式的描述中,外模式模式映象(续),外模式模式映象的用途:保证数据的逻辑独立性,当模式改变时,数据库管理员修改有关的外模式模式映象,使外模式保持不变,应用程序是依据数据的外模式编写的,从而应用程序不必修改,保证了数据与程序的逻辑独立性,简称数据的逻辑独立性。,2,模式内模式映象,什么是模式内模式映象,模式内模式映象定义了数据全局逻辑结构与存储结构之间的对应关系。例如,说明逻辑记录和字段在内部是如何表示的,数据库中模式内模式映象是唯一的,该映象定义通常包含在模式描述中,模式内模式映象(续),模式内模式映象的用途:保证数据的物理独立性,当数据库的存储结构改变了(例如选用了另一种存储结构),数据库管理员修改模式内模式映象,使模式保持不变,应用程序不受影响。保证了数据与程序的物理独立性,简称数据的物理独立性。,1.3.1,数据库系统的模式结构,数据库系统模式的概念,数据库系统的三级模式结构,数据库的二级映象功能与数据独立性,小结,小结,数据库,小结(续),模式,是数据库的中心与关键,独立于数据库的其它层次,设计数据库模式结构时应首先确定数据库的逻辑模式,小结(续),内模式,依赖于全局逻辑结构,但独立于数据库的用户视图即外模式,也独立于具体的存储设备。,它将全局逻辑结构中所定义的数据结构及其联系按照一定的物理存储策略进行组织,以达到较好的时间与空间效率。,小结(续),外模式,面向具体的应用程序,定义在逻辑模式之上,但独立于存储模式和存储设备,设计外模式时应充分考虑到应用的扩充性。当应用需求发生较大变化,相应外模式不能满足其视图要求时,该外模式就得做相应改动,小结(续),应用程序,在外模式描述的数据结构上编制的,它依赖于特定的外模式,与数据库的模式和存储结构独立。,不同的应用程序有时可以共用同一个外模式。,小结(续),二级映象,保证了数据库外模式的稳定性,从而从底层保证了应用程序的稳定性,除非应用需求本身发生变化,否则应用程序一般不需要修改。,数据与程序之间的独立性,使得数据的定义和描述可以从应用程序中分离出去。,数据库特点与数据库的模式结构,1.3,数据库系统结构,1.3.1,数据库系统内部的模式结构,从数据库管理系统角度看,1.3.2,数据库系统外部的体系结构,从数据库最终用户角度看,1.3.2,数据库系统外部的体系结构,单用户结构,主从式结构,分布式结构,客户服务器结构,1.,单用户数据库系统,整个数据库系统,(,应用程序、,DBMS,、,数据,),都装在一台计算机上,为一个用户独占,不同机器之间不能共享数据。,早期的最简单的数据库系统,2.,主从式结构的数据库系统,一个主机带多个终端的多用户结构,数据库系统,包括应用程序、,DBMS,、,数据,都集中存放在主机上,所有处理任务都由主机来完成,各个用户通过主机的终端并发地存取数据库,共享数据资源。,主从式结构的数据库系统,(,续),优点,简单,数据易于管理与维护。,缺点,当终端用户数目增加到一定程度后,主机的任务会过分繁重,成为瓶颈,从而使系统性能大幅度下降。,系统的可靠性不高,当主机出现故障时,整个系统都不能使用。,3.,分布式结构的数据库系统,数据库中的数据在逻辑上是一个整体,但物理地分布在计算机网络的不同结点上。,网络中的每个结点都可以独立处理本地数据库中的数据,执行局部应用,同时也可以同时存取和处理多个异地数据库中的数据,执行全局应用,分布式结构的数据库系统(续),优点,适应了地理上分散的公司、团体和组织对于数据库应用的需求。,缺点,数据的分布存放给数据的处理、管理与维护带来困难。,当用户需要经常访问远程数据时,系统效率会明显地受到网络交通的制约。,4,客户服务器结构的数据库系统,把,DBMS,功能和应用分开,网络中某个(些)结点上的计算机专门用于执行,DBMS,功能,称为数据库服务器,简称服务器,其他结点上的计算机安装,DBMS,的外围应用开发工具,支持用户的应用,称为客户机,客户服务器结构的数据库系统(续),客户服务器数据库系统的种类,集中的服务器结构,在网络中仅有一台数据库服务器,而客户机是多台,分布的服务器结构,在网络中有多台数据库服务器,分布的服务器结构是客户服务器与分布式数据库的结合,客户服务器结构的数据库系统(续),优点,客户端的用户请求被传送到数据库服务器,数据库服务器进行处理后,只将结果返回给用户,从而显著减少了数据传输量,数据库更加开放,客户与服务器一般都能在多种不同的硬件和软件平台上运行,可以使用不同厂商的数据库应用开发工具,应用程序具有更强的可移植性,同时也可以减少软件维护开销,客户服务器结构的数据库系统(续),缺点,在集中的服务器结构中,一个数据库服务器要为众多的客户服务,往往容易成为瓶颈,制约系统的性能(与主从式结构相似),在分布的服务器结构中数据分布在不同的服务器给数据的处理、管理与维护带来困难(与分布式结构相似),第,1,章 绪论,1.1,引言,1.2,数据模型,1.3,数据库系统结构,1.4,数据库管理系统,1.5,数据库工程与应用,1.6,小结,1.4,数据库管理系统,1.4.1,数据库管理系统的功能与组成,1.4.2,数据库管理系统的工作过程,1.4.3,数据库管理系统的实现方法,1.4,数据库管理系统,1.4.1,数据库管理系统的功能与组成,1.4.2,数据库管理系统的工作过程,1.4.3,数据库管理系统的实现方法,1.4.1,数据库管理系统的功能与组成,1.,数据定义,2.,数据操纵,3.,数据库运行管理,4.,数据组织、存储和管理,5.,数据库的建立和维护,6.,数据通信接口,1.,数据定义,定义构成数据库结构的模式、存储模式和外模式,定义各个外模式与模式之间的映射,定义模式与存储模式之间的映射,定义有关的约束条件,2.,数据操纵,检索,插入,修改,删除,3.,数据库运行管理,对数据库的运行管理是,DBMS,运行时的核心部分,包括对数据库进行并发控制、安全性检查、完整性约束条件的检查和执行、数据库的内部维护等。,所有访问数据库的操作都要在这些控制程序的统一管理下进行,以保证数据的安全性、完整性、一致性以及多用户对数据库的并发使用。,4.,数据组织、存储和管理,数据库中需要存放多种数据,如数据字典、用户数据、存取路径等。,DBMS,负责分门别类地组织、存储和管理这些数据,确定以何种文件结构和存取方式物理地组织这些数据,如何实现数据之间的联系,以便提高存储空间利用率以及提高随机查找、顺序查找、增、删、改等操作的时间效率。,5.,数据库的建立和维护,建立数据库包括数据库初始数据的输入与数据转换等。,维护数据库包括数据库的转储与恢复、数据库的重组织与重构造、性能的监视与分析等。,6.,数据通信接口,DBMS,需要提供与其他软件系统进行通信的功能,DBMS,组成,数据定义的语言及其翻译处理程序,数据操纵语言及其编译(或解释)程序,数据库运行控制程序,使用程序,1.4,数据库管理系统,1.4.1,数据库管理系统的功能与组成,1.4.2,数据库管理系统的工作过程,1.4.3,数据库管理系统的实现方法,1.4.2,数据库管理系统的工作过程,存取数据库中数据时,应用程序、,DBMS,、操作系统、硬件等几个方面协同工作。,这是一个较为复杂的过程,其中,DBMS,起关键作用,1.4.2,数据库管理系统的工作过程(续),应用程序(用户)从数据库中读取数据的步骤:,应用程序,A,向,DBMS,发出从数据库读数据记录的命令,DBMS,对该命令进行语法检查、语义检查,并调用应用程序,A,对应的子模式,检查,A,的存取权限,决定是否执行该命令。如果拒绝执行,则向用户返回错误信息,在决定执行该命令后,,DBMS,调用模式,依据模式,/,模式映象的定义,确定应读入模式中的哪些记录,1.4.2,数据库管理系统的工作过程(续),DBMS,调用物理模式,依据模式,/,物理模式映象的定义,决定应从哪个文件、用什么存取方式、读入哪个或哪些物理记录,DBMS,向操作系统发出执行读取所需物理记录的命令,操作系统执行读数据的有关操作,操作系统将数据从数据库的存储区送至缓冲区,1.4.2,数据库管理系统的工作过程(续),DBMS,依据子模式,/,模式映象的定义,导出应用程序,A,所要读取的记录格式,DBMX,将数据记录从系统缓冲区传送到应用程序,A,的用户工作区,DBMS,向应用程序,A,返回命令执行情况的状态信息,1.4,数据库管理系统,1.4.1,数据库管理系统的功能与组成,1.4.2,数据库管理系统的工作过程,1.4.3,数据库管理系统的实现方法,第,1,章 绪论,1.1,引言,1.2,数据模型,1.3,数据库系统结构,1.4,数据库管理系统,1.5,数据库工程与应用,1.6,小结,1.5,数据库工程与应用,1.5.1,数据库设计的目标与特点,1.5.2,数据库设计方法,1.5.3,数据库设计步骤,1.5.4,数据库应用,1.5,数据库工程与应用,1.5.1,数据库设计的目标与特点,1.5.2,数据库设计方法,1.5.3,数据库设计步骤,1.5.4,数据库应用,1.5.1,数据库设计的目标与特点,数据库设计的任务是在,DBMS,的支持下,按照应用的要求,为某一部门或组织设计一个结构合理、使用方便、效率较高的数据机器应用系统,数据库设计包含两方面内容,结构(数据)设计,也就是设计数据库框架或数据库,行为(处理)设计,即设计应用程序、事务处理等,1.5,数据库工程与应用,1.5.1,数据库设计的目标与特点,1.5.2,数据库设计方法,1.5.3,数据库设计步骤,1.5.4,数据库应用,1.5.2,数据库设计方法,使用工程化的规范设计方法,核心与关键是设计逻辑数据库设计和物理数据库设计,逻辑数据库设计是根据用户要求和特定数据库管理系统的具体特点,以数据库设计理论为依据,设计数据库的全局逻辑结构和每个用户的局部逻辑结构。,物理数据库设计是在逻辑结构确定之后,设计数据库的存储结构及其他实现细节,数据库设计方法(续),各种设计方法在设计步骤上的划分上存在差异,各有自己的特点和局限,例如新奥尔良方法和,S.B.Yao,方法,有一些为数据库设计不同阶段提供的具体实现技术与实现方法,例如基于,E,R,模型方法、基于,3NF,(第三范式)方法、基于抽象语法规范的方法,规范设计法在具体使用中分为两类,手工设计,计算机辅助数据库设计,1.5,数据库工程与应用,1.5.1,数据库设计的目标与特点,1.5.2,数据库设计方法,1.5.3,数据库设计步骤,1.5.4,数据库应用,1.5.3,数据库设计步骤,需求,分析,概念结,构设计,数据库运,行和维护,数据库,实施,数据库,物理设计,逻辑结,构设计,需求说明与,数据说明,概念结构,逻,辑,结,构,物理结构,数据库系统,1.5,数据库工程与应用,1.5.1,数据库设计的目标与特点,1.5.2,数据库设计方法,1.5.3,数据库设计步骤,
展开阅读全文