数据库清华版1章绪论.ppt
课程名称:数据库系统概论课 时:72任课教师:陈红,内容安排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 MD S编 统译 系,作 系操 统,硬件,1.1 引言,1.1.1 数据、数据库、数据库系统、数据库管理系统1.1.2 数据库技术的生产与发展1.1.3 数据库技术的研究领域,1.1.2 数据管理技术的产生和发展,什么是数据管理对数据进行分类、组织、编码、存储、检索和维护,是数据处理的中心问题。数据管理技术的发展过程人工管理阶段(40年代中-50年代中)文件系统阶段(50年代末-60年代中)数据库系统阶段(60年代末-现在),数据管理技术的产生和发展(续),数据管理技术的发展动力应用需求的推动计算机硬件的发展计算机软件的发展,一、人工管理,时期40年代中-50年代中产生的背景应用需求科学计算硬件水平无直接存取存储设备软件水平没有操作系统处理方式批处理,人工管理(续),特点1数据的管理者:应用程序,数据不保存。,人工管理(续),特点2数据面向的对象:某一应用程序 应用程序与数据的对应关系图,人工管理(续),特点3数据的共享程度:无共享、冗余度极大数据的独立性:不独立,完全依赖于程序数据的结构化:无结构数据控制能力:应用程序自己控制,二、文件系统,时期50年代末-60年代中产生的背景应用需求科学计算、管理硬件水平磁盘、磁鼓软件水平有文件系统处理方式联机实时处理、批处理,文件系统(续),特点1数据的管理者:文件系统,数据可长期保存,应用程序与数据的对应关系(文件系统),特点2数据面向的对象:某一应用程序 应用程序与数据的对应关系,文件系统(续),特点3数据的共享程度:共享性差、冗余度大,文件系统(续),特点4数据的结构化:记录内有结构,整体无结构文件系统中数据的结构记录内有结构 学生人事记录数据的结构是靠程序定义和解释的。,文件系统(续),数据一般是定长的。可以间接实现数据变长要求,但访问相应数据的应用程序复杂了。学生人事主记录,家庭成员记录,奖惩情况记录,文件系统(续),家庭成员记录,奖惩情况记录,文件间是独立的,因此数据整体无结构。间接实现数据整体的有结构也比较困难。数据的最小存取单位是记录。,文件系统(续),特点5数据的独立性:独立性差,数据的逻辑结构 改变必须修改应用程序数据控制能力:应用程序自己控制,三、数据库系统,时期60年代末以来产生的背景应用背景大规模管理硬件背景大容量磁盘软件背景有数据库管理系统处理方式联机实时处理,分布处理,批处理,数据库系统(续),特点1数据的管理者:DBMS,数据库系统(续),特点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实例 课程与学生之间的联系:一门课程同时有若干个学生选修,而一个学生可以同时选修多门课程,联系的表示方法示例,实体型间联系(续),三类联系之间的关系,多个实体型间的联系,多个实体型之间的联系一对一联系一对多联系多对多联系,多个实体型间的联系(续),多个实体型间的一对多联系若实体集E1,E2,.,En存在联系,对于实体集Ej(j=1,2,.,i-1,i+1,.,n)中的给定实体,最多只和Ei中的一个实体相联系,则我们说Ei与E1,E2,.,Ei-1,Ei+1,.,En之间的联系是一对多的。,多个实体型间的联系(续),多个实体型间的一对多联系(续)实例 对于课程、教师与参考书三个实体型,如果一门课程可以有若干个教师讲授,使用若干本参考书,而每一个教师只讲授一门课程,每一本参考书只供一门课程使用,则课程与教师、参考书之间的联系是一对多的多个实体型间的一对一联系多个实体型间的多对多联系,联系的表示方法示例(续),同一实体集内各实体间的联系,一对多联系实例 职工实体集内部具有领导与被领导的联系,即某一职工(干部)“领导”若干名职工,而一个职工仅被另外一个职工直接领导,因此这是一对多的联系一对一联系多对多联系,3.概念模型的表示方法,概念模型的表示方法很多实体联系方法(E-R方法)是最为常用的概念模型表示方法。用E-R图来描述现实世界的概念模型。E-R方法也称为E-R模型。,E-R图,实体型用矩形表示,矩形框内写明实体名。,学生,教师,E-R图(续),属性用椭圆形表示,并用无向边将其与相应的实体连接起来,E-R图(续),联系联系本身:用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型(1:1、1:n或m:n),联系的表示方法,联系的表示方法(续),联系的表示方法示例,联系的表示方法示例(续),E-R图(续),联系联系的属性:联系本身也是一种实体型,也可以有属性。如果一个联系具有属性,则这些属性也要用无向边与该联系连接起来。,联系属性的表示方法,E-R图实例:某个工厂物资管理的概念模型,物资管理涉及的实体:仓库:属性有仓库号、面积、电话号码。零件:属性有零件号、名称、规格、单价、描述。供应商:属性有供应商号、姓名、地址、电话号码、账号。项目:属性有项目号、预算、开工日期。职工:属性有职工号、姓名、年龄、职称。,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.根以外的其它结点有且只有一个双亲结点层次模型中的几个术语根结点,双亲结点,兄弟结点,叶结点,层次数据模型的数据结构(续),层次数据模型的数据结构(续),表示方法实体型:用记录类型描述。每个结点表示一个记录类型。属性:用字段描述。每个记录类型可包含若干个字段。联系:用结点之间的连线表示记录(类)型之间的一对多的联系。,层次数据模型的数据结构(续),特点结点的双亲是唯一的只能直接处理一对多的实体联系每个记录类型定义一个排序字段,也称为码字段任何记录值只有按其路径查看时,才能显出它的全部意义没有一个子女记录值能够脱离双亲记录值而独立存在,层次数据模型的数据结构(续),多对多联系在层次模型中的表示用层次模型间接表示多对多联系表示方法将多对多联系分解成一对多联系分解方法冗余结点法虚拟结点法,2.层次模型的数据操纵,查询 插入 删除 更新,3.层次模型的完整性约束,无相应的双亲结点值就不能插入子女结点值如果删除双亲结点值,则相应的子女结点值也被同时删除更新操作时,应更新所有相应记录,以保证数据的一致性,4.层次数据模型的存储结构,邻接法按照层次树前序遍历的顺序把所有记录值依次邻接存放,即通过物理空间的位置相邻来实现层次顺序。链接法用指引元来反映数据之间的层次联系子女兄弟链接法 P18层次序列链接法 P18,5.层次模型的优缺点,优点层次数据模型简单,对具有一对多的层次关系的部门描述自然、直观,容易理解性能优于关系模型,不低于网状模型层次数据模型提供了良好的完整性支持,层次模型的优缺点(续),缺点多对多联系表示不自然对插入和删除操作的限制多查询子女结点必须通过双亲结点层次命令趋于程序化,6.典型的层次数据库系统,IMS数据库管理系统第一个大型商用DBMS1968年推出IBM公司研制,1.2.3 数据模型,一、层次数据模型二、网状数据模型三、关系数据模型,网状模型,1.网状数据模型的数据结构 2.网状数据模型的数据操纵3.网状数据模型的完整性约束 4.网状数据模型的存储结构 5.网状数据模型的优缺点6.典型的网状数据库系统,1.网状数据模型的数据结构,网状模型 满足下面两个条件的基本层次联系的集合为网状模型。1.允许一个以上的结点无双亲;2.一个结点可以有多于一个的双亲。,网状数据模型的数据结构(续),表示方法(与层次数据模型相同)实体型:用记录类型描述。每个结点表示一个记录类型。属性:用字段描述。每个记录类型可包含若干个字段。联系:用结点之间的连线表示记录(类)型之间的一对多的父子联系。,网状数据模型的数据结构(续),特点只能直接处理一对多的实体联系每个记录类型定义一个排序字段,也称为码字段任何记录值只有按其路径查看时,才能显出它的全部意义,网状数据模型的数据结构(续),网状模型与层次模型的区别网状模型允许多个结点没有双亲结点网状模型允许结点有多个双亲结点网状模型允许两个结点之间有多种联系(复合联系)网状模型可以更直接地去描述现实世界层次模型实际上是网状模型的一个特例,网状数据模型的数据结构(续),网状数据模型的数据结构(续),网状数据模型的数据结构(续),网状数据模型的数据结构(续),父亲,人,独生子女,树,种植,砍伐,养育,赡养,网状数据模型的数据结构(续),网状数据模型的数据结构(续),多对多联系在网状模型中的表示用网状模型间接表示多对多联系表示方法将多对多联系直接分解成一对多联系,2.网状模型的数据操纵,查询插入删除更新,3.网状数据模型的完整性约束,完整性约束条件不严格允许插入尚未确定双亲结点值的子女结点值允许只删除双亲结点值,网状数据模型的完整性约束(续),具体的网状数据库系统(如DBTG)对数据操纵加了一些限制,提供了一定的完整性约束。码属籍类别加入类别(自动的,手工的)移出类别(固定的,必须的,随意的),4.网状数据模型的存储结构,关键实现记录之间的联系常用方法单向链接双向链接环状链接向首链接例:P29,5.网状模型的优缺点,优点能够更为直接地描述现实世界,如一个结点可以有多个双亲具有良好的性能,存取效率较高,网状模型的优缺点(续),缺点结构比较复杂,而且随着应用环境的扩大,数据库的结构就变得越来越复杂,不利于最终用户掌握DDL、DML语言复杂,用户不容易使用,6.典型的网状数据库系统,DBTG系统,亦称CODASYL系统由DBTG提出的一个系统方案奠定了数据库系统的基本概念、方法和技术70年代推出实际系统Cullinet Software Inc.公司的 IDMSUnivac公司的 DMS1100Honeywell公司的IDS/2HP公司的IMAGE,1.2.3 数据模型,一、层次数据模型二、网状数据模型三、关系数据模型,关系模型,1.关系数据模型的数据结构 2.关系数据模型的操纵3.关系数据模型的完整性约束 4.关系数据模型的存储结构 5.关系数据模型的优缺点6.典型的关系数据库系统,关系模型,最重要的一种数据模型。也是目前主要采用的数据模型1970年由美国IBM公司San Jose研究室的研究员提出本课程的重点,1.关系数据模型的数据结构,关系模型的基本数据结构关系模型的基本概念实体及实体间的联系的表示方法关系必须是规范化的,关系数据模型的数据结构(续),关系模型的基本数据结构在用户观点下,关系模型中数据的逻辑结构是一张二维表,它由行和列组成。,关系数据模型的数据结构(续),关系模型的基本概念关系(Relation):一个关系对应通常说的一张表。元组(Tuple)表中的一行即为一个元组。属性(Attribute)表中的一列即为一个属性,给每一个属性起一个名称即属性名。,关系数据模型的数据结构(续),关系模型的基本概念(续)主码(Key)表中的某个属性组,它可以唯一确定一个元组。域(Domain)属性的取值范围。分量元组中的一个属性值。,关系数据模型的数据结构(续),关系模型的基本概念(续)关系模式对关系的描述表示方法 关系名(属性1,属性2,属性n)例如:学生(学号,姓名,年龄,性别,系,年级),关系数据模型的数据结构(续),实体及实体间的联系的表示方法实体型:直接用关系(表)表示。属性:用属性名表示。一对一联系:隐含在实体对应的关系中。一对多联系:隐含在实体对应的关系中。多对多联系:直接用关系表示。,关系数据模型的数据结构(续),例1学生、系、系与学生之间的一对多联系:学生(学号,姓名,年龄,性别,系号,年级)系(系号,系名,办公地点)例2系、系主任、系与系主任间的一对一联系,关系数据模型的数据结构(续),例3学生、课程、学生与课程之间的多对多联系:学生(学号,姓名,年龄,性别,系号,年级)课程(课程号,课程名,学分)选修(学号,课程号,成绩),关系数据模型的数据结构(续),关系必须是规范化的,即必须满足一定的规范条件最基本的规范条件:关系的每一个分量必须是一个不可分的数据项。,2.关系模型的数据操纵,查询、插入、删除、更新数据操作是集合操作,操作对象和操作结果都是关系,即若干元组的集合存取路径对用户隐蔽,用户只要指出“干什么”,不必详细说明“怎么干”,3.关系模型的完整性约束,实体完整性参照完整性用户定义的完整性,4.关系数据模型的存储结构,表以文件形式存储有的DBMS一个表对应一个操作系统文件,有的DBMS自己设计文件结构,5.关系模型的优缺点,优点建立在严格的数学概念的基础上概念单一。数据结构简单、清晰,用户易懂易用实体和各类联系都用关系来表示。对数据的检索结果也是关系。关系模型的存取路径对用户透明具有更高的数据独立性,更好的安全保密性简化了程序员的工作和数据库开发建立的工作,关系模型的优缺点(续),缺点存取路径对用户透明导致查询效率往往不如非关系数据模型为提高性能,必须对用户的查询请求进行优化增加了开发数据库管理系统的难度,6.典型的关系数据库系统,ORACLESYBASEDB/2SQL ServerINFORMIXCOBASEPBASEEasyBaseKingBase小金灵DM/4OpenBase,第1章 绪论,1.1 引言1.2 数据模型1.3 数据库系统结构1.4 数据库管理系统1.5 数据库工程与应用1.6 小结,1.3 数据库系统结构,数据库系统的模式结构 从数据库管理系统角度看数据库系统的体系结构从数据库最终用户角度看,1.3 数据库系统结构,数据库系统的模式结构 从数据库管理系统角度看数据库系统的体系结构从数据库最终用户角度看,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.单用户数据库系统,整个数据库系统(应用程序、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向应用