1数据库原理主讲:邝劲筠kuangjinyun@bjut.edu.cn2#关于课程安排课时(40学时)教材:数据库系统基础教程岳丽华金培权等译主要参考书:数据库系统原理教程王珊陈红清华出版社数据库系统全书岳丽华等译上机(8学时):SQL-Server20083第一章绪论1.1数据库技术与数据管理1.1.1数据库的定义(数据库Database简写为:DB)(1)C.J.Date的定义数据库是存储的业务数据(operationaldata)的集合,供某企业(enterprise)的应用系统所使用。4企业(广义)业务数据---------------------------------工厂产品、库存、人事...银行帐户、顾客、...医院病人病历、费用...学校学生情况、成绩...5(2)J.Martin的定义存储在一起的相关数据的集合,这些数据没有不必要的冗余,为多种应用服务。数据的存储独立于使用它的程序……“数据被结构化……”相关:与企业业务活动相关数据彼此间关联6(3)萨师煊等人的定义由于多种程序并发地使用数据库,为了能有效及时的处理数据并提供安全性和完整性,必须有一个软件系统——数据库管理系统(DBMS)在建立、运用和维护时对数据库进行统一控制。数据库是一个通用的综合性的数据集合,它可以供各种用户共享且具有最小的冗余度和较高的数据与应用程序的独立性;7这些定义从不同的角度描述了数据库的特点,以及数据库与数据库管理系统的关系。81.1.2数据管理的进展数据管理指的是对数据的分类、编码、储存、检索和维护。数据处理的中心问题是数据管理。数据处理——对各种形式的数据进行收集、储存、加工和传播的各项活动的总和。数据(机器处理)信息(现实世界)91.人工管理(无管理)科学计算无OS批处理无磁盘数据管理的进展可分为3个阶段102.文件系统数据处理OS中:文件系统(多种文件组织形式,索引文件、直接存取文件)批处理及联机实时处理磁盘(容量存贮方便)11顾客号,顾客名,顾客地址,货号,单价,数量,描述,销售日期销售管理供应商号,供应商名,供应商地址,货号,单价描述,订货日期,订货数量订货管理货号,库存量,单价,成本,描述,重购点库存管理例:小型商业系统用文件系统实现文件应用程序12文件系统进行数据管理的缺点:1)对不同的应用程序分别建立不同的数据文件,数据的组织面向应用数据冗余大,浪费空间,且有潜在的不一致性(*)。132)数据组织与应用程序密切相关,独立性差(软件开发费用高)。3)缺乏对数据操作的控制方法,安全性、完整性(*)控制由应用程序的编制者自己去实现十分繁琐。14数据管理范围扩大,需要多种应用、多种语言互相覆盖地共享数据。软件价格上升(盈利升高)硬件价格下降(DB需要硬件支持)3.数据库技术(20世纪60年代末至今):15DB技术的特点:3)统一的控制与管理安全性完整性并发性(*)等2)数据独立性两级映射(程序与)数据的物理独立性/逻辑独立性(*)1)数据冗余小16顾客号,顾客名,顾客地址顾客号,货号,数量,销售日期货号,单价,成本,描述,库存量重购点货号,供应商号,订货日期,订货数量供应商号,供应商名,供应商地址顾客号,顾客名,顾客地址货号,单价,数量,描述,销售日期供应商号,供应商名,供应商地址,货号,单价描述,定货日期,订货数量货号,库存量,单价,成本,描述,重购点销售管理库存管理订货管理模式(*)外模式(*)171.2数据库系统DBS(DatabaseSystem):引入数据库技术的计算机系统。由计算机硬件、系统软件、DB、DBMS、应用程序及相应人员组成。181.2.1数据库系统的三级结构内部级(物理层)存储结构:涉及DB的物理组织概念级(全局逻辑层)全局逻辑结构:综合考虑各项应用组织成的整体数据结构,面向整个系统;供多项应用共享外部级(局部逻辑层)局部逻辑结构:为特定的应用设计的、面向应用的局部视图191.2.2数据库系统的三级模式内模式(存储模式)存储结构模式(概念模式/逻辑模式)全局逻辑结构外模式(子模式/用户模式)局部逻辑结构模式(schema):对结构的描述20应用1应用2应用3外模式1外模式2模式内模式DB概念级外部级内部级映像211.2.3两级映像与数据独立性由此提供数据的逻辑独立性局部逻辑结构独立于全局逻辑结构1)外模式/模式之间的映像:定义两者对应关系(外模式定义中)模式改变改映像外模式不改222)模式/内模式之间的映像:定义两者对应关系(模式定义中)内模式变改映像模式不变由此提供数据的物理独立性逻辑结构独立于物理结构231.2.4数据库系统涉及的各类人员3)系统分析员:负责实际系统的需求分析与规范说明确定系统配置、参与概要设计2)应用程序员:根据外模式编程1)最终用户(EndUser)244)数据库管理员(DBA)一个或一组全面控制、管理DB的人员。e.对DB进行改进与重组:原因①需求改变②长期更新性能不佳d.监控DB的使用与运行,出现故障时采用的后援、恢复策略。c.定义安全性,完整性约束条件b.决定存储结构及存取策略(内模式)a.定义模式及外模式职责:251.3DBMS1.3.1数据库管理系统的职能DBMS应该:4.提供并发控制。3.支持长时期存储大量数据(GB),保证其安全、有效。2.允许用户用DML查询(query)和更新数据。1.允许用户用DDL建立DB、指定DB的模式。261.3.2数据库管理系统的组成概述存储器和缓冲区管理器“查询”处理器事务管理器数据与元数据模式更新查询更新27元数据(metadata):描述有关数据结构、数据模式以及语义限制等的信息,如表结构信息。另一种说法:关于数据的数据数据与元数据外:统计数据索引日志记录1.数据与元数据28由应用程序或管理工具输入:查询:查询要求更新:增、删、改的要求模式更新:如修改表结构要求有一定权限DDLDMLDCL2.DBMS的输入29存储器管理器(storagemanager)负责控制数据在磁盘上的定位,以及在磁盘与主存间的移动。3.存储器与缓冲区管理程序:为了提高效率,DBMS通常直接控制磁盘管理器。跟踪磁盘上的文件位置,根据请求从缓冲区管理器中获取该文件的一个(多个)磁盘块(可以是4000到16000字节)30缓冲区管理器负责把可用主存分割成缓冲区(buffer),缓冲区是包含若干个页面的区域,可以传输磁盘块。所有需要从磁盘获取信息的DBMS组件,直接地或通过执行引擎间接地同缓冲区以及缓冲区管理器进行交互。314.事务处理器(TransactionProcessor):涉及事务管理、并发控制、日志管理与恢复确保系统的一致性。事务的概念:例:银行转帐甲方---乙方航班旅客调换座位解决方法:将一组按顺序执行的操作组成一个事务。32事务管理就是确保:4)事务完成后即使系统故障,事务的结果长期保存。3)两个事务同时执行不相互干扰。2)事务执行前后数据库满足所有约定的一致性条件。1)事务中的操作或者都执行或者都不执行。33日志管理器(loggingmanager)与恢复管理器(recovermanager):数据库的每一个变化记录在日志中,无论何时,系统出现故障或“崩溃”恢复管理器都可以通过检查日志中的修改记录,把数据库恢复到某一个一致状态。日志管理器先把日志写入缓冲区,然后与缓冲区管理器协商以确保缓冲区中的数据在适当的时候写入磁盘。34并发控制管理器(concurrencycontrolmanager)调度器(scheduler)可以令并行执行的多个事务中的操作,执行效果等同于事务串行执行的某个次序,以此保证一致性。通过封锁机制实现并发控制,对数据库中数据加锁,避免冲突操作带来的不利影响;锁通常保存在主存的锁表中。调度器阻止执行引擎存取加锁数据。死锁事务回滚或终止355.“查询”处理器(queryprocessor):处理查询及发出查询、更新数据和元数据的请求(1)查询编译器(querycompiler)把查询转换为查询计划。查询计划是在数据上的操作序列;通常用关系代数运算表达。由以下3个模块组成:查询分析器查询预处理器查询优化器36查询分析器(queryparser):从查询的文本结构中构造一个查询树。查询预处理器(querypreprocessor):对查询做语义检查,并将查询语法树转换成表示初始查询计划的关系代数操作符树?。37查询优化器(queryoptimizer):将查询初始计划转换成在实际数据上最高效地执行的操作序列。使用元数据、统计数据以及索引来确定那种操作序列最快。38(2)执行引擎(executionengine)负责执行选定的查询计划的每一步。与DBMS其他组件直接或经缓冲区进行交互。为了操作数据,必须从数据库中将数据取到缓冲区;必须与调度器交互避免存取已加锁的数据;必须与日志管理器交互以确保对数据库的更新记入日志。391.4数据库技术的发展针对那些复杂对象扮演核心角色的领域数据库技术与面向对象语言的结合可理解为把DBMS加入到编程语言环境的一种尝试。1)面向对象的数据库系统(OODBS)1.4.1对象数据库教材1.1节自学40扩展的关系型数据库系统,具有扩展复杂数据类型和允许用户自定义函数功能,同时具有面向对象特性,受通用的SQL3(SQL99)支持。最大的功能是能做到对复杂数据的查询且速度很快,具有可扩充性。2)对象关系数据库系统(ORDBS)411.4.2并行和分布式数据库系统通过并行实现各种数据操作,如数据载入、索引建立、数据查询等,可以提高系统性能。1.并行数据库系统42逻辑上作为整体的数据分布存储于若干场地,并且每一个场地由独立于其他场地的DBMS进行数据管理。数据分布的位置和站点的自治度对系统的各方面都有显著的影响,包括查询优化和查询处理、并发控制以及系统恢复。2.分布式数据库系统431.4.3数据仓库与数据挖掘数据仓库系统:用来分析数据背后的关联和规律,为企业的决策提供可靠、有效的依据。数据库系统:用于企业的日常业务处理44W.H.Inmon92年定义:数据仓库是面向主题的、集成的、非易失的、随时间变化的数据集合,用来支持管理决策。45数据仓库支持数据挖掘运用统计等方法,对数据进行再分析,以获得更深入的了解,并具有预测的功能,可借助已有的数据预测未来。数据挖掘:从大量数据中,找出隐藏的、未知的、但对企业经营十分有用的信息。461.4.4其他数据库技术地理信息系统空间信息处理多媒体数据库声音、图像、视频...时态数据库网络数据库移动数据库主动数据库实时数据库等等47熟练掌握:数据库、数据库管理系统和数据库系统的概念;数据库系统三层模式结构;数据(逻辑、物理)独立性概念。理解:数据库系统相对文件系统的优越性。(p12-p13)掌握:数据;数据库管理系统的结构。