数据库系统概念和体系结构_第1页
数据库系统概念和体系结构_第2页
数据库系统概念和体系结构_第3页
数据库系统概念和体系结构_第4页
数据库系统概念和体系结构_第5页
已阅读5页,还剩80页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

信息科学与技术学院计算机科学系数据库系统概论主讲教师:许速联系方式:xusu@haut・edu・cn课程基本情况学时:54授课学时:44实验学时:10学分:3.5课程性质:计算机科学技术专业核心课程考试形式:期末闭卷笔试+平时成绩(实验)要求:实验不允许抄袭、课堂保持安静课程简介1.数据库技术作为数据管理的最有效的手段,它的出现极大地促进了计算机应用的发展,目前基于数据库技术的计算机应用己成为计算机应用的主流。2.当前,数据库技术已成为计算机领域中最重要的技术之一,是软件学科的一个独立分支。3.关系数据库已取代了早期的层次数据库与网状数据库,成为主流数据库,而新一代数据库也崭露头角。本课件以关系数据库为重点,比较全面系统地介绍了数据库的基本概念和基本技未。课程主要内容■第一篇基础篇(1-5章)■第二篇设计与应用开发篇(6-8章)■第三篇系统篇(9-11章)引_——数据库技术的产生及发展概况1、数据库技术的概念数据库技术是研究如何科学的组织、储存数据和高效进行数据检索和处理的一门学科。2、数据库技术的产生■1964年,美国通用电气公司成功开发了第一个网状数据库管理系统IDS(IitegratedDataStore)从而奠定了网状数据库的基础。■60年代末IBM公司于也推出立第一个商业化的层次数据库管理系统IMS(InformationManagementSystem),标志着数据管理技术进入了数据库系统阶段。■1970美国发表了“大型共享系统的关系数据库的关系模型”的论文,首次提出了关系数椐库模型,开创了数椐库关系方法和关系理论的研究,为关系数据库技术奠定了理论基础。■80年代以来,几乎所有新开发的系统均是关系数据库,也是数据库技术广泛的应用于企业管理、情报检索、辅助决策等方面,成为实现和优化信息系统的基本技术。3、数据库技术的新发展当今数据库系统是一个大家族,数据模型丰富多样,新技术内容层出不穷,应用领域也日益广泛。数据库技术与其它相关技术的结合产生了许多新的数据库类型。分布式处埋枝木*一数衔库并行处璦枝木<一一人工智能枝术◄一一多媒体枝木*分布式数梅库系统>弟行数铕库系统*知识库系统、主动数据库*多媒体数梅库系统模糊枝木♦>模袖数衔库系统4、面向应用领域的数据库新技术EIS&DSS一4-►数据仓库CAD/CAM/CIM—4-►工程数据库-fcdb-JC'计划、统计-戮烟厍技不4->统计数据库地理信息系统-<-►空间数据库第1章绪论数据库系统的概念和体系结构本章内容■什么是数据库?■数据库的基本概念1.1★■为什么要用数据库来管理数据?■数据管理技术的发展、数据库的特点1.1■数据在数据库中是怎样表达的?■数据模型1.2★

★■数据库的体系(系统)结构1.3■数据库系统的组成1.4数据库的基本概念•数据和信息(DataandInformation)•数据库(DB)•数据库管理系统(DBMS)•数据库系统(DBS)基本概念-数据和信息描述事物的符号记录称为数据(Data,萨师煊、王珊)。口数据有多种表现形式,可以是数字、文字、图形、图像、声音和语言等;□数据经过数字化后被输入到计算机中。对数据的解释称为信息(Information)。□数据的形式还不能表达其内容,需要经过解释;□数据是信息的载体,信息是数据的内涵,是对数据语义的解释。基本概念-什么是数据库?数据库(Database,DB)是长期存储在计算机内、有组织、可共享的数据集合。典型地,这些数据描述了一个或多个相关组织的活动。□数据是持久的□数据是按一定的数据模型组织、描述和储存□数据是集成的□数据是共享的基本概念-什么是数据库管理系统?在数据库和数据库用户之间有一软件层,它通常被称为数据库管理系统(DatabaseManagementSystem,DBMS),是一个帮助用户创建和管理数_应用程序集合。©@©QueryOptimizationandExecutionRelationalOperatorsFilesandAccessMethods□访问数据库的请求都是由DBMS来处理的;□DBMS提供了许多对数据操作的实用程序,如增加和删除表,检索或更新数据;□DBMS提供的基本功能为数据库用户屏蔽了物理层的细节。BufferManagementDiskSpaceManagement---DB基本概念-DBMS的功能P5□数据定义功能用户一般通过数据定义语言(DDL)对数据库中的数据对象进行定义。□数据组织、存储和管理DBMS在存储级确定数据以及数据间的联系的组织和存取方法□数据操作功能用户一般使用数据操作语言(DML)操作数据实现对数据库的基本操作,如查询、插入、删除和修改等。I□数据库的运行管理数据库在建立、运行和维护时由DBMS统一管理、统一控制,以保证数据的安全性、完整性、多用户数据的并发使用及发生故障后的系统恢复。□数据库的建立和维护它包括数据库数据导入、导出,数据库的转储,重组织和性能监视、分析功能等。这些功能通常是由一些实用程序完成的。基本概念-什么是数据库系统?■数据库系统是指在计算机系统中引入数据库后的系统构成,一般由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员和用户构成。数据库管理技术的发展阶段数据管理技术经历了人工管理、文件管理、数据库系统三阶段。手工管理(直接书写机器语古)D01010111110010111001001101011001101010011110000010100101001000010000000文件管理(程序管理数据)main(){inta,b,c;fopenfj-i-);腿库髄(自拽理儲)select*fromSinsertdelete人工管理阶段程序与数据的关系应用程序1数据组1应用程序2数据组2□O应用程序n数据组n文件系统阶段P7■设有如下数据:■则文件系统中应用程序与数据的使用对应方式:职工:职工号姓名单位性别年龄工龄职称工资工资:职工号姓名职称工龄工资房租水电教课:职工号单位姓名职称课程名学时职员管理程序职工数据1+职员文件工资管理程序―工资数据—X―工资文件授课管理程序-_—授课数据——授课文件应用程序逻辑结构存取方法物理文件程序与数据的关系应用程序1应用程序2OS应用程序n文件1文件2文件n文件为基础的数据管理系统的不足:■程序和数据不独立1程序必须知道文件的结构。■数据重复□同样的数据可能会重复保存在不同的文件中,造成数据的不完整性■难于保证数据的完整性□修改数据引起的改变■难以提供符合用户不同要求的信息□用户在实际应用中所需要的信息很可能是几个文件中的部分信息的组合、合并的结果■难于保障安全□具有相同权限的用户都可以修改文件,文件内的数据却难于采取保密措施。数据库管理阶段程序与数据的对应关系职员管理程序-►局部数据结构之-—肄箱SS31-1工资管理程序局部数据结构之二DB1_1授课管理程序-局部数据结构之三数据库方法的特点口数据结构化□程序与数据分离以及数据独立性□支持数据的多视图□数据共享和多用户事务处理□数据库系统自描述特点数据库方法的特点-数据结构化数据库系统实现了整体数据的结构化。“整体结构化”指在整个数据库中的数据不再仅仅针对某一个应用,而是面向全组织的;不仅数据内部是结构化的,而且整体式结构化的,数据之间是有联系的。数据库方法的特点-程序与数据分;在传统的文件处理中,数据文件的结构总是嵌入在存取它的程序中。因此,文件结构的任何改变需要同时改变存取这一数据文件的所有程序,称为数据依赖(Datadependence)□数据独立性(DataIndependence)的定义是指能够使应用程序免予随着数据物理存储和访问方式的变化而变化。数据库方法的特点-多视图一个DBMS通常会有许多用户,而每个用户可能需要一个不同的数据库的表现形式,或者说一个不同的数据库视图(view)。数据库方法的特点-数据共享和事务处理多用户DBMS的一个基本任务即是保证并发事务可以正确地执行。事务(transaction)是用户定义的一个数据库操作序歹IJ,这些操作要么全做要么全不做,是一个不可分割的工作单位。事务的四个特性(ACID)•原子性(A)•一致性(C)•隔离性(I)•持久性(D)数据库方法的特点-自描述数据库系统不仅包括数据库本身,还包括了数据库的结构和约束条件的完整定义和说明。这些定义被保存在系统目录(systemcatalog)中:系统目录中的信息包括:每个文件的结构信息、每个数据项的类型和存储格式,以及加在数据上的各种约束条件。这种存储于系统目录中的信息称为元数据(meta¬data),它描述了主数据库的结构。元数据的定义=描述数据的数据。数据库方法的特点-文件系统VS.数据库文件方式的问题:数据库的优点:数据的冗余和不一致数据访问困难数据依赖完整性问题原子性问题并发访问异常安全性问题数据共享减少冗余避免不一致提供事务支持保持完整性数据独立性增强安全性提供恢复机制加强标准化缩短应用开发时间数据库方法的特点-什么时候不使I用DBMS?尽管使用DBMS有很多优势,但是DBMS系统需要额外的开销,如投资、性能、维护等。因此,在某些情况下使用传统的文件处理方式可能会更加合适。□数据库或数据库应用程序比较简单,易于定义并且一般不会发生变化;□某些程序实时性强,而DBMS的代价过高不能满足;□不需要多用户存取数据。数据模型在数据库中我们是用数据模型这个工具来抽象、表示和处理现实世界中的实体以及实体之间的联系。简单地说,数据模型就是现实世界的模拟,现有的数据库均是基于某种数据模型的,数据模型是数据库的核心。□数据模型的定义数据模型三要素数据模型的分类□模式、实例和数据库状态数据模型-数据模型定义数据库方法的一个基本特征是:它通过隐藏大多数数据库用户并不要求的数据存储细节,而提供某些层次上的数据抽象。数据模型(dataModel)是一个可用于描述数据库结构的概念集合,它提供了为获得数据抽象所必需的工具。(R・Elmasri,S.B.Navathe,2002)数据模型-数据模型三要素数据模型是严格定义的一组概念的集合,这些概念精确地描述了系统的静态特征(数据结构)、动态特征(数据操作)和完整性约束条件。(1厂数指对象和对象间联系的表达和实现;□数据本身:类型、内容、性质。例如关系模型中的域、属性、关系等。口^据i间联系,数据之间是如何相互关联的,例如关系模型中的主码外码联系等。(2)数据操作,对数据库中对象的实例允许执行的操作集合,主要指检索和更新(插入、删除、修改)两类操作。(3)数据完整性约束,完整性规则的集合,规定数据库状态及状态变化所应满足的条件,以保证数据的正确性和相容性。数据模型-数据模型的分类高层或概念数据模型(High-levelorconceptualdatamodal)提供的概念是按用户的观点来对数据和信息建模,主要用于数据库的设计,例如实体•联系模型。底层或物理数据模型(low-levelorphysicaldatamodal)提供的概念描述的是数据在计算机中实际存储的方式。在这两层之间的是可表示或可实现的或逻辑数据数据模型(representationalorimplementationorlogicaldatamodel),

它们提供的概念能够被最终用户所理解,同时也不会与数据在计算机中实际的组织形式相差太远。模型分类-物理和逻辑数据模型块间间隔物瑷记果布颺SW记录布局软件转换记录H记录Q物理数据模型提供的概念一般面向计算机专家的,通过诸如记录格式、记录顺序和存取路径等表示信息,描述数据在计算机中如何被存储。(第8章)逻辑数据模型隐藏了一些数据存储的细节,但可以在计算机中直接实现,例如关系数据模型。应用S序员模型分类-数据库的建模过程现世世界信息世界数据库世界Ep津模模型转換■■国觸数醐型zboa(第2章)概念数据模型(第1章)0逻辑数据模型(第5章)概念模型概念模型用于信息世界的建模。概念模型不依赖于某一个DBMS支持的数据模型。概念模型可以转换为计算机上某一DBMS支持的特定数据模型。D具有较强的语义表达能力,应用中的各种语义知识现实世认识抽象信息世界概念模型机器世界数据模型(DBMS)能够方便、直接地表达2)应该简单、清晰、易于用户理解,是用户与数据库设计人员之间进行交流的语言一、信息世界中的基本概念(1)实体(Entity)(2)属性(Attribute)例:Student(Sno,Sname,Sex,Age)(3)码(Key)(4)域(Domain)(5)实体型(EntityType)(6)实体值(EntityValue)(7)实体集(EntitySet)三个世界的转换:现实世界事物特性信息世界实体集实体属性唯一特征键机器世界文件记录字段关键字(8)联系(Relationship)现实世界中事物内部以及事物之间的联系在信息世界中反映为实体内部的联系和实体之间的联系。①②③一对一联系(1:1)一对多联系(l:n)。多对多联系(m:n)注意:实体型之间的一对一、一对多、多对多联系不仅存在于两个实体型之间,也存在于两个以上的实体型之间。同一个实体集内的各实体之间也可以存在一■对一、一对多、多对多的。P16定义二、表示概念模型的实体一联系方法w实体型:用矩形表示,矩形框内写明实体名。属性:用椭圆形表示,并用无向边将其与相应的实体连接起来.联系:用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型(1:1、l:n或m:n)。注意的是,联系本身也是一种实体型,也可以有属性。如果一个联系具有属性,则这些属性也要用无向边与该联系连接起来。两个实体性之间的三类联系联系属性的表示方法设备零件_工程多个实体型之间的联系请思考:一个医生可以给多个病人看病开多张处方,一个病人每次只能有一个医生看病,一个处方只能有一个医生开出。职工学生零件111门nm一个实体型之间的联系例:学校有若干个系,每个系又有若干教师和学生;每个教师可以担任多门课程并参加多个项目;每个学生可以同时选修多门课程。请设计某学校的教学管理的ER模型。解:某学校教学管理的ER模型应有五个实体:系、教师、学生、项目、课程(1)设计各实体的属性如下:系(系号,系名,系主任)教师(教师号,教师名,职称)学生(学号,姓名,性别,年龄)项目(项目号,名称,负责人)课程(课程号,课程名,学分)思考:1.设有商店和顾客,其中商店有:店号、店名、地址;顾客有:客号、客名、电话。现有以下语义:1)一个商店客可有多个顾客;2)一个顾客可到多个商店购物;3)一个顾客一天内只能到一个商店购物一次。作业:P3811、12、13逻辑数据模型-数据模型的发展反映了数据库的发展商务数据处理应用(查询要求,集成的数据,数据共享),文件系统IDBMS技术商务数据处理迅速发展,普及(简单结构,非过程化查询)层次和网状数据库1-关系数据理论数据库应用领域扩大,新应用领域,传统应用新需求(复杂对象,对象的复杂行为)关系数据库I面向对象技术对象-关系数据库对象数据库逻辑数据模型-层次数据模型定义:用树型(层次)结构表示实体类型及实体间联系的数据模型称为层次模型(HierarchicalModel)。1.层次数据模型的数据结构2.层次数据模型的数据操纵与完整性约束3.层次数据模型的存储结构4.层次数据模型的优缺点一、层次模型的数据结构1.层次模型的几个术语□根结点,双亲结点,兄弟结点,叶结点E2.满足下面两个条件的基本层次联系的集合为层次模型。(1)有且只有一个结点没有双亲结点,这个结点称为根结点(2)根以外的其它结点有且只有一个双亲结点3.表示方法实体型:用记录类型描述。每个结点表示一个记录类型。属性:用字段描述。每个记录类型可包含若干个字段。联系:用结点之间的连线表示记录(类)型之间的一对多的联系系D02计算机信息楼学生教员陈芝网络安全E1101E3102张豪网络管理数据库R01数据系统R02络R03研究S63871文继荣AS63874刘华~CS63876AE2102王大明|数据库E1709冯宁数据仓库E3501孟勇|并行数据库❖特点结点的双亲是唯一的必只能直接处理一对多的实体联系4每个记录类型定义一个排序字段,也称为码字段<任何记录值只有按其路径查看时,才能显出它的全部意义#没有一个子女记录值能够脱离双亲记录值而独立存在2.多对多联系在层次模型中的表示P22用层次模型表示多对多联系,必须首先将其分解成一对多联系。分解方法有两种:冗余结点法和虚拟结点法O1:

m1:ItL二、层次数据模型的操纵与完整性约束层次数据模型的操纵主要有查询、插入、删除和更新。进行插入、删除、更缺操作时要满足层次模型的完整性约束条件。进行插入操作时,如果没有相应的双亲结点值就不能插入子女结点值。进行删除操作时,如果删除双亲结点值,则相应的子妥结点植4岐同时删除。进行更新操作时,应更新所有相应记录,以保证数据的一致性。三、层次数据模型的存储结构邻接法:按照层次树前序穿越的顺序把所有记录值依次邻接存放,即通过物理空间的位置相邻来实现层次顺序。链接法:用指引元来反映数据之间的层次联系。Ui层次数据模型的优缺点优点:1.数据模型比较简单,操作简单。2.对于实体间联系是固定的,且预先定义好的应用系统,性能较高。3.提供良好的完整性支持。缺点:1.不适合于表示非层次性的联系。2.对插入和删除操作的限制比较多。3.查询子女结点必须通过双亲结点。4.由于结构严密,层次命令趋于程序化。逻辑数据模型-网状数据模型定义:用有向图(网络)结构表示实体类型及实体间联系的数据模型称为网状模型(NetworkModel)o网状模型的优点:(1)快速的数据访问(2)便于复杂数据库的建模网状模型的缺点:(1)结构复杂,并不便于修改(2)其DDL(数据定义语言),DML(数据操作语言)语言复杂、用户不容易使用(3)用户必须掌握数据库结构实例:1969年,美国数据库系统语言研究会CODASYL下属的数据库任务组DBTG对数据库方法进行了研究、探讨,并提出了若干报告,称为DBTG报告。在报告中第一次提出了网状模型。20世纪70年代的DBMS产品大部分是网状系统。逻辑数据模型-关系数据模型关系模型是建立在严格的数学概念的基础上的。在用户的观点下,关系模型中数据的逻辑结构是一张二维表,由行和列组成。-般木语宇段关系(或实例)关系模型术语…尿性学号/姓名性别出生年月000150391翟叫男00015040安甚文.里<3^0150411蒋林里00015042>祥坤/…男-00015043\w男记录类型(表定义)••••关系模式记录1元组1!'i记录2元组2,表元组3卜记录4元组4记录5元组5字段谓关系模式的术通塚性值关系数据模型-数据结构关系(Relation):一个关系对应通常所说的一张表。元组(Tuple):表中的一行即为一个元组。属性(Attribute):表中的一列即为一个属性,给每一个属性起一个名称即属性名。主码(Key):表中的某个属性组,它可以唯一确定一个元组。域(Domain):属性的取值范围。分量(Component):元组中的一个属性值。关系模式(RelationSchema):对关系的描述,一般表示为:关系名(属性1、属性2、一-、属性n)关系模型-实体及实体间的联系的表示方法%□实体型:直接用关系(表)表示。□属性:用属性名表示。□一对一联系:隐含在实体对应的关系中。□一对多联系:隐含在实体对应的关系中。□多对多联系:直接用关系表示。关系必须是规范化的,满足一定的规范条件>最基本的规范条件:关系的每一个分量必须是一个不可分的数据项,即不能出现“表中表”。例1.学生、系、系与学生之间的一对多联系:学生(学号,姓名,年龄,性别,年级,系号)系(系号,系名,办公地点)例2.系、系主任、系与系主任间的一对一联系系(系号,系名,办公地点,系主任)例3.学生、课程、学生与课程之间的多对多联系:学生(学号,姓名,年龄,性别,系号,年级)课程(课程号,课程名,学分)选修(学号,课程号,成绩)关系数据模型-数据操作>关系数据模型的操作主要包括查询、插入、删除和修改数据。>数椐操作是集合操作,操作对象和操作结果都是关系,即若干元组的集合>存取路径对用户隐蔽(透明),用户只要指出“干什么”,不必详细说明“怎么干”关系数据模型-完整性约束□实体完整性□操作完整性□用户定义的完整性关系模型-存储结构□表以文件形式存储。□有的DBMS—个表对应一个操作系统文件□有的DBMS自己设计文件结构关系数据模型-优缺点关系模型的优点:1)关系模型是建立在严格的数学概念的基础上的;2)关系模型的概念单一。无论实体还是实体之间的联系都用关系表示。对数椐的检索结果也是关系(即表)。所以其数据结构简单、清晰、用户易懂易用;3)关系模型的存储路径对用户透明,从而具有更高的数椐独立性、更好的安全保密性,也减轻了程序员的工作和数据库开发建立的工作。关系模型的缺点:查询效率不如非关系数据模型。数据模型-模式、实例>模式(Schema)是数椐库中全体数据的逻辑结构和特征的描述。>模式的一个具体值称为模式的一个实例(Instance)o>模式反映的是数据的结构及其联系,同一个模式可以有很多实例,模式是相对稳定的;而实例反映的是数椐库某一时刻的状态,是相对变动的。数据库的体系结构■三层模式体系结构和数据独立性(内部结构)■客户机/服务器体系结构(外部结构、用户观点)1972年,ANSI/SPARCDBMS研究组提出的数据库管理系统的\^体系结构,一个重要的目标是将用户应用与物理数据库分离。外层外模式/模式映象概念层外模式,|外模式2概念模式外模式3模式/内模式映象内层内模式三层模式体系结构示意图三层模式体系结构-内模式内模式(或存储模式)是最接近物理存储,是数据物理结构和存储方式的描述,是数据在数椐库内部的表示方法。>一个数据库只有一个内模式。>内模式使用物理数据模型,并描述数据库的存取路径和数据存储的全部细节。>描述内模式的数据定义语言称为“内模式DDL”。三层模式体系结构•概念模式概念模式(模式、逻辑模式)是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。>概念模式是整个组织的数据视图,表示数据库中的全部数据内容,因此一个数据库只有一个概念模式。>概念模式隐藏了物理存储结构的细节,并注重于描述表、数据类型、联系、用户操作和约束。概念模式使用逻辑数据模型。>描述概念模式的数据定义语言称为“模式DDL”。三层模式体系结构-外模式外模式(子模式、用户模式)是数据库用户能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表现。>外模式就是单个用户的数据视图,因此一个数据库可以有多个外模式。>每个外模式都可以描述某个特定的用户组所使用的那一部分数据库,同时还可以对这个用户组隐藏数椐库的其它部分,是概念模式的子集,外模式使用概念数据模型或逻辑数据模型。>用户使用DML(数据库操作语言)对外部记录进行操作。>描述外模式的数椐定义语言称为“外模式DDL”。数据库的体系结构-映象和数据独立性□这三层模式仅仅是对数据的描述,而数据只存在于物理层;□每个用户组只关心自己的外模式;□DBMS必须把外模式中的用户请求转换成概念模式中的请求,然后再把这个请求转换成内模式中的请求,并根据这一请求在物理层上进行处理;□如杲请求是一个数据库的检索请求,那么数据会先从物理层中抽取出来

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论