绪论

数据库系统概述

数据库的4个基本概念

  • 1.数据

    • 数据时数据库中存储的基本对象。描述事物的符号记录称为数据。
  • 2.数据库

    • 数据库时长期储存在计算机内、有组织的、可共享的大量数据的集合。数据库中的数据按一定的数据模型组织、描述和储存,具有较小的冗余度(redundancy)、较高的数据独立性(data independencey)和易扩展性(scalability),并可为各种用户共享。概括地讲,数据库数据具有用久存储、有组织和可共享三个基本特点。
  • 3.数据库管理系统

    • 数据库管理系统是位于用户与操作系统之间的一层数据管理软件。数据库管理系统和操作系统一样是计算机的基础软件,也是一个大型复杂的软件系统。它的主要功能包括以下几个方面:

      • (1)数据定义功能

        • 数据库管理系统提供数据定义语言(Data Definition Language, DDL),用户通过它可以方便地对数据库中的数据对象的组成与结构进行定义。
      • (2)数据组织、存储和管理

        • 数据库管理系统要分类组织、存储和管理各种数据,包括数据字典、用户数据、数据的存取路径等。要确定以何种文件结构和存取方式在存储级上组织这些数据,如何实现数据之间的联系。数据组织和存储的基本目标是提高存储空间利用率和方便存取,提供多种存取方式(如索引查找、hash查找、顺序查找等)来提高存取效率。
      • (3)数据操控功能

        • 数据库管理系统还提供数据操纵语言(Data Manipulation Language,DML),用户可以使用它操纵数据,实现对数据库的基本操作,如查询、插入、删除和修改等。
      • (4)数据库的事务管理和运行管理

        • 数据库在建立、运用和维护时由数据库管理系统统一管理和控制,以保证事务的正确运行,保证数据的安全性、完整性、多用户对数据的并发使用及发生故障后的系统恢复。
      • (5)数据库的建立和维护功能

        • 数据库的建立和维护功能包括数据库舒适数据的输入、转换功能,数据库的转储、恢复功能,数据库的重组织功能和性能监视、分析功能等。这些功能通常是由一些使用程序或管理工具完成的。
      • (6)其他功能

        • 其他功能包括数据库管理系统与网络中其他软件系统的通信功能,一个数据库管理系统与另一个数据库管理系统或文件系统的数据转换功能,异构数据库之间的互访和互操作功能等
  • 4.数据库系统

    • 数据库系统是由数据库、数据库管理系统(及其应用开发工具)、应用程序和数据库管理员(DataBase Administrator,DBA)组成的存储、管理、处理和维护数据的系统。

数据管理技术的产生和发展

  • 1.人工管理阶段

    • (1)数据不保存
    • (2)应用程序管理数据
    • (3)数据不共享
    • (4)数据不具有独立性
  • 2.文件系统阶段

    • (1)数据可以长期保存
    • (2)由文件系统管理数据
    • (3)数据共享性差,冗余度大
    • (4)数据独立性差
  • 3.数据库系统阶段

数据库系统的特点

  • 1.数据结构化

    • 数据库系统实现整体数据的结构化,这是数据库的主要特征之一,也是数据库系统与文件系统的本质区别。
  • 2.数据的共享性高、冗余度低且易扩充

    • 数据共享可以大大减少书记荣誉,节约存储空间,数据共享还能够避免数据之间的不相容性与不一致性。
  • 3.数据独立性高

    • 数据独立性是借助数据库管理数据的一个显著优点,它已称为数据库领域中一个常用术语和重要概念,包括数据的物理独立性和逻辑独立性。
    • 物理独立性是指用户的应用程序与数据库中数据的物理存储时相互独立的。
    • 逻辑独立性是指用户的应用程序与数据库的逻辑结构时相互独立的。
  • 4.数据由数据库管理系统统一管理和控制

    • (1)数据的安全性(securi)保护
    • (2)数据的完整性(integrity)检查
    • (3)并发(concurrency)控制
    • (4)数据库恢复(recovery)

数据模型

两类数据模型

  • 第一类:概念模型

    • 概念模型也称信息模型,它是按用户的观点来来对数据和信息建模,主要用于数据库设计。
  • 第二类:逻辑模型和物理模型

    • 第二类中的逻辑模型主要包括层次模型、网状模型、关系模型、面向对象数据模型和对象关系数据模型、半结构化数据模型等。它是按计算机系统的观点对数据建模,主要用于数据库管理系统的实现。
    • 第二类中的物理模型是对数据最底层的抽象,它面熟数据在系统内部的表示方式和存取方法,或在磁盘或磁带上的存储方式和存取方式,是面向计算机系统的。物理模型的具体实现是数据库管理系统的任务,数据库设计人员要了解和选择物理模型,最终用户则不必考虑物理级的细节。

概念模型

  • 1.信息世界中的基本概念

    • (1)实体(entity)

      • 客观存在并可相互区别的事物称为实体。
    • (2)属性(attribute)

      • 实体所具有的某一特性称为属性。
    • (3)码(key)

      • 唯一标识实体的属性集称为码。
    • (4)实体型(entity type)

      • 具有相同属性的实体必然具有共同的特征和性质。用实体名及其属性名集合来抽象和刻画同类实体,称为实体型。
    • (5)实体集(entity set)

      • 同一类型的集合称为实体集。
    • (6)联系(relationship)

      • 一对一、一对多、多对多等多种类型
  • 2.概念模型的一种表示方法:实体-联系方法

    • E-R方法也成为E-R模型

数据模型的组成要素

  • 1.数据结构
  • 2.数据操作
  • 3.数据的完整性约束条件

常用的数据模型

  • 层次模型

    • 1.层次模型的数据结构

      • (1)有且只有一个结点没有双亲结点,这个结点称为根结点;
      • (2)根以外的其他结点有且只有一个双亲结点。
    • 优点:

      • (1)层次模型的数据结构比较简单清晰
      • (2)层次数据库的查询效率高
      • (3)层次模型提供了良好的完整性支持。
    • 缺点:

      • (1)现实世界中很多联系时非层次性的,如结点之间具有多对多联系,不适合用层次模型表示。
      • (2)如果一个结点具有多个双亲结点,用层次模型表示这类联系就很笨拙。
      • (3)查询子女结点必须通过双亲结点。
      • (4)由于结构严密,层次命令趋于程序化。
  • 网状模型

    • 数据结构

      • (1)允许一个以上的结点无双亲。
      • (2)一个节点可以有多于一个的双亲。
    • 优点:

      • (1)能够更为直接地描述现实世界,如一个结点可以有多个双亲,结点之间可以有多种联系。
      • (2)具有良好的性能,存取效率较高。
    • 缺点:

      • (1)结构比较复杂,而且随着应用环境的扩大,数据库的结构就变得越来越复杂,不利于最终用户掌握。
      • (2)网状模型的DDL\DDM复杂,并且要嵌入某一种高级语言中,用户不容易掌握和使用。
      • (3)由于记录之间的联系时通过存取路径实现的,应用程序在访问数据时必须选择适当存取路径,因此用户必修了解系统结构的细节,加重了编写应用程序的负担。
  • 关系模型

    • 数据结构

      • 关系

        • 一个关系对应通常说的一张表
      • 元组

        • 表中的一行即为一个元组
      • 属性

        • 表中的一列即为一个属性
        • 也称码键。表中的某个属性组,它可以唯一确定一个元组。
        • 域时一组具有相同数据类型的值的集合。属性的取值范围来自某个域。
      • 分量

        • 元组中的一个属性值
      • 关系模式

        • 对关系的描述,一般表示为 关系名(属性1,属性2,···,属性n)
    • 数据操纵与完整性约束

      • 实体完整性
      • 参照完整性
      • 用户定义的完整性
      • 操作对象和操作结果都是关系
    • 优点:

      • (1)关系模型与格式化模型不同,它是建立在严格的数学概念的基础上的。
      • (2)关系模型的概念单一。无论实体还是实体之间的联系都用关系来表示。对数据的建所和更新结果也是关系(即表)。所以其数据结构简单、清晰,用户易懂易用。
      • (3)关系模型的存取路径对用户透明,从而具有更高的数据独立性、更好的安全保密性,也简化了程序员的工作和数据库开发建立的工作。
    • 缺点:

      • 查询效率往往不如格式化数据模型

数据库系统的结构

数据库系统模式的概念

  • 在数据模型中有“型“(type)和”值“(value)的概念。模式时相对稳定的,而实例是相对变动的。

数据库系统的三级模式结构

  • 1、模式

    • 模式也称逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。
  • 2.外模式

    • 外模式也称子模式或用户模式,它是数据库用户(包括应用程序员和最终用户)能够看见和使用的局部数据的逻辑结构和他正的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示。
  • 3.内模式

    • 内模式也称存储模式,一个数据库只有一个内模式。它是数据物理结构和存储方式的描述,是数据在数据库内部的组织方式。

数据库的二级映像功能与数据独立性

  • 1.外模式/模式映像

    • 当模式改变时,由数据库管理员对各个外模式/模式的映像作相应的改变,可以时外模式保持不表。应用程序是依据数据的外模式编写的,从而应用程序不惜修改,保证了数据与程序的逻辑独立性,简称数据的逻辑独立性。
  • 2.模式/内模式映像

    • 当数据库的存储结构改变时,由数据库管理员对模式/内模式映像作相应改变,可以时模式保持不变,从而应用程序也不必改变,保证了数据与程序的物理独立性,简称数据的物理独立性。

数据库系统的组成

1.硬件平台及数据库

  • (1)要有足够大的内存,存放操作系统、数据库管理系统的核心模块、数据缓冲区和应用程序。
  • (2)有足够大的磁盘或磁盘阵列等设备存放数据库,有足够大的磁带(或光盘)作数据备份。
  • (3)要求系统有较高的通道能力,以提高数据传送率。

2.软件

  • (1)数据库管理系统。
  • (2)支持数据库管理系统允许的操作系统
  • (3)具有与数据库接口的高级语言及其编译系统,便于开发应用程序
  • (4)以数据库管理系统为核心的应用开发工具。

3.人员

  • (1)数据库管理员
  • (2)系统分析员和数据库设计人员
  • (3)应用程序员
  • (40用户