随笔 - 11, 文章 - 24, 评论 - 10, 引用 - 0
数据加载中……

软考学习笔记-数据库工程师第七章-数据库技术基础

第七章 数据库技术基础

1、数据库系统DBS,是由数据库、硬件、软件和人员组成的。

  数据库DB

  软件包括操作系统、数据库管理系统DBMS和应用程序。

  数据库技术的发展经历了3个阶段:人工管理阶段、文件系统阶段、数据库系统阶段。

  文件系统的最大特点是解决了应用程序和数据之间的一个公共接口问题,使得应用程序使用统一的存取方法来操作数据。

  数据库系统与文件系统的区别是:数据的充分共享、交叉访问及应用程序的高度独立性。数据库对数据的存储是按照同一结构进行的,不同的应用程序可直接操作这些数据。

2、DBMS的功能,主要实现对共享数据有效的组织、管理和存取。有以下几个方面的功能:

  数据定义:DBMS提供数据定义语言DDL,用户可以对数据库的结构进行描述,包括外模式、模式和内模式的定义,数据库的完整性定义,安全保密定义等。这些存储在数据字典中,是DBMS运行的基本依据。

  数据库操作:数据操纵语言DML,实现对数据库中数据的基本操作,如检索、插、改、删。DML双分为宿主型和自含型。

  数据库运行管理:多用户环境下的并发控制、安全性检查和存取控制、完整性检查和执行、运行日志的组织管理、事务管理和自动恢复都是DBMS的重要组成。

  数据组织、存储和管理:DBMS分类组织、存储和管理各类数据,包括数据字典、用户数据、存取路径等,并要确定以何种文件结构和存取方式在存储级别上组织这些数据。DBMS实现数据间的联系、数据组织和存储的基本目标是提高存储空间的利用率。

  数据库的建立和维护

  RDBS,关系数据库系统,实体与实体间的关系的集合构成一个RDBS,也有型、值之分。关系数据库的型称为关系数据库模式,是对数据库的描述。关系数据库的值也称为关系数据库,是关系的集合。统称为RDBS。

  OODBS,是面向对象的数据库系统。支持以对象形式进行数据建模,且要符合2个条件,首先要是一个DBMS,其次必须是面向对象的。

  ORDBS,对象关系数据库,提供了元组、数组和集合等更丰富的数据类型以及处理新的数据类型的能力。


3、数据模型的基本概念

  数据描述的三个领域:现实世界、信息世界、机器世界。

  现实世界,指客观存在的各种报表、图表、原始数据;在信息世界中数据库常用的术语有属性、实体、实体集和码;机器世界是按机器的观点对建模,主要使用的术语有字段、记录、文件和记录码。信息世界与机器世界的几个术语可以一一对应。

  数据模型的3要素:数据结构、数据操作、数据的约束条件。

  常用的数据模型分为概念型数据模型和基本数据模型。概念数据模型也称为信息模型,是按用户的观点对数据和信息建模,是从现实世界到信息世界的第一层抽 象,强调语义表达功能,用于数据库设计,这类模型中最著名的是E-R模型。基本数据模型是按计算机观点对数据进行建模,用于实现DBMS。基本的数据模型 有层次模型、网状模型和关系模型。目前随着新应用的发展,面向对象模型更广泛的被使用。

4、E-R模型,它所采用的3个主要概念是:实体、联系、属性。E-R模型只能说明实体间的语义联系。
  E-R方法:    矩形--表示实体
        菱形----联系
        椭圆----属性
        双椭圆---多值属性
        虚椭圆---派生属性
        线段----将属性与相关实体或实体与联系连接起来
        双线----表示一个实体全部参与到联系集中
        双线矩形--弱实体

  扩充的E-R模型:增加了弱实体、特殊化、概括以及聚集等概念。

      弱实体,在现实世界中有一种联系代表实体间的ownership关系,即一个实体依赖于另一个实体而存在,这类实体被称为弱实体。
      特殊化,设有实体集E,如果S是E的某些真子集的集合,则称S为E的一个特殊化,E是Si的超类,Si称为E的子类。若两个子集Si与Sj没有交 集,则S称为E的不相交特殊化,否则称为重叠特殊化。在扩充的E-R图中使用特殊化圆圈(而不是菱形)和连线的方式来表示超类-子类关系模型。超类到圆圈 有连线,双线表全特殊化,单线表部分特殊化。子类用双竖边矩形表示。圆圈到子类的线用符号“U”标识为特殊化。圆圈内的"d"表示不相交特殊化,"O"表 示重叠特殊化。

  从E-R模型向关系模型转换时,所有“实体”和“联系”都要转换成相应的关系模式。

5、层次模型,采用树型结构表示数据与数据间的联系,每个节点表示一个实体。根节点之外的结点都有且仅有一个双亲。
    特点:记录间的联系通过指针实现,简单、效率高。
    缺点:只适于表示1:n的联系。

  网状模型DBTG,采用网络结构表示数据与数据的联系。允许一个以上结点无双亲,也允许一个结点有多个双亲。

    网状模型与层次模型的区别:
        1)网状模型中子女结点与双亲结点的联系不惟一,需要为每个结点命名,见图示;
        2)网状模型允许复合链,两结点间可以存在两种以上的联系;
        3)网状模型不能表示记录之间的多对多的联系,解决办法是引入联结记录来表示多对多的联系,见图示。

    特点是:更直接地描述现实世界,存取效率高;缺点是:结构复杂。

  关系模型,在关系模型中用表格结构表达实体集及实体集间的联系,其最大的特色是描述的一致性。关系模型就是若干个关系模式的集合。一个关系模式相当于 一个记录型,对应于程序设计语言中的类型定义的概念。关系是一个实例,也是一张表,对应于程序设计语言中变量的概念。    区别: 与前两种模型的最大区别是使用主键而不是指针导航数据,表格简单直观。

  在关系数据库中,若关系模式中的每个关系的属性值均是不可分解的,则该关系模式属于--第一范式1NF,这也是关系数据库的最基本要求。

  关系代数运算是以关系作为运算对象的一组高级运算集合,关系定义为元素相同的元组的集合。因此,关系代数运算是以集合操作为基础的运算,其5种基本运算是并、差、笛卡尔积、投影和选择。

6、从数据库管理的角度看,数据库系统体系结构一般采用三级模式结构。外模式、概念模式、内模式。

  数据库的行和值:行,是指对某一数据的结构和属性的说明;值,是行的一个具体赋值。

  概念模式,也称模式,是数据库中全部数据的逻辑结构和特征的描述。它由若干个概念记录类型组成,只涉及行的描述,不涉及具体的值。概念模式不仅要描述 概念记录类型,还要描述记录间的联系、操作以及数据的完整性和安全性。概念模式不涉及存储结构和访问技术等,因此做到了物理数据独立性。概念模式的数据定 义语言称为“模式DDL”。

  外模式,也称用户模式或子模式,是用户与数据库系统的接口,是用户用到的那部分数据的描述。它由若干个外部记录类型组成,用户使用数据操纵语言DML对数据库进行操作。描述外模式的数据定义语言称为”外模式DDL“。

  内模式,也称为存储模式,是数据物理结构和存储方式的描述,是数据在数据库内部的表示方式,定义所有的内部记录类型、索引和文件的组织方式,以及数据控制方面的细节。但是内部记录也不涉及物理记录,那是操作系统负责的相关机制。“内模式DDL”。

  总之,数据按外模式的描述提供给用户,按内模式的描述存储在磁盘上,而概念模式则提供了连接这两级模式的相对稳定的中间点,且使得两级模式的任一级的改变都不受另一级的牵制。

  数据库系统在三级模式之间提供了两级映像,这保证了数据库中的数据具有较高的逻辑独立性和物理独立性。“模式/内模式”,“外模式/模式”。

      数据的独立性包括数据的物理独立性和数据的逻辑独立性。物理逻辑性是指,当数据库的内模式发生改变时,数据的逻辑结构不变;逻辑独立性,是指用户的应用程序和数据库的逻辑结构相独立。

7、数据库系统的体系结构

  1)集中式数据库系统:不但数据是集中的,数据的管理也是集中的,就是说从形式的用户接口到DBMS核心都集中在DBMS所在的计算机上。
  2)C/S数据库体系结构:安排某些任务在服务器上执行,另一些任务在客户机上执行。数据库系统功能分为前端和后端。前端主要包括图形用户界面、表格生成和报表处理等;后端负责存取结构、查询计算和优化、并发控制以及故障恢复。前端与后端通过SQL或应用程序来接口。
  注:数据库服务器一般可分为事务服务器和数据服务器。其中事务服务器又被称为查询服务器,典型的事务服务器中有多个在共享内存中访问数据的进程,包括服务器进程、锁管理进程、写进程、监视进程和检查点进程。

  3)并行数据库系统:并行体系结构的数据库系统是由多个物理上连在一起的CPU组成,分为共享内存式多处理器和无共享式并行体系结构。前者多个CPU共享一个内存与磁盘接口,后者每个CPU都有自己的内存和磁盘。

  4)分布式数据库系统:分布式DBMS包括物理上分布、逻辑上集中的分布式结构和物理上逻辑上都分布的分布式数据结构2种。

  5)WEB数据库,又称为网络数据库,即网站上的后台数据库。

8、事务:是一个操作序列,这些操作要么都做,要么都不做。它是数据库环境中不可分割的逻辑工作单位。事务的4个特性ACID,原子性、一致性、隔离性、永久性。

9、数据库的4类故障:事务内部故障、系统故障、介质故障、计算机病毒。

  故障恢复的基本原理是“建立数据冗余”。建立冗余数据的方法是进行数据转储和登记日志文件。

  数据的转储分为:静态转储和动态转储、海量转储和增量转储。

  日志文件:DBMS在事务处理的过程中,把事务开始、事务结束以及对数据库的插入、删除和修改的每一步操作写入日志文件。当发生故障后,DBMS可以 利用日志文件撤销事务对数据库的改变,回退到事务的初始状态。DBMS可以利用日志文件来进行事务故障恢复和系统故障恢复,并可协助后备副本进行介质故障 恢复。

  在发生数据库故障后,把数据库恢复到故障发生前的状态的方法:定期对数据库作后备文件;在进行事务处理时,对数据更新的全部有关内容写入日志文件;存 储系统正常运行时,按一定的时间间隔,设立检查点文件,把内存缓冲区内容还未写入到磁盘中去的有关状态记录到检查点文件中;当发生故障时,根据现场数据内 容、日志文件的故障前映像和检查点文件来恢复系统的状态。

  事务恢复的3个步骤:1)反向扫描文件日志,查找该事务的更新操作;
             2)对事务的更新操作执行逆操作;
            3)继续反向扫描日志文件,查找该事务的其他更新操作,并作同样的处理,直到事务的开始标志。
            
  在SQL中定义事务的语句有3条:BEGIN TRANSACTION;COMMIT;ROLLBACK。

10、并发控制

  并发操作带来的问题是数据的不一致性,有3种:丢失更新、不可重复读、读脏数据。主要原因是事务的并发操作破坏了事务的隔离性。
  并发控制的主要技术是封锁,有2种封锁类型:排他锁(又称为X锁或写锁),共享锁(又称为S锁或读锁)。

      排他锁:特征是独占性;共享锁:特征是共享可读,在锁释放前该数据对象不可写。

  三级封锁协议:一级封锁协议是指事务在修改数据前对其加X锁,直到事务结束才释放,这样就解决了丢失更新的问题;
         二级封锁协议是指在一级封锁协议的基础上,事务T在读取数据R之前先对其加S锁,读完后立即释放S锁,这样就解决        了读脏数据的问题;
         三级封锁协议是指在一级封锁协议的基础上,事务T在读取数据R之前先对其加S锁,直到事务结束时释放S锁,三级封        锁协议能够解决丢失更新、读脏数据、不可重复读这3个问题。
        
  活锁与死锁

  并发调度的可串行性:一个正确的多个事务并发执行,当且仅当其结果与某一次序串行地执行它们时的结果相同,则这种调度策略是可串行化的调度。可串行性是并发事务正确性的准则,一个给定的并发调度,当且仅当这旨可串行化的才认为是正确的调度。

  两段封锁协议:是指事务必须分两个阶段对数据进行加锁和解锁。事务在第一个阶段只能获得封锁,在第二个阶段只能释放锁。

  封锁的粒度:封锁对象的大小称为封锁的粒度。封锁的对象可以是逻辑单元也可以是物理单元。

  事务的嵌套:事务是不能嵌套的,这样就违背了事务的原子性。相当于当且仅当当前没有事务在运行时,程序才能执行BEGIN TRANSACTION操作。

11、数据库安全性:为保护数据库,我们要在多个层次上采取安全性措施。
    数据库系统层次;操作系统层次;网络层次;物理层次;人员层次。

  数据库的完整性:是指数据的正确性和相容性(有效性)。这包括用户定义完整性、参照完整性、实体完整性。实体完整性规则指主码的任何组成部分都不可以是空值,引用完整性规则则不允许引用不存在的实体。
    
  授权:read, insert, update, delete ;index, resource, alteration, drop 。后者操作的对象是涉及数据库模式的表、表属性及索引。

  权限授予图:表现授权从一个用户到另一个用户的传递。用户具有授权的条件是,当且仅当存在从授权图的根到代表该用户节点的路径。为安全着想,我们要求授权图中的所有边都必须是某条从DBA开始的路径的一部分。

  角色:在数据库中建立一个角色集,将权限授予角色,通过为用户授予角色实现赋权的管理。

  审计追踪:它是一个记录对数据库所有更改的日志。可以在关系更新操作上定义适当的触发器来建立一个审计追踪。很多的数据库系统都提供了内置机制来建立审计追踪。

12、数据仓库DW(Data Warehouse):在数据库基础上产生的能满足决策分析需要的数据环境。

  数据仓库的基本特征:数据是面向主题的,数据是集成的,数据是相对稳定的,数据是反映历史变化的。

  数据仓库的数据模式:星型模式,雪花模式,事实星型模式。典型的数据仓库具有为数据分析而设计的模式,使用OLAP工具进行联机分析处理。其数据通常是多维的,包括维属性和度量属性。包含多维数据的表称为事实表。
    一个事实表、多维表以及从事实表到多维表的参照外码的模式,称为星型模式;
    更复杂的数据仓库含有多级维表,这种模式称为雪花模式;
    复杂的数据仓库也可能含有不止一个事实表,这种模式称为事实星型模式。
    
  数据仓库的体系结构:它通常采用三层结构,底层为数据仓库服务器、中间层是OLAP服务器、顶层为前端工具。

    底层的数据仓库服务器一般是一个关系数据库系统。中间层的OLAP可以是关系型OLAP(即扩充的DBMS)也可以是多维的OLAP服务器。顶层的前端工具是各种查询、报表、分析、挖掘工具。
    
  从结构的角度看,有3种数据仓库模型:企业仓库、数据集市、虚拟仓库。
    
    数据集市是企业范围数据的一个子集;虚拟仓库是操作型数据库上视图的集合。

13、数据挖掘:从海量数据中挖掘信息的技术。支持DM的3种基础技术是海量数据搜索、强大的多处理器计算机、数据挖掘算法。几中常用的数据挖掘技术是:人工神经网络、决策树、遗传算法、近邻算法、规则推导。

  数据挖掘与数据仓库的关系:数据仓库不仅是集成数据的一种方式,而且它的OLAO联机分析功能还为数据挖掘提供了一个很好的操作平台。

  与传统数据分析工具比较,数据挖掘工具更注重于预测未来的情况。

  数据挖掘技术的应用过程:确定挖掘对象,准备数据,建立模式,数据挖掘,结果分析,知识应用。

    将数据转换成一个分析模型,建立一个真正适合挖掘算法的分析模型是数据挖掘的关键。
    
14、SQL语言中不提供地使用索引的功能,这支持了物理数据的独立性。

posted on 2006-04-29 11:18 大西瓜 阅读(692) 评论(0)  编辑 收藏 引用 所属分类: 数据库学习的点滴记录

只有注册用户登录后才能发表评论。