数据库02第一章绪论.ppt
1,第一章 绪论,1.1 数据库系统概述1.2 数据库系统的组成1.3 数据库技术的研究领域1.4 数据模型1.5 数据库系统结构1.6 小结,计算机解决哪些问题:1+1=?四则运算 代数模型地球绕太阳公转时间?天体运动 物理模型如何从一个图像上识别一个人?(图像处理,模式识别).如何管理数据?数据库技术 数据模型,3,学院:有7个班,3个专业,(GIS,遥感,摄影测量),每个班有若干学生,入学时,都会分配个学号,可以选修的课程(高等数学、英语、计算机基础、数据库),有很多教师,每个教师可以上某些课程,每个学生要选若干门课,.,管理者:学生情况、教师情况、学生:选修课程、查成绩、教师:查成绩、提交成绩,现实世界是非常复杂的,必须予以抽象。,4,1.4数据模型,在数据库中用数据模型这个工具来抽象、表示和处理现实世界中的数据和信息。通俗地讲数据模型就是对现实世界的模拟。数据模型应满足三方面要求能比较真实地模拟现实世界容易为人所理解便于在计算机上实现,5,1.4数据模型,数据模型分成两个不同的层次(注意教材中的概念表述)(1)概念模型 也称信息模型,它是按用户的观点来对数据和信息建模。(2)(逻辑)数据模型 主要包括网状模型、层次模型、关系模型等,它是按计算机系统的观点对数据建模。,6,概念模型,DBMS支持的数据模型,“三个世界、两级抽象”,数据处理的两级抽象和转换过程,1.4数据模型,先把现实世界归纳表达为人能看懂的规范化表达,再把人能看懂的规范化表达转换为计算机软件角度的数据模型。,例如 现实世界的事件:某年某月某日,在某小区,张三的狗咬了李四的猫,宠物信息调查,概念模型,数据模型,8,1.4 数据模型,1.4.1 概念模型 1.4.2 数据模型的组成要素 1.4.3 常用数据模型 1.4.4 层次模型 1.4.5 网状模型 1.4.6 关系模型,9,1.4.1 概念模型,概念模型的用途与地位概念模型用于信息世界的建模是现实世界到机器世界的一个中间层次是数据库设计的有力工具数据库设计人员和用户之间进行交流的语言对概念模型的基本要求较强的语义表达能力,能够方便、直接地表达现实应用中的各种语义知识,简单、清晰、易于用户理解。,10,1.信息世界中的基本概念,(1)实体(Entity)客观存在并可相互区别的事物称为实体。可以是具体的人、事、物或抽象的概念。(2)属性(Attribute)实体所具有的某一特性称为属性。一个实体可以由若干个属性来刻画。(3)码(Key)唯一标识实体的属性集称为码。,(学号、姓名、性别、出生年月、籍贯、所在系别、入学时间),学生,11,1.信息世界中的基本概念,(4)域(Domain)属性的取值范围称为该属性的域。(5)实体型(Entity Type)用实体名及其属性名集合来抽象和刻画同类实体称为实体型(6)实体集(Entity Set)同型实体的集合称为实体集,12,1.信息世界中的基本概念,(7)联系(Relationship)现实世界中事物内部、以及事物之间的联系,在信息世界中反映为实体内部的联系和实体之间的联系。,实体内部的联系,实体之间的联系,运动员(姓名、性别、身高、体重),狗猫打架,学院(前面的例子),联系:学生在一个班级,学生选修课程,教师讲授课程,.,实体集:班级(S021,1班),(S022,2班),(S023,3班)课程(C001,遥感技术),(C002,地理信息系统)(C005,数据库),14,“填表”,表格“实体型”表格的栏“属性”栏中的填写限定的内容“域”,填好的一张表 实体,填好的一组表 实体集,15,两个实体型间的联系,一对一联系 如果对于实体集A中的每一个实体,实体集B中至多有一个实体与之联系,反之亦然,则称实体集A与实体集B具有一对一联系。记为1:1。实例班级与班长之间的联系:一个班级只有一个正班长一个班长只在一个班中任职,16,两个实体型间的联系,一对多联系如果对于实体集A中的每一个实体,实体集B中有n个实体(n0)与之联系,反之,对于实体集B中的每一个实体,实体集A中至多只有一个实体与之联系,则称实体集A与实体集B有一对多联系 记为1:n实例班级与学生之间的联系:一个班级中有若干名学生,每个学生只在一个班级中学习,17,两个实体型间的联系,多对多联系(m:n)如果对于实体集A中的每一个实体,实体集B中有n个实体(n0)与之联系,反之,对于实体集B中的每一个实体,实体集A中也有m个实体(m0)与之联系,则称实体集A与实体B具有多对多联系。记为m:n实例课程与学生之间的联系:一门课程同时有若干个学生选修一个学生可以同时选修多门课程,18,多个实体型间的联系,多个实体型间的一对多联系若实体集E1,E2,.,En存在联系,对于实体集Ej(j=1,2,.,i-1,i+1,.,n)中的给定实体,最多只和Ei中的一个实体相联系,则我们说Ei与E1,E2,.,Ei-1,Ei+1,.,En之间的联系是一对多的。,19,多个实体型间的联系,实例 课程、教师与参考书三个实体型如果一门课程可以有若干个教师讲授,使用若干本参考书,每一个教师只讲授一门课程,每一本参考书只供一门课程使用课程(Ei)与教师、参考书之间的联系是一对多的多个实体型间的一对一联系多个实体型间的多对多联系,20,同一实体集内各实体间的联系,一对多联系实例 职工实体集内部具有领导与被领导的联系某一职工(干部)“领导”若干名职工一个职工仅被另外一个职工直接领导这是一对多的联系一对一联系多对多联系,21,3.概念模型的表示方法,概念模型的表示方法很多实体联系方法(E-R方法)用E-R图来描述现实世界的概念模型E-R方法也称为E-R模型,22,E-R图,实体型用矩形表示,矩形框内写明实体名。,学生,教师,23,E-R图,属性用椭圆形表示,并用无向边将其与相应的实体连接起来,24,E-R图,联系联系本身:用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型(1:1、1:n或m:n)联系的属性:联系本身也是一种实体型,也可以有属性。如果一个联系具有属性,则这些属性也要用无向边与该联系连接起来,25,联系的表示方法,26,联系的表示方法,27,联系的表示方法示例,28,联系的表示方法示例,29,联系属性的表示方法,30,E-R图实例,利用E-R图来表达某工厂物资管理概念模型,第一步:请分析,工厂的物资管理涉及到哪些实体?,人?物?事?,仓库零件供应商项目职工,第二步:这些实体分别都有哪些属性?,如何标识、什么特征、如何刻画?,仓库号、面积、电话号码 零件号、名称、规格、单价、描述 供应商号、姓名、地址、电话号码、账号 项目号、预算、开工日期 职工号、姓名、年龄、职称,31,实体及其属性,E-R图实例,32,第三步:这些实体间存在何种联系?,E-R图实例,供应商,项目,零件,仓库,职工,供应,库存,工作,领导,供应量,库存量,供应商号,姓名,电话号,地址,账号,电话号,面积,仓库号,职工号,姓名,年龄,职称,项目号,预算,开工日期,描述,名称,单价,零件号,规格,p,m,n,m,n,1,n,1,n,E-R图,33,1.4 数据模型,1.4.1 概念模型 1.4.2 数据模型的组成要素 1.4.3 常用数据模型 1.4.4 层次模型 1.4.5 网状模型 1.4.6 关系模型,34,1.4.2 数据模型的组成要素,数据结构 数据操作 数据的约束条件,35,1.数据结构,什么是数据结构对象类型的集合两类对象与数据类型、内容、性质有关的对象(实体)与数据之间联系有关的对象(联系)数据结构是对系统静态特性的描述(数据的逻辑组织方式),(数据结构:数组、队列、链表、堆栈、树、图)刻画一个数据模型性质最重要的方面,36,2.数据操作,数据操作对数据库中各种对象的实例允许执行的操作及有关的操作规则。数据操作的类型检索更新(包括插入、删除、修改),37,2.数据操作,数据模型对操作的定义操作的确切含义操作符号操作规则(如优先级)实现操作的语言数据操作是对系统动态特性的描述。,38,3.数据的约束条件,一组完整性规则的集合。完整性规则是给定的数据模型中数据及其联系所具有的制约和储存规则,用以限定符合数据模型的数据库状态以及状态的变化,以保证数据的正确、有效、相容。,39,3.数据的约束条件,数据模型对约束条件的定义反映和规定本数据模型必须遵守的基本的通用的完整性约束条件。(如:二叉树只有两个子节点)例如在关系模型中,任何关系必须满足实体完整性和参照完整性两个条件。提供定义完整性约束条件的机制,以反映具体应用所涉及的数据必须遵守的特定的语义约束条件。(性别的域为:男或女)(夫妻关系为1对1联系),40,1.4 数据模型,1.4.1 概念模型 1.4.2 数据模型的组成要素 1.4.3 常用数据模型 1.4.4 层次模型 1.4.5 网状模型 1.4.6 关系模型,41,1.4.3 常用数据模型,非关系模型层次模型(Hierarchical Model)网状模型(Network Model)数据结构:以基本层次联系为基本单位 基本层次联系:两个记录以及它们之间的一对多(包括一对一)的联系,42,1.4.3 常用数据模型,关系模型(Relational Model)数据结构:表面向对象模型(Object Oriented Model)数据结构:对象,43,1.4 数据模型,1.4.1 概念模型 1.4.2 数据模型的组成要素 1.4.3 常用数据模型 1.4.4 层次模型 1.4.5 网状模型 1.4.6 关系模型,44,1.4.4 层次模型,1.层次数据模型的数据结构 2.层次数据模型的数据操纵 与完整性约束3.层次数据模型的存储结构 4.层次数据模型的优缺点 5.典型的层次数据库系统,45,1.层次数据模型的数据结构,层次模型 满足下面两个条件的基本层次联系的集合为层次模型。1.有且只有一个结点没有双亲结点,这个结点称为根 结点2.根以外的其它结点有且只有一个双亲结点层次模型中的几个术语根结点,双亲结点,兄弟结点,叶结点,层次模型是数据库系统中最早出现的数据模型,典型代表是IBM公司的IMS数据库管理系统.现实世界中,许多实体之间联系的自然抽象。层次模型数据结构:“有向树”,46,1.层次数据模型的数据结构,47,1.层次数据模型的数据结构,表示方法实体型:用记录类型描述。每个结点表示一个记录类型。属性:用字段描述。每个记录类型可包含若干个字段。联系:用结点之间的连线表示记录(类)型之间的 一对多的联系,48,1.层次数据模型的数据结构,例:教师-学生数据库模型,特点结点的双亲是唯一的只能直接处理一对多的实体联系每个记录类型定义一个排序字段,也称为码字段任何记录值只有按其路径查看时,才能显出它的全部意义没有一个子女记录值能够脱离双亲记录值而独立存在,49,1.层次数据模型的数据结构,层次模型中能否表示多对多联系?无法直接表达,只能用层次模型间接表示多对多联系。方法将多对多联系分解成一对多联系,冗余结点法,虚拟结点法,50,S-C,M,N,1 冗余结点法,2 虚拟结点法(指引元),将多对多联系分解为一对多联系(E-R图及其实现),S,C,51,2.层次模型的数据操纵与完整性约束,数据操纵 查询 插入 删除 更新,完整性约束进行插入操作时,如果没有相应的双亲结点值就不能插入子女结点值;(?新调来一个教师,还没确定划归哪个教研室)进行删除操作时,如果删除双亲结点值,则相应的子女结点值也被同时删除;(?删除教研室信息,则教研室所有教师信息被删除)修改操作时,应修改所有相应的记录,以保证数据的一致性。(多对多关系中,同一纪录出现两次,必须同时修改),52,3.层次数据模型的存储结构,邻接法按照层次树前序遍历的顺序把所有记录值依次邻接存放,即通过物理空间的位置相邻来实现层次顺序链接法用指引元来反映数据之间的层次联系子女兄弟链接法层次序列链接法(参阅数据结构课程相关内容),53,4.层次模型的优缺点,优点主要有:比较简单,只需很少几条命令就能操纵数据库,比较容易使用。(Pr:树形数据结构遍历简单)结构清晰,结点间联系简单,只要知道每个结点的双亲结点,就可知道整个模型结构。现实世界中许多实体间的联系本来就呈现出一种很自然的层次关系,(如表示行政层次,家族关系很方便)它提供了良好的数据完整性支持。,54,4.层次模型的优缺点,非层次性的联系;不能直接表示两个以上的实体型间的复杂的联系和实体型间的多对多联系,只能通过引入冗余数据或创建虚拟结点的方法来解决,易产生不一致性。对数据的插入和删除的操作限制太多。查询子女结点必须通过双亲结点。,55,5.典型的层次数据库系统,IMS数据库管理系统第一个大型商用DBMS1968年推出IBM公司研制,56,1.4 数据模型,1.4.1 数据模型的组成要素 1.4.2 概念模型 1.4.3 最常用的数据模型 1.4.4 层次模型 1.4.5 网状模型 1.4.6 关系模型,57,1.网状数据模型的数据结构,网状模型,满足下面两个条件的基本层次联系的集合为网状模型。1.允许一个以上的结点无双亲;2.一个结点可以有多于一个的双亲。,58,1.网状数据模型的数据结构,59,1.网状数据模型的数据结构,表示方法(与层次数据模型相同)实体型:用记录类型描述。每个结点表示一个记录类型。属性:用字段描述。每个记录类型可包含若干个字段。联系:用结点之间的连线表示记录(类)型之 间的一对多的父子联系。,60,1.网状数据模型的数据结构,特点只能直接处理一对多的实体联系每个记录类型定义一个排序字段,也称为码字段任何记录值只有按其路径查看时,才能显出它的全部意义,61,1.网状数据模型的数据结构,网状模型与层次模型的区别网状模型允许多个结点没有双亲结点网状模型允许结点有多个双亲结点,62,1.网状数据模型的数据结构,网状模型与层次模型的区别网状模型允许两个结点之间有多种联系(复合联系),63,1.网状数据模型的数据结构,网状模型与层次模型的区别网状模型可以更直接地去描述现实世界,64,2.网状模型的数据操纵与完整性约束,网状模型的数据操纵主要包括查询、插入、删除和修改数据。插入数据时,允许插入尚未确定双亲结点值的子女结点值,如可增加一名尚未分配到某个教研室的新教师,也可增加一些刚来报到,还未分配宿舍的学生。删除数据时,允许只删除双亲结点值,如可删除一个教研室,而该教研室所有教师的信息仍保留在数据库中。修改数据时,可直接表示非树形结构,而无需像层次模型那样增加冗余结点,因此,修改操作时只需更新指定记录即可。它没有像层次数据库那样有严格的完整性约束条件,只提供一定的完整性约束。,65,3.网状数据模型的存储结构,关键实现记录之间的联系常用方法单向链接双向链接环状链接向首链接,66,网状模型的优点主要有:能更为直接地描述客观世界,可表示实体间的多种复杂联系。具有良好的性能和存储效率网状模型的缺点主要有:结构复杂,其DDL语言极其复杂。数据独立性差,由于实体间的联系本质上是通过存取路径表示的,因此应用程序在访问数据时要指定存取路径。,4.层次模型的优缺点,67,DBTG系统由DBTG提出的一个系统方案奠定了数据库系统的基本概念、方法和技术70年代推出实际系统Cullinet Software Inc.公司的 IDMSUnivac公司的 DMS1100Honeywell公司的IDS/2HP公司的IMAGE,5.典型的网状数据库系统,68,1.4 数据模型,1.4.1 数据模型的组成要素 1.4.2 概念模型 1.4.3 最常用的数据模型 1.4.4 层次模型 1.4.5 网状模型 1.4.6 关系模型,69,关系模型,关系模型是发展较晚的一种模型,在数据库技术发展的历史上,1970 年是发生伟大转折的一年。IBM公司的研究员 埃德加弗兰克科德()首次提出了数据库系统的关系模型。他发表了题为“大型共享数据银行数据的关系模型”(A Relation Model of Data for Large Shared Data Banks);1972 年,他提出了关系代数和关系演算的概念,定义了关系的并、交、投影、选择、连接等各种基本运算,为日后成为标准的结构化查询语言(S Q L)奠定了基础。他为此获得了1981年的图灵奖。,70,埃德加弗兰克科德生于英格兰多塞特郡 的波特兰(1923年 8月23日)。在牛津的埃克塞特学院研习数学与化学;第二次世界大战爆发以后,年青的科德应征入伍,在皇家空军服役,参与了许多惊心动魄的空战。二战结束,进入牛津大学学习数学。1948年,他来到纽约,加入了IBM公司,成为一名 数学程序员。1953年,出于对参议员约瑟夫麦卡锡的不满,他迁往加拿大渥太华居住了十年.之后他回到密歇根大学,计算机通信专业,1963年获得硕士学位,1965年又获得博士学位。两年后,科德去往IBM公司位于圣何塞的阿尔马登研究中心工作。70年提出关系模型(47岁)。1981年,科德因在关系型数据库方面的贡献获得了图灵奖.2003年4月18日,科德因心脏病在佛罗里达的家中去世,享年76岁.,介绍,71,另一个获得图灵奖的数据库专家詹姆斯尼古拉格雷(James Nicholas Gray)贡献:在数据库、事务处理研究和相关系统实现的技术领导工作 1998年 图灵奖“开创性的数据库研究”为自动提款机(ATM)、机票网上预定系统和GoogleEarth的诞生奠定了基础。,2007年,他独自航向旧金山湾金门大桥以西27海里的法拉伦岛打算撒母亲的骨灰,1月28日,失踪,James Nicholas Gray,72,1.关系数据模型的数据结构,在用户观点下,关系模型中数据的逻辑结构是一张二维表,它由行和列组成。,73,关系模型的基本概念,关系(Relation)一个关系对应通常说的一张表。元组(Tuple)表中的一行即为一个元组。属性(Attribute)表中的一列即为一个属性,给每一个属性起一个名称即属性名。,74,关系模型的基本概念,主码(Key)表中的某个属性组,它可 以唯一确定一个元组。域(Domain)属性的取值范围。分量元组中的一个属性值。关系模式对关系的描述关系名(属性1,属性2,属性n),75,在关系模型中,实体和联系都是用关系来表示的。(关系数据库的结构统统是“表”)实体联系,1.关系数据模型的数据结构,案例:实体:学生、教师、课程联系:学生选课、教师上课,学生,教师,课程,76,在关系模型中,实体是用关系来表示的实体型:直接用关系(表)表示。属性:用属性名表示。例如:学生(学号,姓名,性别,年龄,系别)课程(课程号,课程名,课时)教师(教师号,姓名,性别,年龄,职称,工资,岗位津贴,系别),1.关系数据模型的数据结构,77,S(学生表),78,T(教师表),79,C(课程表),80,实体间的联系也是用关系来表示的选课表(学号,课程号,成绩)任课表(教师号,课程号)思考:关系模型在表达一对一、一对多以及多对多关系时,方法是否完全一样?,1.关系数据模型的数据结构,81,SC(选课表)TC(任课表),一对一,一对多,多对多,82,多对多联系:直接用关系表示。一对多联系:隐含在实体对应的关系中。一对一联系:隐含在实体对应的关系中。,1.关系数据模型的数据结构,83,1.关系数据模型的数据结构,关系必须是规范化的,满足一定的规范条件最基本的规范条件:关系的每一个分量必须是一个不可分的数据项。,84,2.关系模型的数据操纵与完整性约束,查询、插入、删除、更新 数据操作是集合操作,操作对象和操作结果都是关系,即若干元组的集合。存取路径对用户隐蔽,用户只要指出“干什么”,不必详细说明“怎么干”大大地提高了数据的独立性,提高了用户的生产率。实体完整性、参照完整性及用户定义的完整性,85,3.关系数据模型的存储结构,表以文件形式存储 有结构的表(整体有结构、可转换)有的DBMS一个表对应一个操作系统文件 ACCESSEXCEL一个文件多个表 有的DBMS自己设计文件结构 SQL Server,86,87,关系模型的优点主要有:有较强的数学理论根据。数据结构简单、清晰,用户易懂易用,不仅用关系描述实体,而且用关系描述实体间的联系。关系模型的存取路径对用户透明,从而具有更高的数据独立性、更好的安全保密性,也简化了程序员的工作和数据库建立和开发的工作。关系模型的缺点主要有:查询效率往往不如非关系模型;因此,为了提高性能,必须对用户的查询表示进行优化,增加了开发数据库管理系统的负担。,4.关系模型的优缺点,88,5.典型的关系数据库系统,ORACLESQL ServerINFORMIXDB/2COBASEPBASEEasyBaseDM/2OpenBase,第一章小结,89,人的角色,概念模型(E-R图),现实世界,逻辑模型,DBMS,软件的角色,概念设计,支持,转化?,逻辑设计,如何支持?有何种内部结构?设计好的逻辑模型如何用DBMS实现?,小结,90,第一章 绪论,1.1 数据库系统概述1.2 数据库系统的组成1.3 数据库技术的研究领域1.4 数据模型1.5 数据库系统结构1.6 小结,91,1.5 数据库系统结构,A.数据库系统内部的模式结构 从数据库管理系统(DBMS)角度看 B.数据库系统外部的体系结构从数据库最终用户角度看,92,1.5 数据库系统结构,1.5.1 数据库系统模式的概念1.5.2 数据库系统的三级模式结构1.5.3 数据库的二级映象功能与数据独立性,93,数据库系统模式的概念,“型”和“值”的概念型(Type)对某一类数据的结构和属性的说明值(Value)是型的一个具体赋值例如:学生记录记录型:(学号,姓名,性别,系别,年龄,籍贯)该记录型的一个记录值:(900201,李明,男,计算机,22,江苏),94,数据库系统模式的概念,模式(Schema)数据库逻辑结构和特征的描述是型的描述反映的是数据的结构及其联系模式是相对稳定的模式的一个实例(Instance)模式的一个具体值反映数据库某一时刻的状态同一个模式可以有很多实例实例随数据库中的数据的更新而变动,95,1.5 数据库系统结构,1.5.1 数据库系统模式的概念1.5.2 数据库系统的三级模式结构1.5.3 数据库的二级映象功能与数据独立性,96,内模式,数据库,1,模式,外模式2,外模式1,外模式3,应用A,应用B,应用C,应用D,3,2,外模式/模式映象,模式/内模式映象,唯一,多个,(逻辑独立性),(物理独立性),变,变,不变,变,变,不变,应用程序员/最终用户,数据库设计人员/数据库管理员,数据库系统的三级模式结构,97,1模式(Schema),模式(也称逻辑模式)数据库中全体数据的逻辑结构和特征的描述所有用户的公共数据视图,综合了所有用户的需求一个数据库只有一个模式模式的地位:是数据库系统模式结构的中间层与数据的物理存储细节和硬件环境无关与具体的应用程序、开发工具及高级程序设计语言无关模式的定义数据的逻辑结构(数据项的名字、类型、取值范围等)数据之间的联系数据有关的安全性、完整性要求,通常所讲的逻辑设计重点考虑的就是模式,98,2.外模式(External Schema),外模式(也称子模式或用户模式)数据库用户(包括应用程序员和最终用户)使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示。,层次模型中的某个子树,网状模型中的某个子网,关系模型中的部分表、部分元组或部分属性,99,外模式的地位:介于模式与应用之间模式与外模式的关系:一对多外模式通常是模式的子集一个数据库可以有多个外模式。反映了不同的用户的应用需求、看待数据的方式、对数据保密的要求对模式中同一数据,在外模式中的结构、类型、长度、保密级别等都可以不同,2.外模式,100,外模式的地位:介于模式与应用之间外模式与应用的关系:一对多同一外模式也可以为某一用户的多个应用系统所使用,但一个应用程序只能使用一个外模式。,外模式的用途保证数据库安全性的一个有力措施。每个用户只能看见和访问所对应的外模式中的数据,2.外模式,BBS种不同等级用户能访问的内容不同。,101,3内模式(Internal Schema),内模式(也称存储模式)是数据物理结构和存储方式的描述是数据在数据库内部的表示方式记录的存储方式(顺序存储,按照B树结构存储,按hash方法存储)索引的组织方式数据是否压缩存储数据是否加密数据存储记录结构的规定一个数据库只有一个内模式,层次模型、网状模型、关系模型的具体存储格式,102,1.5 数据库系统结构,1.5.1 数据库系统模式的概念1.5.2 数据库系统的三级模式结构1.5.3 数据库的二级映象功能与数据独立性,103,三级模式与二级映象,三级模式是对数据的三个抽象级别二级映象在DBMS内部实现这三个抽象层次的联系和转换,104,1外模式模式映象,每一个外模式都对应一个外模式模式映象(多个映像)映象定义通常包含在各自外模式的描述中,保证数据的逻辑独立性当模式改变时,数据库管理员修改有关的外模式模式映象,使外模式保持不变。应用程序是依据数据的外模式编写的,从而应用程序不必修改,保证了数据与程序的逻辑独立性,简称数据的逻辑独立性。,105,2模式内模式映象,数据库中模式内模式映象是唯一的该映象定义通常包含在模式描述中,保证数据的物理独立性当数据库的存储结构改变了(例如选用了另一种存储结构),数据库管理员修改模式内模式映象,使模式保持不变应用程序不受影响。保证了数据与程序的物理独立性,简称数据的物理独立性。,106,1.5 数据库系统结构,A.数据库管理系统(DBMS)内部的模式结构 从数据库管理系统角度看B.数据库系统外部的体系结构从数据库最终用户角度看,107,补充:数据库系统外部的体系结构,单用户结构主从式结构分布式结构客户/服务器结构浏览器/应用服务器/数据库服务器结构,108,1.单用户数据库系统,整个数据库系统(应用程序、DBMS、数据)装在一台计算机上,为一个用户独占,不同机器之间不能共享数据。早期的最简单的数据库系统,109,2.主从式结构的数据库系统,一个主机带多个终端的多用户结构数据库系统,包括应用程序、DBMS、数据,都集中存放在主机上,所有处理任务都由主机来完成各个用户通过主机的终端并发地存取数据库,共享数据资源。,110,2.主从式结构的数据库系统,主机,终端,111,2.主从式结构的数据库系统,优点易于管理、控制与维护。缺点当终端用户数目增加到一定程度后,主机的任务会过分繁重,成为瓶颈,从而使系统性能下降。系统的可靠性依赖主机,当主机出现故障时,整个系统都不能使用。,112,3.分布式结构的数据库系统,数据库中的数据在逻辑上是一个整体,但物理地分布在计算机网络的不同结点上。网络中的每个结点都可以独立处理本地数据库中的数据,执行局部应用同时也可以同时存取和处理多个异地数据库中的数据,执行全局应用,优点适应了地理上分散的公司、团体和组织对于数据库应用的需求。缺点数据的分布存放给数据的处理、管理与维护带来困难。当用户需要经常访问远程数据时,系统效率会明显地受到网络传输的制约。,113,4客户服务器结构的数据库系统,把DBMS功能和应用分开网络中某个(些)结点上的计算机专门用于执行DBMS功能,称为数据库服务器,简称服务器。其他结点上的计算机安装DBMS的外围应用开发工具,用户的应用系统,称为客户机。,类型 集中的服务器结构 一台数据库服务器,多台客户机 分布的服务器结构 在网络中有多台数据库服务器 分布的服务器结构是客户服务器与分布式数据库的结合,114,5.浏览器/应用服务器/数据库服务器结构,客户端:浏览器软件、用户界面 浏览器的界面统一,广大用户容易掌握 大大减少了培训时间与费用。(IE几乎不用学就会)服务器端分为两部分:Web服务器、应用服务器数据库服务器等大大减少了系统开发和维护代价能够支持数万甚至更多的用户,115,第一章 绪论,1.1 数据库系统概述1.2 数据库系统的组成1.3 数据库技术的研究领域1.4 数据模型1.5 数据库系统结构1.6 小结,116,第一章 小结,数据模型概念模型E-R图方法三种数据模型的特点 层次、网状、关系,模式是数据库的中心与关键独立于数据库的其它层次设计数据库模式结构时应首先确定数据库的逻辑模式外模式内模式二级映像,