《数据库系统基础》PPT课件.ppt
2006-8-25,数据库系统基础,2006-8-25,从20世纪50年代中期开始,计算机的应用由科学研究部门逐渐扩展到企业、行政部门。至60年代,数据处理已成为计算机的主要应用。在60年代末,数据库技术作为数据处理中的一门新技术发展起来的。经过30多年的发展,数据库技术已是计算机软件领域的一个重要分支,形成了较为完整的理论体系和实用技术。,2006-8-25,1 数据库系统概述2 数据模型3 数据库系统结构4 数据库系统的组成5 数据库技术的研究领域6 小结,2006-8-25,1 数据库系统概述,1.1 数据库的地位1.2 四个基本概念1.3 数据管理技术的产生与发展,2006-8-25,数据库的地位,数据库技术产生于六十年代末,是数据管理的最新技术,是计算机科学的重要分支(四大支柱:操作系统、网络、计算机语言、数据库。两大热门:网络、数据库)数据库技术是信息系统的核心和基础,它的出现极大地促进了计算机应用向各行各业的渗透数据库的建设规模、数据库信息量的大小和使用频度已成为衡量一个国家信息化程度的重要标志,2006-8-25,零售业霸主沃尔玛,福布斯全球富豪排行榜占据了前十名的半壁江山全世界最大的企业1974年运用计算机进行库存控制1983年,使用条形码扫描系统19851987年,安装专用卫星通信系统,4000家沃尔玛分店都能够通过自己的终端与总部进行实时联系,2006-8-25,沃尔玛:利用信息技术成全其零售业霸主地位,沃尔玛计算机系统可以追踪每一件商品的进销全过程。通过采用最新的信息技术,沃尔玛能够以最低的成本、最优质的服务、最快速的管理反应进行全球运作。管理信息系统的应用使沃尔玛有关各方可以迅速得到所需的货品层面数据,观察销售趋势、存货水平和订购信息甚至更多。美国通过运用信息技术改造传统产业,使传统产业的国际竞争力得以快速提升。,2006-8-25,搜索引擎,25,900,000,2006-8-25,4,130,000,000,1,230,000,000,2006-8-25,2006-8-25,http:/,2006-8-25,联合国粮农组织http:/apps.fao.org/default-c.htm提供的粮农统计DB,2006-8-25,1.1 数据库系统概述,1.1 数据库的地位1.2 四个基本概念1.3 数据管理技术的产生与发展,2006-8-25,1.2 四个基本概念,数据(Data)和信息(Information)数据库(Database)数据库管理系统(DBMS)数据库系统(DBS),2006-8-25,一、数据,数据(Data)是数据库中存储的基本对象数据的定义描述事物的符号记录,对现实世界中客观事物的符号表示数据的种类文字、图形、图象、声音数据的特点数据与其语义是不可分的,2006-8-25,数据举例,学生档案中的学生记录(李明,男,1972,江苏,计算机系,1990)数据的形式不能完全表达其内容数据的解释语义:学生姓名、性别、出生年月、籍贯、所在系别、入学时间解释:李明是个大学生,1972年出生,江苏人,1990年考入计算机系,2006-8-25,在数据处理领域,一般把信息理解为关于现实世界事物存在方式或运动状态的反映,是对数据含义的说明。信息与数据之间存在着固有的联系:数据是信息的符号表示或称为载体;信息则是数据的内涵,是对数据语义的解释(语义化的数据)。,2006-8-25,例,一幅黑白图象数据黑白点阵,信息脸谱,2006-8-25,数据处理与数据管理,数据处理(信息处理)是指从某些已知的数据出发,推导加工出一些新的数据,这些新的数据又表示了新的信息。数据管理是指数据的收集、整理、组织、存储、维护、检索、传送等操作,这部分操作是数据处理业务的基本环节,而且是任何数据处理业务中必不可少的共有部分。数据处理是与数据管理相联系的,数据管理技术的优劣,将直接影响数据处理的效率。,2006-8-25,二、数据库(举例),2006-8-25,二、数据库(续),人们收集并抽取出一个应用所需要的大量数据之后,应将其保存起来以供进一步加工处理,进一步抽取有用信息数据库的定义数据库(Database,简称DB)是长期储存在计算机内、有组织的、可共享的大量数据集合,2006-8-25,二、数据库(续),数据库的特征数据按一定的数据模型组织、描述和储存可为各种用户共享冗余度较小数据独立性较高易扩展,2006-8-25,三、数据库管理系统,什么是DBMS数据库管理系统(Database Management System,简称DBMS)是位于用户与操作系统之间的一层数据管理软件。DBMS的用途科学地组织和存储数据、高效地获取和维护数据,2006-8-25,DBMS的主要功能,数据定义功能 提供数据定义语言(DDL)定义数据库中的数据对象数据操纵功能:提供数据操纵语言(DML)操纵数据实现对数据库的基本操作(查询、插入、删除和修改),2006-8-25,DBMS的主要功能,数据库的运行管理 保证数据的安全性、完整性、多用户对数据的并发使用 发生故障后的系统恢复数据库的建立和维护功能(实用程序)数据库数据批量装载 数据库转储 介质故障恢复 数据库的重组织 性能监视等,2006-8-25,四、数据库系统,什么是数据库系统数据库系统(Database System,简称DBS)是指在计算机系统中引入数据库后的系统构成。在不引起混淆的情况下常常把数据库系统简称为数据库。数据库系统的构成由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员(和用户)构成。,2006-8-25,数据库系统(续),数据库系统构成图示,2006-8-25,数据库系统在计算机系统中的位置图示,2006-8-25,1 数据库系统概述,1.1 数据库的地位1.2 四个基本概念1.3 数据管理技术的产生与发展,2006-8-25,1.3 数据管理技术的产生和发展,什么是数据管理对数据进行分类、组织、编码、存储、检索和维护,是数据处理的中心问题数据管理技术的发展过程人工管理阶段(40年代中-50年代中)文件系统阶段(50年代末-60年代中)数据库系统阶段(60年代末-现在),2006-8-25,数据管理技术的产生和发展(续),数据管理技术的发展动力应用需求的推动计算机硬件的发展计算机软件的发展,2006-8-25,一、人工管理,时期40年代中-50年代中产生的背景应用需求科学计算硬件水平无直接存取存储设备软件水平没有操作系统处理方式批处理,2006-8-25,人工管理(续),特点数据的管理者:应用程序,数据不保存。数据面向的对象:某一应用程序 数据的共享程度:无共享、冗余度极大数据的独立性:不独立,完全依赖于程序数据的结构化:无结构数据控制能力:应用程序自己控制,2006-8-25,应用程序与数据的对应关系(人工管理),2006-8-25,二、文件系统,时期50年代末-60年代中产生的背景应用需求科学计算、管理硬件水平磁盘、磁鼓软件水平有文件系统处理方式联机实时处理、批处理,2006-8-25,文件系统(续),特点数据的管理者:文件系统,数据可长期保存数据面向的对象:某一应用程序 数据的共享程度:共享性差、冗余度大数据的结构化:记录内有结构,整体无结构数据的独立性:独立性差,数据的逻辑结构改变必须修改应用程序数据控制能力:应用程序自己控制,2006-8-25,应用程序与数据的对应关系(文件系统),2006-8-25,文件系统中数据的结构,记录内有结构。数据的结构是靠程序定义和解释的。数据只能是定长的。可以间接实现数据变长要求,但访问相应数据的应用程序复杂了。文件间是独立的,因此数据整体无结构。可以间接实现数据整体的有结构,但必须在应用程序中对描述数据间的联系。数据的最小存取单位是记录。,2006-8-25,三、数据库系统,时期60年代末以来产生的背景应用背景大规模管理硬件背景大容量磁盘软件背景有数据库管理系统处理方式联机实时处理,分布处理,批处理,2006-8-25,数据库系统(续),特点数据的管理者:DBMS数据面向的对象:现实世界数据的共享程度:共享性高数据的独立性:高度的物理独立性和一定的 逻辑独立性数据的结构化:整体结构化数据控制能力:由DBMS统一管理和控制,2006-8-25,应用程序与数据的对应关系(数据库系统),2006-8-25,数据的高共享性的好处,降低数据的冗余度,节省存储空间避免数据间的不一致性使系统易于扩充,2006-8-25,数据独立性,物理独立性指用户的应用程序与存储在磁盘上的数据库中数据是相互独立的。当数据的物理存储改变了,应用程序不用改变。逻辑独立性指用户的应用程序与数据库的逻辑结构是相互独立的。数据的逻辑结构改变了,用户程序也可以不变。,2006-8-25,数据结构化,整体数据的结构化是数据库的主要特征之一。数据库中实现的是数据的真正结构化数据的结构用数据模型描述,无需程序定义和解释。数据可以变长。数据的最小存取单位是数据项。,2006-8-25,DBMS对数据的控制功能,数据的安全性(Security)保护使每个用户只能按指定方式使用和处理指定数据,保护数据以防止不合法的使用造成的数据的泄密和破坏。数据的完整性(Integrity)检查将数据控制在有效的范围内,或保证数据之间满足一定的关系。,2006-8-25,DBMS对数据的控制功能,并发(Concurrency)控制对多用户的并发操作加以控制和协调,防止相互干扰而得到错误的结果。数据库恢复(Recovery)将数据库从错误状态恢复到某一已知的正确状态。,2006-8-25,1 数据库系统概述2 数据模型3 数据库系统结构4 数据库系统的组成5 数据库技术的研究领域6 小结,2006-8-25,数据模型,在数据库中用数据模型这个工具来抽象、表示和处理现实世界中的数据和信息。通俗地讲数据模型就是现实世界的模拟数据模型应满足三方面要求能比较真实地模拟现实世界容易为人所理解便于在计算机上实现,2006-8-25,数据模型(续),数据模型分成两个不同的层次(1)概念模型 也称信息模型,它是按用户的观点来对数据和信息建模。(2)数据模型 主要包括网状模型、层次模型、关系模型等,它是按计算机系统的观点对数据建模。,2006-8-25,数据模型(续),客观对象的抽象过程-两步抽象现实世界中的客观对象抽象为概念模型;把概念模型转换为某一DBMS支持的数据模型。概念模型是现实世界到机器世界的一个中间层次。,2006-8-25,2 数据模型,2.1 数据模型的组成要素2.2 概念模型2.3 常用数据模型2.4 层次模型2.5 网状模型2.6 关系模型,2006-8-25,2.1 数据模型的组成要素,数据结构 数据操作 数据的约束条件,2006-8-25,1.数据结构,什么是数据结构对象类型的集合两类对象与数据类型、内容、性质有关的对象与数据之间联系有关的对象数据结构是对系统静态特性的描述,2006-8-25,2.数据操作,数据操作对数据库中各种对象(型)的实例(值)允许执行的操作及有关的操作规则数据操作的类型检索更新(包括插入、删除、修改),2006-8-25,数据操作(续),数据模型对操作的定义操作的确切含义操作符号操作规则(如优先级)实现操作的语言数据操作是对系统动态特性的描述。,2006-8-25,3.数据的约束条件,数据的约束条件一组完整性规则的集合。完整性规则是给定的数据模型中数据及其联系所具有的制约和储存规则,用以限定符合数据模型的数据库状态以及状态的变化,以保证数据的正确、有效、相容。,2006-8-25,数据的约束条件(续),数据模型对约束条件的定义反映和规定本数据模型必须遵守的基本的通用的完整性约束条件。例如在关系模型中,任何关系必须满足实体完整性和参照完整性两个条件。提供定义完整性约束条件的机制,以反映具体应用所涉及的数据必须遵守的特定的语义约束条件。,2006-8-25,2.2 概念模型,1.概念模型2.信息世界中的基本概念3.概念模型的表示方法,2006-8-25,1.概念模型,概念模型的用途概念模型用于信息世界的建模是现实世界到机器世界的一个中间层次是数据库设计的有力工具数据库设计人员和用户之间进行交流的语言对概念模型的基本要求较强的语义表达能力,能够方便、直接地表达应用中的各种语义知识简单、清晰、易于用户理解。,2006-8-25,2.信息世界中的基本概念,(1)实体(Entity)客观存在并可相互区别的事物称为实体。可以是具体的人、事、物或抽象的概念。(2)属性(Attribute)实体所具有的某一特性称为属性。一个实体可以由若干个属性来刻画。(3)码(Key)唯一标识实体的属性集称为码。,2006-8-25,信息世界中的基本概念(续),(4)域(Domain)属性的取值范围称为该属性的域。(5)实体型(Entity Type)用实体名及其属性名集合来抽象和刻画同类实体称为实体型(6)实体集(Entity Set)同型实体的集合称为实体集,2006-8-25,信息世界中的基本概念(续),(7)联系(Relationship)现实世界中事物内部以及事物之间的联系在信息世界中反映为实体内部的联系和实体之间的联系实体型间联系 两个实体型 一对一联系(1:1)三个实体型 一对多联系(1:n)一个实体型 多对多联系(m:n),2006-8-25,两个实体型间的联系,2006-8-25,两个实体型间的联系,一对一联系 如果对于实体集A中的每一个实体,实体集B中至多有一个实体与之联系,反之亦然,则称实体集A与实体集B具有一对一联系。记为1:1。实例班级与班长之间的联系:一个班级只有一个正班长一个班长只在一个班中任职,2006-8-25,两个实体型间的联系(续),一对多联系如果对于实体集A中的每一个实体,实体集B中有n个实体(n0)与之联系,反之,对于实体集B中的每一个实体,实体集A中至多只有一个实体与之联系,则称实体集A与实体集B有一对多联系 记为1:n实例班级与学生之间的联系:一个班级中有若干名学生,每个学生只在一个班级中学习,2006-8-25,两个实体型间的联系(续),多对多联系(m:n)如果对于实体集A中的每一个实体,实体集B中有n个实体(n0)与之联系,反之,对于实体集B中的每一个实体,实体集A中也有m个实体(m0)与之联系,则称实体集A与实体B具有多对多联系。记为m:n实例课程与学生之间的联系:一门课程同时有若干个学生选修一个学生可以同时选修多门课程,2006-8-25,2006-8-25,多个实体型间的联系,多个实体型间的一对多联系若实体集E1,E2,.,En存在联系,对于实体集Ej(j=1,2,.,i-1,i+1,.,n)中的给定实体,最多只和Ei中的一个实体相联系,则我们说Ei与E1,E2,.,Ei-1,Ei+1,.,En之间的联系是一对多的。,2006-8-25,多个实体型间的联系(续),实例 课程、教师与参考书三个实体型如果一门课程可以有若干个教师讲授,使用若干本参考书,每一个教师只讲授一门课程,每一本参考书只供一门课程使用课程与教师、参考书之间的联系是一对多的多个实体型间的一对一联系多个实体型间的多对多联系,2006-8-25,同一实体集内各实体间的联系,一对多联系实例 职工实体集内部具有领导与被领导的联系某一职工(干部)“领导”若干名职工一个职工仅被另外一个职工直接领导这是一对多的联系一对一联系多对多联系,2006-8-25,3.概念模型的表示方法,概念模型的表示方法很多实体联系方法(E-R方法)用E-R图来描述现实世界的概念模型E-R方法也称为E-R模型,2006-8-25,E-R图,实体型用矩形表示,矩形框内写明实体名。,学生,教师,2006-8-25,E-R图(续),属性用椭圆形表示,并用无向边将其与相应的实体连接起来,2006-8-25,E-R图(续),联系联系本身:用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型(1:1、1:n或m:n)联系的属性:联系本身也是一种实体型,也可以有属性。如果一个联系具有属性,则这些属性也要用无向边与该联系连接起来,2006-8-25,联系的表示方法,2006-8-25,联系的表示方法(续),2006-8-25,联系的表示方法示例,2006-8-25,联系的表示方法示例(续),2006-8-25,联系属性的表示方法,2006-8-25,E-R图(续),E-R图实例:某工厂物资管理E-R图,2006-8-25,首先确定实体类型。本问题有三个实体类型:零件PART,工程项目PROJECT,零件供应商SUPPLIER。确定联系类型。PROJECT和PART之间是M:N联系,PART和SUPPLIER之间也是M:N联系,分别命名为P_P和P_S.把实体类型和联系类型组合成ER图。确定实体类型和联系类型的属性。确定实体类型的键,在ER图中属于码的属性名下画一条横线。,2006-8-25,SUPPLIER,2006-8-25,ER模型总结:,有两个明显的优点接近于人的思维,容易理解与计算机无关,用户容易接受。只能说明实体间语义的联系,还不能进一步说明详细的数据结构。一般遇到一个实际问题,总是先设计一个ER模型,然后再把ER模型转换成计算机已实现的数据模型。,2006-8-25,2.3 常用数据模型,非关系模型层次模型(Hierarchical Model)网状模型(Network Model)数据结构:以基本层次联系为基本单位 基本层次联系:两个记录以及它们之间的一对多(包括一对一)的联系,2006-8-25,常用数据模型(续),关系模型(Relational Model)数据结构:表面向对象模型(Object Oriented Model)数据结构:对象,2006-8-25,2 数据模型,2.1 数据模型的组成要素2.2 概念模型2.3 常用数据模型2.4 层次模型2.5 网状模型 2.6 关系模型,2006-8-25,1.层次数据模型的数据结构,层次模型 满足下面两个条件的基本层次联系的集合为层次模型。1.有且只有一个结点没有双亲结点,这个结点称为根 结点2.根以外的其它结点有且只有一个双亲结点层次模型中的几个术语根结点,双亲结点,兄弟结点,叶结点,2006-8-25,层次数据模型的数据结构(续),2006-8-25,层次数据模型的数据结构(续),表示方法实体型:用记录类型描述。每个结点表示一个记录类型。属性:用字段描述。每个记录类型可包含若干个字段。联系:用结点之间的连线表示记录(类)型之间的 一对多的联系实例:教员-学生数据模型(P23),2006-8-25,2 数据模型,2.1 概念模型2.2 数据模型的组成要素2.3 最常用的数据模型2.4 层次模型2.5 网状模型2.6 关系模型,2006-8-25,1.网状数据模型的数据结构,网状模型满足下面两个条件的基本层次联系的集合为网状模型。1.允许一个以上的结点无双亲;2.一个结点可以有多于一个的双亲。,2006-8-25,网状数据模型的数据结构,2006-8-25,网状数据模型的数据结构(续),表示方法(与层次数据模型相同)实体型:用记录类型描述。每个结点表示一个记录类型。属性:用字段描述。每个记录类型可包含若干个字段。联系:用结点之间的连线表示记录(类)型之 间的一对多的父子联系。,2006-8-25,2 数据模型,2.1 概念模型2.2 数据模型的组成要素2.3 最常用的数据模型2.4 层次模型2.5 网状模型2.6 关系模型,2006-8-25,2.6 关系模型,1.关系数据模型的数据结构 2.关系数据模型的操纵3.关系数据模型的完整性约束 4.关系数据模型的存储结构 5.关系数据模型的优缺点6.典型的关系数据库系统,2006-8-25,关系模型,最重要的一种数据模型。也是目前主要采用的数据模型1970年由美国IBM公司San Jose研究室的研究员E.F.Codd提出本章的重点,2006-8-25,关系数据模型的数据结构,在用户观点下,关系模型中数据的逻辑结构是一张二维表,它由行和列组成。,2006-8-25,关系模型的基本概念,关系(Relation)一个关系对应通常说的一张表。元组(Tuple)表中的一行即为一个元组。属性(Attribute)表中的一列即为一个属性,给每一个属性起一个名称即属性名。,2006-8-25,关系模型的基本概念,主码(Key)表中的某个属性组,它可以唯一确定一个元组。域(Domain)属性的取值范围。分量元组中的一个属性值。关系模式对关系的描述关系名(属性1,属性2,属性n)学生(学号,姓名,年龄,性别,系,年级),2006-8-25,关系数据模型的数据结构(续),实体及实体间的联系的表示方法实体型:直接用关系(表)表示。属性:用属性名表示。一对一联系:隐含在实体对应的关系中。一对多联系:隐含在实体对应的关系中。多对多联系:直接用关系表示。,2006-8-25,关系数据模型的数据结构(续),例1学生、系、系与学生之间的一对多联系:学生(学号,姓名,年龄,性别,系号,年级)系(系号,系名,办公地点)例2系、系主任、系与系主任间的一对一联系,2006-8-25,关系数据模型的数据结构(续),例3学生、课程、学生与课程之间的多对多联系:学生(学号,姓名,年龄,性别,系号,年级)课程(课程号,课程名,学分)选修(学号,课程号,成绩),2006-8-25,关系数据模型的数据结构(续),关系必须是规范化的,满足一定的规范条件最基本的规范条件:关系的每一个分量必须是一个不可分的数据项。,2006-8-25,2.关系模型的数据操纵,查询、插入、删除、更新数据操作是集合操作,操作对象和操作结果都是关系,即若干元组的集合存取路径对用户隐蔽,用户只要指出“干什么”,不必详细说明“怎么干”,2006-8-25,3.关系模型的完整性约束,实体完整性参照完整性用户定义的完整性,2006-8-25,4.关系数据模型的存储结构,表以文件形式存储有的DBMS一个表对应一个操作系统文件有的DBMS自己设计文件结构,2006-8-25,5.关系模型的优缺点,优点建立在严格的数学概念的基础上概念单一。数据结构简单、清晰,用户易懂易用实体和各类联系都用关系来表示。对数据的检索结果也是关系。关系模型的存取路径对用户透明具有更高的数据独立性,更好的安全保密性简化了程序员的工作和数据库开发建立的工作,2006-8-25,关系模型的优缺点(续),缺点存取路径对用户透明导致查询效率往往不如非关系数据模型为提高性能,必须对用户的查询请求进行优化增加了开发数据库管理系统的难度,2006-8-25,6.典型的关系数据库系统,DB2,Oracle,Sybase,Informix,SQL ServerFox系列,AccessMySql,2006-8-25,1 数据库系统概述2 数据模型3 数据库系统结构4 数据库系统的组成5 数据库技术的研究领域6 小结,2006-8-25,3 数据库系统结构,1.数据库系统内部的模式结构 从数据库管理系统角度看,三层模式结构2.数据库系统外部的体系结构从数据库最终用户角度看,集中式、分布式、并行、C/S,2006-8-25,3.1 数据库系统的模式结构,数据库系统模式的概念数据库系统的三级模式结构数据库的二级映象功能与数据独立性小结,2006-8-25,数据库系统模式的概念,“型”和“值”的概念型(Type)对某一类数据的结构和属性的说明值(Value)是型的一个具体赋值例如:学生记录记录型:(学号,姓名,性别,系别,年龄,籍贯)该记录型的一个记录值:(900201,李明,男,计算机,22,江苏),2006-8-25,数据库系统模式的概念(续),模式(Schema)数据库逻辑结构和特征的描述是型的描述反映的是数据的结构及其联系模式是相对稳定的模式的一个实例(Instance)模式的一个具体值反映数据库某一时刻的状态同一个模式可以有很多实例实例随数据库中的数据的更新而变动,2006-8-25,3.1 数据库系统的模式结构,数据库系统模式的概念数据库系统的三级模式结构数据库的二级映象功能与数据独立性小结,2006-8-25,数据库系统的三级模式结构,2006-8-25,1模式(Schema),模式(也称逻辑模式)数据库中全体数据的逻辑结构和特征的描述所有用户的公共数据视图,综合了所有用户的需求一个数据库只有一个模式模式的地位:是数据库系统模式结构的中间层与数据的物理存储细节和硬件环境无关与具体的应用程序、开发工具及高级程序设计语言无关模式的定义数据的逻辑结构(数据项的名字、类型、取值范围等)数据之间的联系数据有关的安全性、完整性要求,2006-8-25,2.外模式(External Schema),外模式(也称子模式或用户模式)数据库用户(包括应用程序员和最终用户)使用的局部数据的逻辑结构和特征的描述数据库用户的数据视图,是与某一应用有关的数据的逻辑表示,2006-8-25,外模式(续),外模式的地位:介于模式与应用之间模式与外模式的关系:一对多外模式通常是模式的子集一个数据库可以有多个外模式。反映了不同的用户的应用需求、看待数据的方式、对数据保密的要求对模式中同一数据,在外模式中的结构、类型、长度、保密级别等都可以不同外模式与应用的关系:一对多同一外模式也可以为某一用户的多个应用系统所使用,但一个应用程序只能使用一个外模式。,2006-8-25,外模式(续),外模式的用途保证数据库安全性的一个有力措施。每个用户只能看见和访问所对应的外模式中的数据,2006-8-25,3内模式(Internal Schema),内模式(也称存储模式)是数据物理结构和存储方式的描述是数据在数据库内部的表示方式记录的存储方式(顺序存储,按照B树结构存储,按hash方法存储)索引的组织方式数据是否压缩存储数据是否加密数据存储记录结构的规定一个数据库只有一个内模式,2006-8-25,3.1 数据库系统的模式结构,数据库系统模式的概念数据库系统的三级模式结构数据库的二级映象功能与数据独立性小结,2006-8-25,三级模式与二级映象,三级模式是对数据的三个抽象级别二级映象在DBMS内部实现这三个抽象层次的联系和转换,2006-8-25,数据库系统的三级模式结构,2006-8-25,1外模式模式映象,定义外模式与模式之间的对应关系每一个外模式都对应一个外模式模式映象映象定义通常包含在各自外模式的描述中,2006-8-25,外模式模式映象的用途,保证数据的逻辑独立性当模式改变时,数据库管理员修改有关的外模式模式映象,使外模式保持不变应用程序是依据数据的外模式编写的,从而应用程序不必修改,保证了数据与程序的逻辑独立性,简称数据的逻辑独立性。,2006-8-25,2模式内模式映象,模式内模式映象定义了数据全局逻辑结构与存储结构之间的对应关系。例如,说明逻辑记录和字段在内部是如何表示的数据库中模式内模式映象是唯一的该映象定义通常包含在模式描述中,2006-8-25,模式内模式映象的用途,保证数据的物理独立性当数据库的存储结构改变了(例如选用了另一种存储结构),数据库管理员修改模式内模式映象,使模式保持不变应用程序不受影响。保证了数据与程序的物理独立性,简称数据的物理独立性。,2006-8-25,3.1 数据库系统的模式结构,数据库系统模式的概念数据库系统的三级模式结构数据库的二级映象功能与数据独立性小结,2006-8-25,小结,模式是数据库的中心与关键独立于数据库的其它层次设计数据库模式结构时应首先确定数据库的逻辑模式,2006-8-25,小结(续),内模式依赖于全局逻辑结构,但独立于数据库的用户视图即外模式,也独立于具体的存储设备。它将全局逻辑结构中所定义的数据结构及其联系按照一定的物理存储策略进行组织,以达到较好的时间与空间效率。,2006-8-25,小结(续),外模式面向具体的应用程序,定义在逻辑模式之上,但独立于存储模式和存储设备设计外模式时应充分考虑到应用的扩充性。当应用需求发生较大变化,相应外模式不能满足其视图要求时,该外模式就得做相应改动,2006-8-25,小结(续),应用程序在外模式描述的数据结构上编制的,它依赖于特定的外模式,与数据库的模式和存储结构独立。不同的应用程序有时可以共用同一个外模式。,2006-8-25,小结(续),二级映象保证了数据库外模式的稳定性,从而从底层保证了应用程序的稳定性,除非应用需求本身发生变化,否则应用程序一般不需要修改。数据与程序之间的独立性,使得数据的定义和描述可以从应用程序中分离出去。,2006-8-25,3 数据库系统结构,数据库系统内部的模式结构 从数据库管理系统角度看3.2数据库系统外部的体系结构从数据库最终用户角度看,2006-8-25,3.2 数据库系统外部的体系结构,单用户结构主从式结构分布式结构客户/服务器结构浏览器/应用服务器/数据库服务器结构,2006-8-25,1.单用户数据库系统,整个数据库系统(应用程序、DBMS、数据)装在一台计算机上,为一个用户独占,不同机器之间不能共享数据。早期的最简单的数据库系统,2006-8-25,2.主从式结构的数据库系统,一个主机带多个终端的多用户结构数据库系统,包括应用程序、DBMS、数据,都集中存放在主机上,所有处理任务都由 主机来完成各个用户通过主机的终端并发地存取数据库,共享数据资源,2006-8-25,主从式结构的数据库系统,主机,终端,2006-8-25,主从式结构的数据库系统(续),优点易于管理、控制与维护。缺点当终端用户数目增加到一定程度后,主机的任务会过分繁重,成为瓶颈,从而使系统性能下降。系统的可靠性依赖主机,当主机出现故障时,整个系统都不能使用。,2006-8-25,3.分布式结构的数据库系统,数据库中的数据在逻辑上是一个整体,但物理地分布在计算机网络的不同结点上。网络中的每个结点都可以独立处理本地数据库中的数据,执行局部应用同时也可以同时存取和处理多个异地数据库中的数据,执行全局应用,2006-8-25,分布式结构的数据库系统(续),优点适应了地理上分散的公司、团体和组织对于数据库应用的需求。缺点数据的分布存放给数据的处理、管理与维护带来困难。当用户需要经常访问远程数据时,系统效率会明显地受到网络传输的制约。,2006-8-25,4客户服务器结构的数据库系统,把DBMS功能和应用分开网络中某个(些)结点上的计算机专门用于执行DBMS功能,称为数据库服务器,简称服务器其他结点上的计算机安装DBMS的外围应用开发工具,用户的应用系统,称为客户机,2006-8-25,客户服务器数据库系统的种类,集中的服务器结构 一台数据库服务器,多台客户机分布的服务器结构在网络中有多台数据库服务器分布的服务器结构是客户服务器与 分布式数据库的结合,2006-8-25,客户服务器结构的优点,客户端的用户请求被传送到数据库服务器,数据库服务器进行处理后,只将结果返回给用户,从而显著减少了数据传输量数据库更加开放客户与服务器一般都能在多种不同的硬件和软件平台上运行可以使用不同厂商的数据库应用开发工具,2006-8-25,客户服务器结构的缺点,“胖客户”问题:系统安装复杂,工作量大。应用维护困难,难于保密,造成安全性差。相同的应用程序要重复安装在每一台客户机上,从系统总体来看,大大浪费了系统资源。系统规模达到数百数千台客户机,它们的硬件配置、操作系统又常常不同,要为每一个客户机安装应用程序和相应的工具模块,其安装维护代价便不可接受了。,2006-8-25,浏览器/应用服务器/数据库服务器结构,客户端:浏览器软件、用户界面 浏览器的界面统一,广大用户容易掌握 大大减少了培训时间与费用。服务器端分为两部分:Web服务器、应用服务器数据库服务器等大大减少了系统开发和维护代价能够支持数万甚至更多的用户,2006-8-25,嵌入式数据管理系统的结构,2006-8-25,第一章 绪论,1 数据库系统概述2 数据模型3 数据库系统结构4 数据库系统的组成5 数据库技术的研究领域6 小结,2006-8-25,4 数据库系统的组成,数据库数据库管理系统(及其开发工具)应用系统数据库管理员(用户),2006-8-25,一、硬件平台及数据库,数据库系统对硬件资源的要求(1)足够大的内存操作系统DBMS的核心模块数据缓冲区应用程序,2006-8-25,数据库系统对硬件资源的要求,(2)足够大的外存 磁盘操作系统DBMS应用程序数据库及其备份 光盘、磁带、软盘数据备份(3)较高的通道能力,提高数据传送率,2006-8-25,二、软件,DBMS操作系统与数据库接口的高级语言及其编译系统以DBMS为核心的应用开发工具为特定应用环境开发的数据库应用系统,2006-8-25,三、人员,数据库管理员系统分析员数据库设计人员应用程序员(最终用户),2006-8-25,1.数据库管理员(DBA),决定数据库中的信息内容和结构决定数据库的存储结构和存取策略定义数据的安全性要求和完整性约束条件,2006-8-25,数据库管理员(续),监控数据库的使用和运行周期性转储数据库数据文件日志文件系统故障恢复介质故障恢复监视审计文件,2006-8-25,数据库管理员(续),数据库的改进和重组性能监控和调优数据重组数据库重构,2006-8-25,2.系统分析员,负责应用系统的需求分析和规范说明与用户及DBA协商,确定系统的硬软件配置参与数据库系统的概要设计,2006-8-25,3.数据库设计人员,参加用户需求调查和系统分析确定数据库中的数据设计数据库各级模式,2006-8-25,4.应用程序员,设计和编写应用系统的程序模块进行调试和安装,2006-8-25,5.用户,偶然用户企业或组织机构的高中级管理人员简单用户银行的职员、机票预定人员、旅馆总台服务员,2006-8-25,用户(续),复杂用户工程师、科学家、经济学家、科技工作者等直接使用数据库语言访问数据库,甚至能够基于数据库管理系统的API编制自己的应用程序,2006-8-25,第一章 绪论,1 数据库系统概述2 数据模型3 数据库系统结构4 数据库系统的组成5 数据库技术的研究领域6 小结,2006-8-25,1.5 数据库技术的研究领域,数据库管理系统软件的研制数据库设计数据库理论,2006-8-25,数据库管理系统软件的研制,DBMS核心一组相互联系的软件系统工具软件中间件,2006-8-25,数据库设计,数据库设计方法设计工具设计理论数据模型和数据建模,2006-8-25,数据库理论,关系的规范化理论关系数据理论,2006-8-25,1 数据库系统概述2 数据模型3 数据库系统结构4 数据库系统的组成5 数据库技术的研究领域6 小结,2006-8-25,小结,数据库系统概述数据库的基本概念数据管理的发展过程数据库系统的研究领域数据模型数据模型的三要素概念模型,E-R 模型三种主要数据模型,2006-8-25,小结(续),数据库系统的结构数据库系统三级模式结构数据库系统的体系结构数据库系统的组成,