重点和难点

  1. 重点:数据库和关系模型的基本概念,ER模型、关系数据理论
  2. 难点:数据库系统的结构

一、数据库基本概念

  1. 数据库 (Database, DB)

    • 长期存储在计算机内、有组织、可共享的数据集合。
    • 例子:学生信息数据库,包含学号、姓名、性别等信息。
  2. 数据库管理系统 (Database Management System, DBMS)

    • 管理数据库的软件,提供数据定义、数据操纵、数据控制等功能。
    • 例子:MySQL, PostgreSQL, Oracle。
    • 主要功能:
      • 数据定义功能:由数据定义语言 (Data Definition Language, DDL) 定义数据库中的数据对象。
      • 数据组织、存储和管理:分类组织、存储和管理各种数据,包括数据字典、用户数据、数据的存取路径等。
      • 数据操纵功能:由数据操纵语言 (Data Manipulation Language, DML) 实现对数据库的查询、插入、删除和修改。
      • 数据控制功能:由数据控制语言 (Data Control Language, DCL) 实现数据保护和事务管理等功能。
    • image-20240615192439346
  3. 数据库系统 (Database System, DBS)

    • 包含数据库、DBMS、应用程序和数据库管理员 (DBA)。

      image-20240615184414435

二、数据模型

  1. 数据模型:现实世界数据特征的抽象。主要包括三个要素:

    • 数据结构:(静态)描述数据库组成对象及其联系。
    • 数据操纵:(动态)描述对数据库中各种对象的操作,如查询、插入、删除、修改。
    • 数据完整性约束:(规则)描述数据的约束规则,确保数据的正确性和一致性。
  2. 分类(根据模型应用的不同目的):

    • 概念模型:按用户的观点对数据和信息建模,主要用于数据库设计。

      ​ 联系:一对一联系(1:1) 一对多联系(1:N) 多对多联系(M:N)

      E-R图实体用矩形表示,属性用椭圆形表示,联系用菱形表示,连接线表示实体与属性、实体与联系之间的关系

      image-20240615172620650 image-20240615172559055
    • 逻辑模型: 它按计算机系统的观点对数据建模,用于DBMS实现。

      • 层次模型:以树型结构表示数据。只能一对多 不能多对多

      • 网状模型:以网型结构表示数据。

      • 关系模型:以关系(二维表格形式)表示数据,是目前最常用的数据模型。

        • 关系:一张表。

        • 关系模式:对关系结构的描述。 关系名(属性1,属性2, …,属性n )

          ​ e.g. 学生(学号,姓名,年龄,性别,系,年级)

        ​ 数据操作是集合操作, 操作对象和操作结果都是关系,即若干元组的集合。

    • 物理模型: 是对数据最底层的抽象,描述数据在系统内部的表示方式和存取方法,在磁盘或磁带上的存储方式和存取方法。它的具体实现是DBMS的任务。

三、数据库系统的结构

  1. 三级模式结构

    image-20240615191648183

    外模式 ( 子模式、用户模式 ):用户视图。

    ​ 描述用户视图,反映用户对数据的需求。

    ​ 数据库用户( 包括应用程序员和最终用户) 使用的局部数据的逻辑结构和特征的描述

    ​ 数据库用户的数据视图, 是与某一应用有关的数据的逻辑表示

    ​ 安全性:每个用户只能看见和访问所对应的外模式中的数据

    ​ 模式与外模式的关系:一对多,反映了不同的用户的应用需求、看待数据的方式、 对数据保密的要求

    ​ 介于模式与应用之间

    模式 ( 逻辑模式 ):数据库的逻辑结构。

    ​ 数据库中全体数据的逻辑结构和特征(型)的描述

    ​ 所有用户的公共数据视图, 综合了所有用户的需求

    ​ 一个数据库只有一个模式

    ​ 中间层 与数据的物理存储细节和硬件环境无关

    内模式(存储模式):数据的物理存储方式。

    ​ 是数据物理结构和存储方式的描述

    ​ 是数据在数据库内部的表示方式

    ​ 一个数据库只有一个内模式

    外模式/模式映象 :定义外模式与模式之间的对应关系 ,保证数据的逻辑独立性

    模式/内模式映象:定义了数据全局逻辑结构与存储结构之间的对应关系,保证数据的物理独立性

四、数据库的发展历史及分类

  1. 发展历史

    • 人工管理阶段 (20世纪50年代中期前)
      • 数据不保存。
      • 应用程序管理数据。
      • 数据不共享,独立性差。
    • 文件系统阶段 (20世纪50年代后至60年代中期)
      • 数据可以长期保存。
      • 文件系统管理数据。
      • 数据共享性差,冗余度大。
      • 数据独立性差。
    • 数据库系统阶段 (60年代末至今)
      • 数据结构化。
      • 数据共享性高,冗余度低。
      • 数据独立性高。
      • 数据由数据库管理系统 (DBMS) 统一管理和控制。
  2. 分类

    • 按数据模型分类
      • 层次数据库、网状数据库、关系数据库(基于关系模型构建的数据库)、面向对象数据库、对象关系数据库。
    • 按使用场景分类
      • 事务型数据库、分析型数据库。
    • 按分布方式分类
      • 集中式数据库、分布式数据库、客户/服务器 (Client/Server) 结构、浏览器/应用服务器/数据库服务器多层结构。

《数据库原理》课程笔记:

  1. 第一章 数据库系统概述和关系模型
  2. 第七章 事务处理、并发和恢复
  3. 第二章 关系模式规范化
  4. 第五章 存储和索引技术
  5. 第六章 查询处理和优化