




已阅读5页,还剩91页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
数据库原理,曹智勇 理工教研室 32469239,1,参考书目、网站,Database Management Systems. Raghu Ramakrishnan, Johannes Gehrke. 清华大学出版社 An Introduction to Database Systems. C.J.Date. 机械工业出版社 数据库原理、编程与性能. Patrick ONeil Elizabeth ONeil. 机械工业出版社 数据库系统概论. 萨师煊、王珊. 高教出版社 数据库设计与实现. 王能斌, 董逸生。华中理工大学出版社 数据库系统基础. 冯玉才。华中理工大学出版社 Transaction Processing Concepts and Techniques. Jim Gray. 机械工业出版社。 数据库原理课程网站。:8000/webclass/database/,2,1.1 引 言,1.2 数据模型,1.3 数据库系统结构,1.4 数据库系统,1.5 现代数据库系统,第一章 数据库系统概论,本章小结,3,1.1 引 言,数据库技术是研究数据管理的技术。即如何妥善地保存和科学地管理数据。 1. 数据:存储在某种媒质上的、可以鉴别的符号资料。即:对现实世界中客观事物的符号表示(描述事物的符号记录),可以是数值数据,也可以是非数值数据,如声音、图像等。 信息:一定含义的,经过加工处理,对决策有价值的数据 2. 数据管理技术:对数据的收集、整理、组织、存储、维护、检索、传送等操作,基本目的就是从大量的,杂乱无章的,难以理解的数据中筛选出有意义的数据。,4,数据集1,应用程序1,数据集2,应用程序2,1.1 引 言,一、数据管理技术的产生和发展,数据管理的三个阶段: 人工管理 文件系统 数据库系统,5,人工管理阶段(-50年代中期), 计算机主要用于科学计算 数据量小、结构简单,如高阶 方程、曲线拟和等。 外存为顺序存取设备 磁带、卡片、纸带,没有磁盘 等直接存取设备。 没有操作系统及数据管理软件 用户用机器指令编码,通过纸 带机输入程序和数据,程序运 行完毕后,由用户取走纸带和 运算结果,再让下一用户操作。, 用户完全负责数据管理工作 数据的组织、存储结构、存 取方法、输入输出等。 数据完全面向特定的应用程序 每个用户使用自己的数据, 用完撤走不保存,无共享 数据与程序没有独立性 程序中存取数据的子程序 随着存储结构的改变而改变。,6,人工管理阶段,7,文件系统阶段(-60年代中期), 计算机不但用于科学计算, 还用于管理。 外存有了磁盘、磁鼓等直 接存取设备。 有了专门管理数据的软件, 一般称为文件系统。, 数据可以长期保存 共享性差 (一个文件对应一个程序。) 数据与程序有一定的独立性、大量冗余、无并发控制 文件的逻辑结构与存储 结构由系统进行转换 , 数据在存储上的改变不一定反映在程序上。,8,文件系统阶段,数据1,数据2,数据n,存取方法,程序1,程序2,程序n,9,数据库系统阶段(60年代末期), 计算机管理的数据量大,关系复杂, 共享性要求强(多种应用、 不同语言共享数据) 外存有了大容量磁盘,光盘 软件价格上升,硬件价格下降。, 数据有整体的结构性,面向全组织,面向现实世界 由DBMS统一存取,维护数据语义及结构 数据共享性好 数据与程序完全相互独立,1963年,美国System Development Corporation提出了Database一词,10,数据库系统阶段,11,文件系统与数据库系统比较实例,例:某系统涉及人事、科研、教学、工资四个部门。假定每个部门只有一种登记表。其结构如下:,人事文件,科研文件,教学文件,工资文件,12,文件系统与数据库系统比较实例,试建立该系统的数据结构。 文件系统: 建立与上述结构相同的四个文件。,数据库系统:(分三步进行) 第一步:建立全局数据逻辑结构。 数据的组织、存储与应用程序相分离独立进行,全面综合地考虑数据的组织,从整个系统的效率、性能出发来组织数据。 第二步:建立局部数据逻辑结构。 面向各个具体用户,从满足用户的需求出发,从全局数据逻辑结构导出各自所需的基本结构。,13,文件系统与数据库系统比较实例,第三步:建立数据物理结构。 面向物理存储、在保证全局数据逻辑结构的前提下,权衡系统的空间利用、效率等,按物理存储的最佳形式来组织文件结构。,第一层,第二层,第三层,14,文件系统与数据库系统比较概括,文件系统中的文件与数据库系统中文件的本质区别: 文件系统中的文件是面向应用的,一个文件基本对 应一个应用程序,文件之间不存在联系,数据冗余大; 数据库系统中的文件是面向整个应用系统,文件之间 相互联系,减少了数据冗余,实现了数据共享。,注意:,15,1.1 引言,数据库(DB) 按一定结构组织存储的、集成的、可共享的数据的集合。 数据库管理系统(DBMS) 管理和维护数据库的系统软件。 数据库系统(DBS) 具有管理数据库功能的计算机系统。 数据库技术 数据库技术是研究数据库的结构、存储、设计、管理和使用的一门软件学科;是一门综合性较强的学科。,关系?,二、四个相关概念,16,1.2 数据模型,数据库是一个有结构的、共享的数据集合,这个结构要使用数据模型来描述现实世界中事物间的联系。 数据模型是表示数据及其联系的模型。 数据模型分类 概念模型(也称语义模型) (常用E-R模型) 结构数据模型(简称数据模型) (层次模型、网状模型、关系模型),注意:,语义模型强调语义表达能力,建模容易、方便、概念简单、清晰,易于用户理解。它是一种独立于计算机系统的模型。,结构数据模型着重于具体描述数据的数据结构。,17,1.2 数据模型,能否一步到位,只建立结构数据模型呢?,回答:可以,但更多是采用分二步的设计方法。因为构造数据模型不是件简单的事,它既要模拟现实世界,又要考虑数据结构,存取效率等一系列因素,使问题变得复杂,对此,人们通过一个中间步骤,先用E-R模型反映实体及其联系,再从E-R模型出发结合具体数据模型进行转换。,18,1.2 数据模型,一、信息的三个世界,现实 世界,认识、分析、抽象,描述 规范转换,事物、特征 实体、属性 记录、项,19,1.2 数据模型,数据处理中的数据描述,从事物特性到计算机中的具体表示经历了三个领域: 现实世界、 信息世界、 机器世界,现实世界即客观世界,产生最原始 的数据。 基本概念:事物、特征。,20,1.2 数据模型,属性:实体的某一方面的特征(根据一样场景选取) 简单属性和复合属性 、单值属性和多值属性、存储属性和派生属性 属性域:属性的取值范围;含值的类型 实体型:某一实体属性的集合 实体集:性质相同的同类实体的集合。 码(Key) :唯一标识每个实体的属性或属性集,信息世界的基本概念: 实体:客观存在、可以相互区别的事物称为实体。 实体可以指事物,也可以指事物之间的联系。实体可以是具体的,也可以是抽象的。,信息世界是现实世界在人们头脑中 反映并用文字或符号记载下来,是 人对现实世界的认识抽象过程,经 选择、命名、分类等抽象工作后 进入信息世界。,21,1.2 数据模型,机器世界:数据化了的信息世界。 机器世界的基本概念: 字段(field)或数据项(data item):标记实体属性的命名单位,是数据库中的最小信息单位。 记录(record):字段值的有序集合。 记录型 : 字段名的有序集合。 文件 : 同类记录的集合。对应于实体集。 码(key):能唯一标识文件中每个记录的字段或字段集。,22,1.2 数据模型,三个世界术语间关系,23,1.3.1,黑色、木质、矩形、3.2m 1.4m,黑板,笑脸脸谱,黑白点阵,1.2 数据模型,三个世界的实例,颜色是黑色、材料是木材、形状是矩形、尺寸是长3.2米,高1.4米。,24,1.2 数据模型,在数据库中用数据模型这个工具来抽象、表示和处理现实世界中的数据和信息。通俗地讲数据模型就是现实世界的模拟。 数据模型分成两个不同的层次: (1) 概念模型,也称信息模型,它是按用户的观点来对数据和信息建模。 信息世界的模型。 (2)结构数据模型(简称数据模型!),主要包括网状模型、层次模型、关系模型等,它是按计算机系统的观点对数据建模。机器世界的模型。,25,1.2 数据模型概念模型,二、 概念模型(信息模型)及其扩展 概念模型概念及特点 概念模型用于信息世界的建模。概念模型不依赖于某一个DBMS支持的数据模型。概念模型可以转换为计算机上某一DBMS支持的特定数据模型。 概念模型特点: 具有较强的语义表达能力,能够方便、直接地表达应用中的各种语义知识. 应该简单、清晰、易于用户理解,是用户与数据库设计人员之间进行交流的语言。 表示概念模型的常用方法:实体联系(E-R)方法,26,1.2 数据模型概念模型,实体间的联系: 实体集间(不同实体集)的联系及实体集内部(各属性)的联系。,例: 系 - 系主任 学生 - 座位 班级 - 学生 公司 - 职员 学生 - 课程 运动员 - 项目,实体之间联系的类型: 一对一的联系,记为 11 一对多的联系,记为 1n 多对多的联系,记为 mn,27,一对一联系:实体集E1中每个实体至多和实体集E2中一个实体有联系,反之亦然。记为11。,1.2 数据模型概念模型,28,一对多联系:实体集E1中的每个实体与实体集E2中任意个实体有联系,而E2中每个实体至多和E1中的一个实体有联系,记为1n。,1.2 数据模型概念模型,29,多对多联系:实体集E1中的每个实体与实体集E2中任意个实体有联系,反之亦然,记为mn。,1.2 数据模型概念模型,30,E-R模型,实体联系模型(Entity Relationship Model)。该模型直接从 现实世界中抽象出实体类型及实体间联系,然后用E-R图 表示的数据模型。,在信息世界中建立的,完全不涉及信息在计算机系统中的表示(独立 子计算机系统)的数据模型,称为概念数据模型,简称概念模型。 最典型的是“实体联系模型”即E-R模型。,实体名,属性名,E-R图的四个基本成分:,矩形框表示实体型,椭圆形表示属性,菱形表示联系,连接实体型与联系类型,也可用于表示实体与属性的联系 并注明种类;对构成码的属性,在属性名下画一横线表示。,1.3.3,1.2 数据模型概念模型,31,首先确定实体类型:几个实体类型及相应的实体名 确定联系类型:各实体类型之间是否有联系,是何种联系类型及相应 的联系名 连接实体类型和联系类型,组合成E-R图 确定实体类型和联系类型的属性 确定实体类型的码,设计E-R图过程,1.3.3,1.2 数据模型概念模型,32,例:学生选修课程,学生,课程,选修,姓名,学号,系别,课程号,课程名,学分,成绩,用矩形表 示实体,用椭圆表示实体的属性,用无向边把实体与其属性连接起来,用菱形表示实体间的联系,实体与联系用线段连接并注明类型,m,n,1.3.3,1.2 数据模型概念模型,33,1.3.3,某工厂生产若干产品,每种产品由不同的零件组成,有的零件可用在不同 的产品上。这些零件由不同的原材料制成,不同零件所用的材料可以相同。这 些零件按所属的不同产品分别放在仓库中,原材料按照类别放在若干仓库中。 请用E-R图画出此工厂产品,零件,材料,仓库的概念模型。,产品,零件,材料,仓库,组成,制造,存储,存放,例:工厂产品、零件、材料和仓库,某工厂生产若干产品,每种产品由不同的零件组成,有的零件可用在不同 的产品上。这些零件由不同的原材料制成,不同零件所用的材料可以相同。这 些零件按所属的不同产品分别放在仓库中,原材料按照类别放在若干仓库中。 请用E-R图画出此工厂产品,零件,材料,仓库的概念模型。,产品,零件,材料,仓库,组成,制造,存储,存放,1.2 数据模型概念模型,34,35,ER图举例,用ER图表是某个工厂物质管理的概念模型 物质管理涉及到的实体有: 仓库:属性有仓库号、面积、电话号码 零件:属性有零件号、名称、规格、单价、描述 供应商:属性有供应商号、姓名、地址、电话号码、账号 项目:属性有项目号、预算、开工日期 职工:属性有职工号、姓名、年龄、职称,36,ER图举例,这些实体之间的联系如下: 一个仓库可以存放多种零件,一种零件可以存放在多个仓库中; 一个仓库可有多个职工当仓库保管员,一个职工只能在一个仓库工作; 职工之间有领导-被领导的关系; 供应商、项目、零件三者之间具有多对多的联系。即一个供应商可以供给若干项目多种零件,每个项目可以使用不同供应商供应的零件,每种零件可由不同的供应商供给,37,ER图举例,38,ER图举例,39,扩充的E-R模型-EE-R模型 实体集可继承 增加了IS-a联系(超-子联系)。 超实体集:矩形表示。 子实体集:两端双线的矩形表示。 超-子联系:直线带小圆圈表示。,1.2 数据模型概念模型扩展,40,实体集可嵌套 属性可以是某个实体集。实体集的嵌套关系用有向线段表示。,学院与院长关系的EE-R图表示,1.2 数据模型概念模型扩展,41,1.2 数据模型结构数据模型,三、数据模型 数据模型概念 数据模型是表示实体集之间联系的模型。它建立于概念模型的基础上,是一个适合于计算机表示的数据库层的模型。 数据模型组成的要素:数据结构;数据操作;数据约束条件 (1)数据结构(描述系统的静态特性) 是所研究的对象类型(Object type)的集合,包括:数据的类型、内容、属性以及数据之间的联系。数据库对象类型的集合包括:与数据类型、内容、性质有关的对象,如关系模型中的域、属性、关系等;与数据间联系有关的对象,如网状模型中的系型,关系模型中的码、外码。,42,1.2 数据模型结构数据模型,数据组织结构是描述数据模型最重要的方面,通常按数据组织结构的类型来命名数据模型。如网状图结构-网状模型。 数据之间联系的表示方式有隐式和显式两种。隐式通过数据自身的关联或位置顺序表示,显式通过附加指针表示。 (2)数据操作(描述系统的动态特性) 是数据库中的各种对象的实例(值)允许执行的操作的集合。主要有检索和更新(插入、删除、修改)两类操作。数据模型必须定义这些操作的确切含义、操作符号、操作规则、实现操作的语言。,43,1.2 数据模型结构数据模型,(3)数据的约束条件 是一组完整性规则的集合。给出数据及其联系所具有的制约、依赖和存储规则,用于限定数据库的状态和状态变化,保证数据库中的数据的正确、有效、完全和相容。 数据模型的新特征 (1)数据特征 数据可以是多维的、易变、多态的。,44,1.2 数据模型结构数据模型,(2)数据结构 数据类型更丰富;数据格式多样化。 (3)数据操作 包含特殊的操作(如:执行、领域搜索、浏览和时态查询等)、数据的互操作性、数据操作的主动性。 数据模型的分类 (1)三种基本数据模型 层次模型、网状模型、关系模型。 (2)面向对象模型 (3)谓词模型 (4)扩充的数据模型,45,1.2 数据模型结构数据模型,4.层次模型 (1)层次模型的数据结构 层次模型用树形结构来表示各类实体以及实体间的联系。每个结点表示一个记录类型,结点之间的连线表示记录类型间的联系,这种联系只能是父子联系。每个记录类型可包含若干个字段,这里,记录类型描述的是实体,字段描述实体的属性。 任何一个给定的记录值只有按其路径查看时,才能显出它的全部意义,没有一个子女记录值能够脱离双亲记录值而独立存在。 限制: 只有一个结点没有双亲结点,称之为根结点 根以外的其它结点有且只有一个双亲结点 这就使得层次数据库系统只能处理一对多的实体关系。,46,1.2 数据模型结构数据模型,记录类型,1: n的联系,层次模型的基本特点: 需按路径查看给定记录的值。,47,1.2 数据模型结构数据模型,(2)转换为层次结构的方法(树:一个根,一对多) 将多对多联系转换为层次结构 方法:引入冗余结点将一个多对多联系转换为两个一对多联系。, 将非树型结构转换为树型结构 引入冗余结点法 方法:先取一个无父结点的结点作为第一棵树的根,然 后填上其孩子和孙子。如果还有在第一棵树中没有出现过的 结点,则按相同的方法造第二、三棵树,直到所有的结点 都出现在已造的树中为止。,48,1.2 数据模型结构数据模型,引入虚拟结点法 方法:造树过程与引入冗余结点法相似,不同的是对 已出现过的结点用该结点的虚拟结点代之。虚拟结点是 一个指针,指向所代替的结点。 优点:减少了存储空间的浪费,易于维护数据的一致性。 缺点:结点存储位置的移动会引起虚拟结点中指针的修改。,49,1.2 数据模型结构数据模型,(3)层次模型的数据操纵与完整性约束 数据操纵: 查、插、删、改结点值 需满足完整性约束条件(树): 插入:无双亲不能插子女; 删除:删双亲则子女无; 修改:保证一致性。 (4)层次模型的存储结构 邻接法:按树前序序列依次存放记录值 链接法 层次序列链接法 子女-兄弟链接法,50,1.2 数据模型结构数据模型,(5) 层次模型的优缺点 优点: 数据模型比较简单,操作简单。 对于实体间联系是固定的,且预先定义好的应用系统,性能较高。 提供良好的完整性支持。 缺点: 不适合于表示非层次性的联系。 对插入和删除操作的限制比较多。 查询子女结点必须通过双亲结点。 由于结构严密,层次命令趋于程序化。,51,1.2 数据模型结构数据模型,5. 网状模型 网状数据模型是一种比层次模型更具普遍性的结构,它去掉了层次模型的两个限制,允许多个结点没有双亲结点,允许结点有多个双亲结点,此外它还允许两个结点之间有多种联系(称之为复合联系)。,52,1.2 数据模型结构数据模型,(1) 数据结构 图结构(更多采用DBTG的系结构),L1,L2,系主,成员,图表示实体集及实体集间的联系 实体集:节点。 联系:系。,系:两个实体集之间的联系,用基本层次联系1:m表示,包含系型和系值。 系型:主记录型(1),称为系主;属记录型(m),称为成员。 系值:系型的实例。,53,1.2 数据模型结构数据模型,(2) 网状模型的操纵与完整性约束 一个记录型不能在同一个系型中既是主记录型又是属记录型。 一个记录不能出现在同一系型的多个系值中。 任何一个系值中至多只有一个主记录。 插入一个新记录时,必须遵守插入系籍约束。 删除一个记录时,必须遵守删除系籍约束。,(3)存储结构 链接法(P.284)主记录 = 属记录,s1,C1,54,1.2 数据模型结构数据模型,(4) 网状模型的优缺点 优点: 能够更为直接地描述现实世界。 具有良好的性能,存取效率较高。 缺点: 其DDL语言极其复杂。 数据独立性较差。由于实体间的联系本质上通过存取路径指示的,因此应用程序在访问数据时要指定存取路径。,55,1.2 数据模型结构数据模型,6.关系模型 (1)数据结构,属性,元组,学号 姓名 年龄,关系 元组 属性、分量 主码(主Key) 域 元数(度、目) 关系模式:关系结构的描述 R(A1 ,A2,A3,.An),表 结 构,主码,关系名,属性名,例:学生(学号,姓名,年龄),56,1.2 数据模型结构数据模型,(2)操纵与完整性约束 数据操纵:查、插、删、改结点值 关系模型中的数据操作是集合操作,操作对象和操作结果都是关系,即若干元组的集合。 关系模型把存取路径向用户隐蔽起来,用户只要指出“干什么”,不必详细说明“怎么干”,从而大大地提高了数据的独立性,提高了用户生产率。 关系数据库标准操作语言是SQL语言。 需满足关系的完整性约束条件,57,1.2 数据模型结构数据模型,(3)存储结构 实体及实体间联系都用表表示。 表以文件形式存储 一个文件一个表或者多个文件一个表。,表 结 构,58,号,1.2 数据模型结构数据模型,关系数据模型的优缺点 优点: 关系模型是建立在严格的数学概念的基础上的。 无论实体还是实体之间的联系都用关系来表示。对数据的检索结果也是关系(即表),因此概念单一,其数据结构简单、清晰。 关系模型的存取路径对用户透明,从而具有更高的数据独立性,更好的安全保密性,也简化了程序员的工作和数据库开发建立的工作。 缺点: 由于存取路径对用户透明,查询效率往往不如非关系数据模型。因此为了提高性能,必须对用户的查询请求进行优化,增加了开发数据库管理系统的负担。,59,1.2 数据模型结构数据模型,层次模型、网状模型、关系模型比较: 层、网 关系 数据结构: 复杂 简单 联系表示: 指针链接 二维表 出现年代 68,69 70 理论基础 无 关系规范化理论 查询效率 较高 较低 数据独立性 较差 较高 DML操作方式 过程式 非过程式,60,1.3 数据库系统结构,从DBMS角度看(DBS内部的体系结构): 外部级 概念级 内部级 从DB用户角度看(DBS外部的体系结构) 单用户结构 主从结构 客户/服务器结构 分布式结构,61,应用程序,应用程序,应用程序,外模式 A,外模式 B,外模式 / 模式,概念模式,模式 / 内模式,用户级数据库,概念级数据库,物理级数据库,DBMS,OS,内模式,1.3 数据库系统结构,62,1.3 数据库系统结构,1. DBMS角度的三级模式结构 (1)模式概念 模式(schema)是数据库中全体数据的逻辑结构和特征的描述,它仅仅涉及到型的描述,不涉及到具体的值。 模式的一个具体值称为模式的一个实例(instance)。 同一个模式可以有很多实例。模式是相对稳定的,而实例是相对变动的。模式反映的是数据的结构及其关系,而实例反映的是数据库某一时刻的状态。 (2)模型与模式的区别 模型是以图形来表示的,给人以直观清晰、一目了然之感。但计算机是无法识别的,必须用一种语言(即DDL,DBMS提供)来描述它。 模式是对模型的描述。 (3)DBMS的三级模式:外模式,模式,子模式。,63,1.3 数据库系统结构,模式(也称概念模式) 数据库中全体数据的逻辑结构和特征的描述 所有用户的公共数据视图,综合了所有用户的需求 一个数据库只有一个模式 模式的地位:是数据库系统模式结构的中间层 与数据的物理存储细节和硬件环境无关 与具体的应用程序、开发工具及高级程序设计语言无关 模式的定义 数据的逻辑结构(数据项的名字、类型、取值范围等) 数据之间的联系 数据有关的安全性、完整性要求,64,1.3 数据库系统结构,外模式(也称子模式或用户模式) 数据库用户(包括应用程序员和最终用户)使用的局部数据的逻辑结构和特征的描述 数据库用户的数据视图,是与某一应用有关的数据的逻辑表示 外模式的用途 保证数据库安全性的一个有力措施。 每个用户只能看见和访问所对应的外模式中的数据,65,1.3 数据库系统结构,外模式的地位:介于模式与应用之间 模式与外模式的关系:一对多 外模式通常是模式的子集 一个数据库可以有多个外模式。反映了不同的用户的应用需求、看待数据的方式、对数据保密的要求 对模式中同一数据,在外模式中的结构、类型、长度、保密级别等都可以不同 外模式与应用的关系:一对多 同一外模式也可以为某一用户的多个应用系统所使用, 但一个应用程序只能使用一个外模式。,66,1.3 数据库系统结构,内模式(也称存储模式) 是数据物理结构和存储方式的描述 是数据在数据库内部的表示方式 记录的存储方式(顺序存储,按照B树结构存储,按hash方法存储) 索引的组织方式 数据是否压缩存储 数据是否加密 数据存储记录结构的规定 一个数据库只有一个内模式,67,1.3 数据库系统结构,应用1,模式,DB,应用3,应用m,.,外模式1,外模式2,外模式n,变换1,变换2,内模式,应用2,.,公共数据视图,内部存储视图,用户数据视图,三级模式间的联系: 模式是内模式的逻辑表示;内模式是模式的物理实现;外模式是模式的逻辑子集。,68,1.3 数据库系统结构,数据库的二级映象功能 外模式/模式映象(变换1) 模式/内模式映象(变换2) (1)实现逻辑数据到物理数据的转换 (2)实现数据独立性 外模式/模式映象:实现数据逻辑独立性 模式/内模式映象:实现数据物理独立性,69,1.3 数据库系统结构,外模式模式映象内容 定义外模式与模式之间的对应关系 每一个外模式都对应一个外模式模式映象 映象定义通常包含在各自外模式的描述中 外模式模式映象用途保证数据的逻辑独立性 当模式改变时,数据库管理员修改有关的外模式模式映象,使外模式保持不变 应用程序是依据数据的外模式编写的,从而应用程序不必修改,保证了数据与程序的逻辑独立性,简称数据的逻辑独立性。,70,1.3 数据库系统结构,模式内模式映象 模式内模式映象定义了数据全局逻辑结构与存储结构之间的对应关系。例如,说明逻辑记录和字段在内部是如何表示的 数据库中模式内模式映象是唯一的 该映象定义通常包含在模式描述中,71,1.3 数据库系统结构,模式内模式映象的用途保证数据的物理独立性 当数据库的存储结构改变了(例如选用了另一种存储结构),数据库管理员修改模式内模式映象,使模式保持不变 应用程序不受影响。保证了数据与程序的物理独立性,简称数据的物理独立性。,72,1.3 数据库系统结构,2.数据抽象-三级数据库 用户级:以外模式为结构建立起的数据库。 概念级:以概念模式为结构建立起的数据库。 物理级:以内模式构建起来的数据库。 3.数据库系统的体系结构 从最终用户角度看,数据库系统分为: (1) 单用户结构 所有应用程序、DBMS、数据都装在一台计算机上,由一个用户独占。 缺点:数据冗余大,数据不共享。,73,1.3 数据库系统结构,(2) 主从式结构 一个主机带多个终端的多用户系统。 主机上:应用程序、DBMS、数据库 终端:各用户通过主机的终端并发存取数据库,共享数据资源。 缺点:终端数目增加时, 主机负担过重系, 统性能下降。 (3)客户/服务器结构(Client/Sevver) C/S体系结构的关键在于功能的分布上。从数据库角度看,把原主机负担的非数据库系统的工作交给客户机承担,而数据库服务器则专司DBMS的功能。,74,1.3 数据库系统结构,功能划分: 客户端:由一些应用程序构成,包括:格式处理、数据输入、报表输出、图形界面、用户界面等。 服务器端:数据库、完成事务处理和数据控制(并发、恢复、安全性、完整性)等方面的功能。 两层C/S结构 由服务器、客户机在局部范围内建立局域网。数据库设置在服务器中,客户机可存放其备份或临时表。 工作模式:应用程序运行在客户机上。当需要对数据库进 行操作时,就向数据库服务器发一个请求,数据库服务器 收到请求后执行相应的数据库操作,并将结果返回给客户 机上的应用程序。,75,1.3 数据库系统结构, 三层C/S结构(B/S结构)Browser/Server模式,客户机,TCP/IP协议,76,1.3 数据库系统结构,客户端: 借助Web浏览器处理简单的客户端处理请求,显示用户界面及服务器端运行结果。 Web服务器: 负责接收远程或本地的数据查询请求,然后运行服务器脚本,借助中间件把数据通过ODBC发送到数据库服务器上以获取相关数据,再把结果数据传回客户的Browser。 数据库服务器: 负责管理数据库,处理数据更新及完成查询要求,运行存储过程。,77,1.3 数据库系统结构,(4)分布式系统 (DDBSDistributed Data Base System) 数据库中的数据在逻辑上是一个整体,但物理地分布在计算机网络的不同节点上。 DDBS的特点: 分布性 数据库中的数据不是存储在同一场地,而是分布存储在多个场地上。 逻辑整体性 数据在逻辑上是相互联系的,是一个整体,支持全局应用。,78,1.3 数据库系统结构,全局应用涉及两个或两个以上场地中数据库的应用。 自治性 每个场地是独立的DBS,它有自己的数据库,自己的用户,自己的CPU,运行自己的DBMS,执行局部应用,具有高度的自治性。 协作性 各个场地的DBS又相互协作组成一个整体。 优点:更大范围内的数据共享。 缺点: 数据的分布存放,给数据的处理、管理与维护带来困难。 系统的效率受网络通信的制约。,79,1.4 数据库系统,数据库系统的组成: 软、硬件平台 硬件平台 计算机、网络。 软件平台 操作系统、数据库系统开发工具 、接口软件。 数据库管理系统 数据库 数据库应用软件及界面,人 DBA 系统分析员 应用程序员 用户 DBA的职责: (1)决定数据库中的信息内容和结构。 (2)决定数据库的存储结构和存储策略。 (3)定义数据的安全性要求和完整性约束条件。 (4)监控数据库的使用和运行。 (5)数据库的重组和重构。,80,1.4 数据库系统,用户的职责:具体操作应用系统,通过应用系统的用户界面使用数据库来完成其业务活动。数据库的模式结构对最终用户是透明的。 应用程序员的职责:以外模式为基础编制具体的应用程序,操作数据库,数据库的映象功能保证了他们不必考虑具体的存储细节。 系统分析员的职责:因为要负责应用系统的需求分析与规范说明,需要从总体上了解、设计整个系统,因此他们必须与用户及数据库管理员相结合,确定系统的软硬件配置并参与数据库各级模式的概要设计。,81,1.4 数据库系统DBMS,一、DBMS的功能 1、数据定义 数据定义包括定义构成数据库结构的模式、存储模式和外模式,定义各个外模式与模式之间的映射,定义模式与存储模式之间的映射,定义有关的约束条件。 2、数据操纵 数据操纵包括对数据库数据的检索、插入、修改和删除等基本操作。 3、数据库运行管理 包括对数据库进行并发控制、安全性检查、完整性约束条件的检查和执行、数据库的内部维护(如索引、数据字典的自动维护)等,以保证数据的安全性、完整性、一致性以及多用户对数据库的并发使用。,82,1.4 数据库系统DBMS,4、数据组织、存储和管理 对数据字典、用户数据、存取路径等数据进行分门别类地组织、存储和管理,确定以何种文件结构和存取方式物理地组织这些数据,如何实现数据之间的联系,以便提高存储空间利用率以及提高随机查找、顺序查找、增、删、改等操作的时间效率。 5、数据库的建立和维护 建立数据库包括数据库初始数据的输入与数据转换等。 维护数据库包括数据库的转储与恢复、数据库的重组织与重构造、性能的监视与分析等。 6、数据通信接口 DBMS需要提供与其他软件系统进行通信的功能。例如提供与其他DBMS或文件系统的接口,从而能够将数据转换为另一个DBMS或文件系统能够接受的格式,或者接收其他DBMS或文件系统的数据。,83,1.4 数据库系统DBMS,二、DBMS的组成 1、数据定义语言及其翻译处理程序 数据定义语言(Data Definition Language,简称DDL)供用户定义数据库的模式、存储模式、外模式、各级模式间的映射、有关的约束条件等。 用DDL定义的外模式、模式和存储模式分别称为源外模式、源模式和源存储模式,各种模式翻译程序负责将它们翻译成相应的内部表示,即生成目标外模式、目标模式和目标存储模式。这些目标模式描述的是数据库的框架,而不是数据本身。这些描述存放在数据字典(亦称系统目录)中,作为DBMS存取和管理数据的基本依据。 2、数据操纵语言及其翻译解释程序 数据操纵语言(Data Manipulation Language,简称DML)用来实现对数据库的检索、插入、修改、删除等基本操作。,84,1.4 数据库系统DBMS,3、数据运行控制程序 系统运行控制程序负责数据库运行过程中的控制与管理(包括系统初启程序、文件读写与维护程序、存取路径管理程序、缓冲区管理程序、安全性控制程序、完整性检查程序、并发控制程序、事务管理程序、运行日志管理程序等)。 4、实用程序 包括数据初始装入程序、数据转储程序、数据
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 采购玻璃合同协议
- 白蚁治理合同协议
- 钢材批发合同协议
- 灯具转让合同协议
- 编制单位合同协议
- 纺织原料合同协议
- 购买冷库合同协议
- 电杆运输合同协议
- 2025年中国数码镜框镜片市场调查研究报告
- 2025年中国折盒圆桶片市场调查研究报告
- 实验室危险化学品安全管理
- 新疆乌鲁木齐市(2024年-2025年小学六年级语文)部编版期末考试(上学期)试卷及答案
- 初中数学新课程标准(2024年版)
- 计算机网络技术基础(微课版)(周舸第6版) 各章课后习题
- 中华传统文化进中小学课程教材指南
- 医疗抢救设备仪器培训
- 多模态数据应用案例分析
- 2025年中国电信云网资源管理技能认证考试题库(含各题型)
- 青春自护-远离不良诱惑主题班会
- 结构化面试的试题及答案
- 架空管道安装方案
评论
0/150
提交评论