《第1章-数据库系统世界课件.ppt》由会员分享,可在线阅读,更多相关《第1章-数据库系统世界课件.ppt(40页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第1章章 数据库系统世界数据库系统世界主讲人:骆炎民主讲人:骆炎民Email:基本概念基本概念 n数据数据(Data)n能输入计算机并被计算机程序识别处理的信息集合n数据处理数据处理n n对各种数据进行收集、存储、加工和传播的一系列对各种数据进行收集、存储、加工和传播的一系列活动的总和。活动的总和。n数据管理数据管理n n对数据进行分类、组织、编码、存储。检索和维护对数据进行分类、组织、编码、存储。检索和维护n n它是数据处理的中心问题它是数据处理的中心问题2基本概念基本概念(续续)n数据库数据库(Database)n本质上是信息的集合n一般而言,数据库是指在数据库管理系统数据库管理系统管理
2、和控制之下,存放在存储介质上存储介质上的数据集合数据集合。n数据库管理系统数据库管理系统(DataBase Management System-DBMS)n数据库系统中对数据进行统一管理控制的软件系统3DBMS的功能的功能n(1)数数据库定义功能据库定义功能n n提供数据定义语言提供数据定义语言(DDL);(DDL);定义数据库中的数据对象定义数据库中的数据对象n(2)数据库操纵功能数据库操纵功能n n提供数据操纵语言提供数据操纵语言(DML);(DML);操纵数据实现对数据库的操纵数据实现对数据库的基本操作基本操作(查询、插入、删除和修改查询、插入、删除和修改)。n(3)数据库的运行管理数据
3、库的运行管理 n n保证数据的安全性、完整性;多用户对数据的并发保证数据的安全性、完整性;多用户对数据的并发使用;发生故障后的系统恢复使用;发生故障后的系统恢复 4DBMS的功能的功能(续续)n(4)数据库的建立和维护功能数据库的建立和维护功能(实用程序实用程序)n n数据库数据批量装载数据库数据批量装载n n数据库转储数据库转储n n介质故障恢复介质故障恢复 n n数据库的重组织数据库的重组织n n性能监视等性能监视等5数据管理技术的发展历程数据管理技术的发展历程n n在应用需求的推动下,在计算机硬件、软件发展的基础上,数据管理技术经历了三个阶段:(1)(1)人工管理阶段人工管理阶段人工管理
4、阶段人工管理阶段(2)(2)文件系统阶段文件系统阶段文件系统阶段文件系统阶段(3)(3)数据库系统阶段数据库系统阶段数据库系统阶段数据库系统阶段6(1)人工管理阶段人工管理阶段n n时间:时间:20世纪50年代中期以前n n应用背景:应用背景:科学计算n n硬件背景:硬件背景:无直接存取存储设备n n软件背景:软件背景:无操作系统n n处理方式:处理方式:批处理7人工管理特点人工管理特点(1)数据的管理者:)数据的管理者:用户(程序员)(2)数据面向的对象:)数据面向的对象:某个应用程序(3)数据共享程度:)数据共享程度:数据不共享,冗余度极大(4)数据的独立性)数据的独立性:不独立,完全依赖
5、于程序(5)数据的结构化:)数据的结构化:无结构(6)数据控制能力:)数据控制能力:应用程序控制,数据不保存数据是面向应用的,一组数据只能对应一个程序。当多个应用程序涉及某些相同的数据时,由于必须各自定义,无法互相利用、互相参照,因此程序与程序之间有大量的冗余数据。数据的逻辑结构或物理结构发生变化后,必须对应用程序做相应的修改,这就进一步加重了程序员的负担。应用程序中不仅要规定数据的逻辑结构,而且要设计物理结构,包括存储结构、存取方法、输入方式等。数据只在计算某一课题时输入,用完就撤走,不保存 8(2)文件系统阶段文件系统阶段n n时间:时间:20世纪50年代中期n n应用背景:应用背景:科学
6、计算、数据管理n n硬件背景:硬件背景:磁盘、磁鼓n n软件背景:软件背景:文件系统n n处理方式:处理方式:联机实时处理、批处理9文件系统的缺陷文件系统的缺陷(1)数据的管理者:)数据的管理者:文件系统(2)数据面向的对象:)数据面向的对象:基本还是面向应用程序(3)数据共享程度:)数据共享程度:共享性差,冗余度大(4)数据的独立性)数据的独立性:有一定独立性,但独立性差(5)数据的结构化:)数据的结构化:记录内有结构,整体无结构(6)数据控制能力:)数据控制能力:应用程序控制 数据可长期保存由专门的软件即文件系统进行数据管理,文件系统把数据组织成相互独立的数据文件,利用“按文件名访问,按记
7、录进行存取”的管理技术,可以对文件进行修改、插入和删除的操作。在文件系统中,一个文件基本上对应于一个应用程序,即文件仍然是面向应用的。当不同的应用程序具有部分相同的数据时,也必须建立各自的文件,而不能共享相同的数据,因此数据的冗余度大,浪费存储空间。同时由于相同数据的重复存储、各自管理,容易造成数据的不一致性,给数据的修改和维护带来了困难程序和数据间由文件系统提供存取方法进行转换,使应用程序与数据间有了一定的独立性,程序员可不必过多考虑物理细节,将精力集中于算法。且数据在存储上的改变不一定反映在程序上,节省了维护程序的工作量。文件为某一特定应用服务,其逻辑结构对该应用程序来说是优化的,因此要想
8、对现有的数据再增加一些新的应用会很困难,系统不易扩充。一旦数据逻辑结构改变,必须修改应用程序,修改文件结构的定义。应用程序的改变,也将引起文件的数据结构的改变。因此数据与程序之间仍缺乏独立性。10(3)数据库系统阶段数据库系统阶段n n时间:时间:20世纪60年代末70年代初以来n n应用背景:应用背景:大规模管理n n硬件背景:硬件背景:大容量磁盘n n软件背景:软件背景:数据库管理系统n n处理方式:处理方式:联机实时处理,分布式处理,批处理11数据库系统的特点数据库系统的特点(1 1)数据的管理者:)数据的管理者:)数据的管理者:)数据的管理者:数据库管理系统数据库管理系统(2 2)数据
9、面向的对象:)数据面向的对象:)数据面向的对象:)数据面向的对象:整个组织、系统整个组织、系统(多个应用多个应用)(3 3)数据共享程度:)数据共享程度:)数据共享程度:)数据共享程度:共享共享性高,冗余度低,易扩充性高,冗余度低,易扩充(4 4)数据的独立性)数据的独立性)数据的独立性)数据的独立性:高度的物理独立性高度的物理独立性 一定的逻辑独立性一定的逻辑独立性(5 5)数据的结构化:)数据的结构化:)数据的结构化:)数据的结构化:整体结构化,用数据模型描述整体结构化,用数据模型描述(6 6)数据控制能力:)数据控制能力:)数据控制能力:)数据控制能力:由数据库管理系统提供数据安全由数据
10、库管理系统提供数据安全性、完整性、并发控制和恢复能力性、完整性、并发控制和恢复能力在数据库系统中不仅要考虑某个应用的数据结构,还要考虑整个组织的数据结构。例如:一个学校的信息管理系统中不仅要考虑学生的人事管理,还要考虑学籍管理、选课管理,同时还要考虑教员的人事管理、科研管理等应用数据库系统从整体角度看待和描述数据,数据不再面向某个应用而是面向整个系统,因此数据可以被多个用户、多个应用共享使用。数据共享可以大大减少数据冗余,节约存储空间;还能够避免数据之间的不相容性与不一致性。而且由于数据面向整个系统,是有结构的数据,不仅可以被多个应用共享使用,而且容易增加新的应用,这就使得数据库系统弹性大,易
11、于扩充,可以适应各种用户的要求。可以取整体数据的各种子集用于不同的应用系统,当应用需求改变或增加时,只要重新选取不同的子集或加上一部分数据便可以满足新的需求。物理独立性是指用户的应用程序与存储在磁盘上的数据库中数据是相互独立的。也就是说,数据在磁盘上的数据库中怎样存储是由DBMS管理的,用户程序不需要了解,应用程序要处理的只是数据的逻辑结构,这样当数据的物理存储改变了,应用程序不用改变。逻辑独立性是指用户应用程序与数据库逻辑结构是相互独立的,即数据逻辑结构改变了,用户程序可以不变。-数据独立性是由DBMS的二级映象功能来保证的,将在下面讨论。数据库系统实现整体数据的结构化结构化,是数据库的主要
12、特征之一,也是数据库系统与文件系统的本质区别本质区别。在文件系统中,尽管其记录内部己有了某些结构,但记录之间没有联系。而数据库系统在描述数据时不仅要描述数据本身,还要描述数据之间的联系。而且存取数据的方式也很灵活,可以存取数据库中的某一个数据项、一组数据项、一个记录或一组记录。而在文件系统中,数据的最小存单位是记录粒度不能细到数据项。12数据库系统体系结构外模式外模式/模式映像模式映像应用应用A应用应用B应用应用C应用应用D应用应用E外模式外模式1外模式外模式2外模式外模式3模式模式内模式内模式数据库数据库 模式模式/内模式映像内模式映像n n三级模式三级模式/二级映像二级映像13三级模式三级
13、模式n外模式外模式(子模式子模式/用户模式用户模式)局部逻辑结构局部逻辑结构n为特定的应用设计、面向应用的局部视图n模式模式(概念模式概念模式/逻辑模式逻辑模式)全局逻辑结构全局逻辑结构n综合考虑各项应用组织成的整体数据结构,面向整个系统;供多项应用共享。n内模式内模式(存储模式存储模式)存储结构存储结构n n全体数据库数据的内部表示或者低层描述,用来定全体数据库数据的内部表示或者低层描述,用来定义数据的存储方式和物理结构。义数据的存储方式和物理结构。14二级映像与数据独立性二级映像与数据独立性n外外模式模式/模式映像模式映像(逻辑独立性)(逻辑独立性)n n定义某个外模式和模式之间的对应关系
14、。定义某个外模式和模式之间的对应关系。n n当模式改变时,外模式当模式改变时,外模式/模式映像要作相应的改变模式映像要作相应的改变,以保持外模式不变。以保持外模式不变。(除非模式结构的变化使得子模式中的某些数据无法再从数据库中导出)n模式模式/内模式映像(物理独立性)内模式映像(物理独立性)n n定义数据的逻辑结构和存储结构之间的对应关系定义数据的逻辑结构和存储结构之间的对应关系n n当数据库的存储结构改变时,可相应修改模式当数据库的存储结构改变时,可相应修改模式/内内模式映像,从而使模式保持不变。由此提供数据的逻辑独立性由此提供数据的逻辑独立性 局部逻辑结构独立于全局逻辑结构局部逻辑结构独立
15、于全局逻辑结构由此提供数据的物理独立性由此提供数据的物理独立性 逻辑结构独立于物理结构逻辑结构独立于物理结构15主要内容主要内容n n1.1 数据库系统的发展n n1.2 数据库管理系统概述数据库管理系统概述n n1.3 本书概述16数据库管理系统的组成数据库管理系统的组成存储器和缓冲区管理器存储器和缓冲区管理器“查询查询”处理器处理器事务管理器事务管理器数据与元数据数据与元数据模式更新模式更新查询查询更新更新17数据库管理系统的组成数据库管理系统的组成n n数据定义语言命令数据定义语言命令-修改模式修改模式/元数据元数据(红色轨迹)(红色轨迹)n n查询处理过程(绿查询处理过程(绿色轨迹)色
16、轨迹)n n事务处理(黄色轨事务处理(黄色轨迹):迹):ACID(AtomicACID(Atomic、ConsistentConsistent、IsolatedIsolated、Durable)Durable)。记日志、记日志、并发控制与消除死并发控制与消除死锁。锁。18 1.数据与元数据数据与元数据n数据数据:数据库本身的内容n元数据元数据(metadata)n描述有关数据结构、数据模式以及语义限制等的信息,如表结构信息。n另一种说法:关于数据的数据数据与元数据外:统计数据数据与元数据外:统计数据 索引索引 日志记录日志记录19数据库管理系统的组成数据库管理系统的组成存储器和缓冲区管理器存储
17、器和缓冲区管理器“查询查询”处理器处理器事务管理器事务管理器数据与元数据数据与元数据模式更新模式更新查询查询更新更新202.DBMS的输入的输入n由应用程序或管理工具输入由应用程序或管理工具输入n查询查询:查询要求:查询要求n更新更新:增、删、改的要求:增、删、改的要求n模式更新模式更新:如修改表结构:如修改表结构 要求有一定权限要求有一定权限21数据库管理系统的组成数据库管理系统的组成存储器和缓冲区管理器存储器和缓冲区管理器“查询查询”处理器处理器事务管理器事务管理器数据与元数据数据与元数据模式更新模式更新查询查询更新更新223.查询处理器查询处理器-1n n(1)查询编译器查询编译器(qu
18、ery compiler)n n把查询转换为查询计划。查询计划是在数据上的操把查询转换为查询计划。查询计划是在数据上的操作序列;通常用关系代数运算表达。作序列;通常用关系代数运算表达。n n由以下由以下3个模块组成:个模块组成:n n查询分析器查询分析器查询分析器查询分析器:从查询的文本结构中构造一个从查询的文本结构中构造一个查询树查询树查询树查询树n n查询预处理器查询预处理器查询预处理器查询预处理器:对查询做对查询做语义检查语义检查语义检查语义检查,并将查询语法,并将查询语法树转换成表示初始查询计划的树转换成表示初始查询计划的关系代数操作符树关系代数操作符树关系代数操作符树关系代数操作符树
19、。n n查询优化器查询优化器查询优化器查询优化器:将查询初始计划转换成在实际数据上将查询初始计划转换成在实际数据上最高效地执行的最高效地执行的操作序列操作序列操作序列操作序列。233.查询处理器查询处理器-2n n(2)执行引擎执行引擎(execution engine)n n负责执行选定的查询计划的每一步负责执行选定的查询计划的每一步n n与与DBMSDBMS其他组件直接或经缓冲区进行交互其他组件直接或经缓冲区进行交互n n为了操作数据,执行引擎必须:为了操作数据,执行引擎必须:n n从数据库中将数据取到缓冲区;从数据库中将数据取到缓冲区;n n与调度器交互避免存取已加锁的数据;与调度器交互
20、避免存取已加锁的数据;n n与日志管理器交互以确保对数据库的更新记入日志与日志管理器交互以确保对数据库的更新记入日志24数据库管理系统的组成数据库管理系统的组成存储器和缓冲区管理器存储器和缓冲区管理器“查询查询”处理器处理器事务管理器事务管理器数据与元数据数据与元数据模式更新模式更新查询查询更新更新254.存储器与缓冲区管理程序存储器与缓冲区管理程序n存储器管理器存储器管理器(storage manager)n负责控制数据在磁盘上的定位,以及数据在磁盘与主存间的移动。n跟踪磁盘上的文件位置,根据请求从缓冲区管理器中获取该文件的一个(多个)磁盘块(400016000B)n为提高效率,为提高效率,
21、DBMS 通常直接控制磁盘管理器通常直接控制磁盘管理器264.存储器与缓冲区管理程序存储器与缓冲区管理程序(续续)n缓冲区管理器缓冲区管理器n负责把可用主存分割成缓冲区(buffer)n缓冲区缓冲区是包含若干个页面的区域,可传输磁盘块。n所有需要从磁盘获取信息的DBMS组件,可直接地或通过执行引擎间接地同缓冲区以及缓冲区管理器进行交互。27数据库管理系统的组成数据库管理系统的组成存储器和缓冲区管理器存储器和缓冲区管理器“查询查询”处理器处理器事务管理器事务管理器数据与元数据数据与元数据模式更新模式更新查询查询更新更新285.事务管理器事务管理器n事务的概念事务的概念n事务事务是一个或多个必须被
22、原子地执行的数据库操作是一个或多个必须被原子地执行的数据库操作的集合。的集合。n例:银行转帐例:银行转帐n事务管理器事务管理器(Transaction Processor):n(1)日志和恢复管理器:日志和恢复管理器:负责事务的持久性n(2)并并发控制管理器:发控制管理器:保证事务的原子性、独立性29事务的事务的ACID性质性质n nA:原子性:原子性n n事务中的操作或者都执行或者都不执行。事务中的操作或者都执行或者都不执行。事务中的操作或者都执行或者都不执行。事务中的操作或者都执行或者都不执行。n nC:一致性:一致性n n事务执行前后数据库满足所有约定的一致性条件。事务执行前后数据库满足
23、所有约定的一致性条件。事务执行前后数据库满足所有约定的一致性条件。事务执行前后数据库满足所有约定的一致性条件。n nI:独立性:独立性n n两个事务同时执行不相互干扰。两个事务同时执行不相互干扰。两个事务同时执行不相互干扰。两个事务同时执行不相互干扰。n nD:持久性:持久性n n事务完成后即使系统故障,事务的结果长期保存。事务完成后即使系统故障,事务的结果长期保存。事务完成后即使系统故障,事务的结果长期保存。事务完成后即使系统故障,事务的结果长期保存。例如:账户余额不能是负数例如:账户余额不能是负数例如:账户余额不能是负数例如:账户余额不能是负数30(1)日志与恢复管理器日志与恢复管理器n
24、n数据库的每一个变化记录在日志中,无论何时,系统数据库的每一个变化记录在日志中,无论何时,系统出现故障或出现故障或“崩溃崩溃”,恢复管理器恢复管理器恢复管理器恢复管理器都可以通过检查日都可以通过检查日志中的修改记录,把数据库恢复到某一个一致状态。志中的修改记录,把数据库恢复到某一个一致状态。n n日志管理器日志管理器日志管理器日志管理器先把日志写入缓冲区,然后与缓冲区管理先把日志写入缓冲区,然后与缓冲区管理器协商以确保缓冲区中的数据在适当的时候写入磁盘器协商以确保缓冲区中的数据在适当的时候写入磁盘31(2)并发控制管理器并发控制管理器n n也称为也称为调度器(调度器(调度器(调度器(sched
25、ulerscheduler)可以令并行执行的多个事可以令并行执行的多个事务中的操作,执行效果等同于事务串行执行的某个次务中的操作,执行效果等同于事务串行执行的某个次序,以此保证一致性。序,以此保证一致性。n n通过通过封锁机制封锁机制封锁机制封锁机制实现并发控制,对数据库中的某些数据实现并发控制,对数据库中的某些数据片断加锁,避免冲突操作带来的不利影响;片断加锁,避免冲突操作带来的不利影响;n n锁通常保存在主存的锁通常保存在主存的锁表锁表锁表锁表中。调度器阻止执行引擎存中。调度器阻止执行引擎存取加锁数据。取加锁数据。32消除死锁消除死锁n n死锁死锁n n当事务通过调度器授权锁竞争资源时,它
26、们可能会当事务通过调度器授权锁竞争资源时,它们可能会陷入一种状态:由于每个事务需要的资源都被另一陷入一种状态:由于每个事务需要的资源都被另一个事务占有,没有一个事务能够继续执行。个事务占有,没有一个事务能够继续执行。n n消除死锁消除死锁n n事务管理器的任务之一事务管理器的任务之一n n删除删除(“(“回滚回滚”或或“终止终止”)一个或多个事务,以便一个或多个事务,以便其他事务可以继续执行其他事务可以继续执行33未来数据库系统未来数据库系统n n面向对象DBMS:n n面向对象编程是更好的程序结构工具面向对象编程是更好的程序结构工具n n提供丰富的数据类型提供丰富的数据类型n n面向对象的一
27、些新特性面向对象的一些新特性n n约束和触发程序数据库中的主动元素n n多媒体数据无论是检索方法还是存储管理方法都必须做改进n n数据集成数据仓库和数据挖掘技术34数据库系统的发展(续2)n n数据库技术的最新发展:数据库三大国际会议:数据库三大国际会议:n nVLDBVLDB(International Conference on Very Large Data BasesInternational Conference on Very Large Data Bases)7 7篇(截至篇(截至20062006年)、年)、n nACM SIGMODACM SIGMOD(Internationa
28、l Conference on Management of International Conference on Management of Data EngineeringData Engineering)2 2篇、篇、n nICDEICDE(International Conference on Date EngineeringInternational Conference on Date Engineering)3 3篇篇n n ICDTICDT主题(主题(International Conference on Database TheoryInternational Confere
29、nce on Database Theory):):Access Access methods and physical design;Active databases;Complexity and methods and physical design;Active databases;Complexity and performance;Constraint databases;Data integration and interoperability;performance;Constraint databases;Data integration and interoperabilit
30、y;Data mining;Data models;Database programming and query languages;Data mining;Data models;Database programming and query languages;Databases and information retrieval;Probabilistic Databases;Databases Databases and information retrieval;Probabilistic Databases;Databases and workflow;Databases and t
31、he Semantic Web;Databases in e-and workflow;Databases and the Semantic Web;Databases in e-commerce;Databases in e-services;Deductive databases and knowledge commerce;Databases in e-services;Deductive databases and knowledge bases;Distributed databases;Integrity and security;Logic and databases;bases
32、;Distributed databases;Integrity and security;Logic and databases;Multimedia databases;Query optimization;Query processing;Real-time Multimedia databases;Query optimization;Query processing;Real-time databases;Semi-structured,XML,and Web data;Spatial data;Temporal databases;Semi-structured,XML,and W
33、eb data;Spatial data;Temporal data;Concurrency and recovery;Transaction management;Views and data data;Concurrency and recovery;Transaction management;Views and data warehousing.warehousing.第第1讲讲 数据库系统世界数据库系统世界 35主要内容主要内容n n1.1 数据库系统的发展n n1.2 数据库管理系统概述n n1.3 本书概述本书概述36数据库系统的研究数据库系统的研究n n数据库设计数据库设计n n数据库程序设计数据库程序设计n n数据库系统实现本课程着重研究本课程着重研究本课程着重研究本课程着重研究37(1)数据库设计)数据库设计n n第2章 实体联系数据模型n n第3章 关系数据模型n n第4章 其他数据模型38(2)数据库程序设计)数据库程序设计n n第5章 关系代数n n第6章 数据库语言SQLn n第7章 约束和触发器n n第8章 SQL的系统特征39本本 章章 结结 束束!
限制150内