一、数据库系统概述

一、数据库系统概述

主要内容

  • 数据
  • 数据管理
  • 数据库
  • 数据库管理系统
  • 数据库系统
  • 数据库系统用户

1.数据库管理技术

简介

  • 数据(Data)

    • 描述事物的符号记录(表示信息的符号,信息的载体
    • 形式多样:数组、文字、图形、图像、声音……
  • 数据处理

    • 收集、加工、应用、储存、传播等过程
  • 数据管理

    • 对数据进行分类、组织、编码、存储、检索和维护等

    • 是数据处理的中心问题

    • 怎么管?

      ——数据管理技术

  • 数据的语义

    • 数据的含义
    • 数据的解释(对数据含义的说明)
    • 数据与其语义是不可分的。(例如刻舟求剑、结绳记事,单单拿出这些是没有意义的,要对这些成语进行解释)
  • 数据及其语义示例

    • 学生记录

      (李明,男,199505,江苏南京市,计算机系,2013)

    • 语义

      学生姓名、性别、出生年月、出生地、所在院系、入学时间

    • 解释

      黎明是个大学生,1995年5月出生,江苏南京市人,2013年考入计算机系。

    “…………最终解释权归XX所有…………”

  • 数据库管理技术

    下面接受数据库管理技术的发展

    • 人工管理(20实际40年代–50年代中)
    • 文件系统(50年代末–60年代中)
    • 数据库系统(60年代末–现在)
    • 大数据(Big Data,Now)
    • AI(Now–future)
    • …………
  • 数据管理技术的发展动力

    • 应用需求的推动
    • 计算机硬件的发展
    • 计算机软件的发展

人工管理阶段

  • 20世纪40年代中–50年代中

  • 产生背景

    • 应用需求——科学计算
    • 硬件水平——无 直接存取存储设备
    • 软件水平——没有操作系统
    • 处理方式——批处理(批处理是将若干个作业(任务)收集起来,组成一个作业批(Batch),然后一次性提交给计算机系统,由系统自动、顺序地处理这些作业,用户在处理过程中通常不与计算机交互。)
  • 特点

    • 数据不保存
    • 没有专门的软件管理数据
    • 应用程序完全依赖于数据
    • 数据不能共享
  • 数据和应用程序的关系

    • 应用程序与数据的存储、存取方式密切相关。应用程序的运行依赖于数据的具体存储方式、格式和位置——数据依赖
    graph LR
        A1[应用程序 1] <--> D1[数据集 1]
        A2[应用程序 2] <--> D2[数据集 2]
        A3[⋯⋯] <--> D3[⋯⋯]
        An[应用程序 n] <--> Dn[数据集 n]
    
    

    应用程序与其使用的数据之间是紧密绑定的,即每个应用程序只能操作自己的专属数据集,数据是“孤立”的,不能被多个程序共享。

    • 示例:某单位开发了一个工资管理程序 payroll.exe ,它读取员工工资信息,并生成月度报表。

      程序运行时的“数据依赖”体现在:

      1. 存储位置依赖:

        • 程序假设工资数据保存在 C:\data\salary.txt
        • 如果文件被移动、重命名或路径改变,程序将无法找到数据文件而报错。
      2. 格式依赖:

        • 文件内容格式是固定的,例如:

          张三,10000
          李四,8500
          王五,9200
          
        • 如果有人修改为 JSON 格式或增加了一个列(如日期),程序就会解析失败

      3. 存储方式依赖:

        • 程序可能通过“顺序读取”文件,即文本文件存储,一行一行读。
        • 如果数据改为使用数据库(如MySQL)存储,程序就完全无法运行,必须重写读取逻辑。

文件系统阶段

  • 20世纪50年代末–60年代中

  • 产生背景

    • 应用需求——科学计算、管理
    • 硬件水平——磁盘】磁鼓等直接存取设备
    • 软件水平——有文件管理系统
    • 处理方式——联机实时处理、批处理

    联机实时处理:是一种数据处理方式,它的特点是在数据输入后,系统立即进行处理,并快速返回结果,几乎无延迟。

    联机:用户或设备与计算机系统保持持续连接,数据可以随时输入或获取。

    实时: 系统必须在规定的时间内完成对数据的处理(通常是立即或几秒内)。

  • 特点

    • 数据可以长期保存
    • 有专门的文件系统软件管理数据
    • 数据是面向应用的、分散的
    • 数据冗余度大
    • 缺乏对数据统一的控制机制
  • 数据和应用系统的关系

    • 应用程序和数据之间仍存在依赖关系(m:n
    • 数据改变应用程序也得改变
    • 文件内有结构,文件间是独立的,数据整体无结构
    应用程序1
    文件管理系统
    应用程序2
    应用程序n
    文件1
    文件2
    文件n
    • 示例

      用户
      财务
      财务
      应用程序
      文件
      文件
      文件
      用户
      生产
      生产
      应用程序
      文件
      文件
      文件
      用户
      营销
      营销
      应用程序
      文件
      文件
      文件
      用户
      人事
      人事
      应用程序
      文件
      文件
      文件

数据库系统阶段

  • 20世纪60年代末以来

  • 产生背景

    • 应用背景——大规模数据管理

    • 硬件背景——大容量快速存取的磁盘

    • 软件背景——商品化的数据库管理系统

    • 处理方式——联机实时处理,分布处理,批处理

      分布处理: 把一个应用或任务分散到多个计算机(或多个处理单元)上共同完成数据处理。

      1. 多个处理节点(如多台服务器、多核、多站点)共同协作;
      2. 任务或数据分布在不同位置(地理上或逻辑上)
      3. 通过网络通信协调处理流程;
      4. 整体对用户透明,就像一个系统在工作。

      示例场景:

      • 大型银行系统:
        • 北京分行的服务器处理本地账户;
        • 上海分行处理自己的客户;
        • 总部系统协调汇总。
      • 电商平台:
        • 商品、订单、用户、支付由不同模块、不同服务器处理;
        • 系统对用户来说看起来是一个”整体“网站。
  • 三件大事,标志着数据库时代的到来

    • 1968年,IBM研制了世界上第一个商品化的数据库管理系统——层次数据库系统IMS。
    • 1969年,美国数据库系统语言研究会下属的数据库任务组公布了基于网状模型的DBTG包裹
    • 1970年,IBM的E.F.Codd发表了题为《大型共享数据库数据的关系模型》等一系列关系数据库论文,奠定了关系数据库的理论基础。
  • 数据和应用程序的关系

    • 数据以一定方式组织起来,由一个软件共同管理,作为应用程序与数据的接口。
    应用程序1
    数据库管理系统
    应用程序2
    应用程序n
    数据库

    文件系统到数据库系统,标志着数据管理技术的飞跃!

    • 示例
    用户财务
    财务应用程序
    用户生产
    生产应用程序
    用户营销
    营销应用程序
    用户人事
    人事应用程序
    数据库管理系统
    财务信息
    生产信息
    营销信息
    人事信息
  • 特点

    • 数据结构化

      • 整体从无序到有序

        解释:数据被组织成表格、字段、记录等结构,具备固定格式,便于管理与查询。

        例子:

        • 文本文件:张三,10000 ,只是字符串。
        • 数据库:表格中“姓名”和“工资”两列,数据结构清晰,可通过 SQL 查询。
    • 数据独立性高

      • 物理独立性高:数据库物理结构的改变,不影响数据的逻辑结构,不影响应用程序。

        解释:物理存储变化不影响逻辑结构

        例子:我们把数据库文件从磁盘A移到磁盘B,程序依然能通过数据库引擎访问数据,无需修改代码。

      • 逻辑独立性:数据库的逻辑数据结构发生改变时,应用程序可以无需修改。

        解释:数据逻辑结构变化不影响程序

        例子:表格新增一列“邮箱”,原来查询姓名和工资的应用程序无需修改就可以继续运行。

    • 数据冗余减少

      • 数据可以集中管理,统一组织、定义和存储

      例子:财务、HR以前各自维护一份员工信息,现在它们都从同一个“员工信息表”中读取数据,不需要重复存储。

    • 数据共享

      • 数据库发展的主要原因

      多个应用/用户可以访问同一份数据

      例子:销售系统、仓库系统、财务系统都能读取“商品库存表”中的数据,避免“信息孤岛”。

    • 统一的数据库管理、控制和保护功能

      • 安全性: 用户权限控制,比如管理员可以查看工资,普通员工不可以
      • 一致性: 数据库内部有机制保证数据符合约束(如主键唯一、外键有效)
      • 有效性: 确保数据准确,比如工资字段必须是数字
      • 并发控制: 两人同时下单,系统控制库存不出错
      • 故障恢复: 断电后,通过日志或备份回复数据库状态。
  • 数据库管理示例

    image-20250512190956356

    • 第一层:人工管理阶段
      • 各部门自己维护数据,纸质/文本文件为主
      • 数据分散、冗余严重
      • 没有统一结构,改动困难
      • 程序与数据高度耦合(即“数据依赖”)
    • 第二层:文件系统阶段
      • 数据集中到了一个大文件中
      • 使用了文件管理系统来统一存储
      • 仍是**“平面结构”** , 缺乏逻辑关系
      • 结构不灵活,维护仍困难
    • 第三层:数据库系统阶段
      • 数据被合理拆分为多个表(实体),彼此有主外键逻辑关系
      • 实现了:
        • 数据结构化
        • 数据独立性高(逻辑/物理分离)
        • 数据共享
        • 冗余最小
        • 统一管理、统一控制

2.什么是数据库

数据库(Data Base,DB,Database)

  • 是存放数据的仓库。
  • 是存放在介质上的相关数据的集合。
  • 长期储存在计算机内、有组织的、可共享的的大量数据的集合。
  • 是长期存储在计算机内、有组织的数据集合,它根据数据间的联系组织在一起,具有较高的数据独立性,叫少数据冗余,能够为各种用户共享。
  • …………

数据库的特征

  • 按一定的数据模型组织、描述和储存数据
  • 可为各种用户共享
  • 冗余度较小
  • 独立性较高
  • 易扩展

例子:

​ 学生登记表

学号姓名年龄性别系名
95506黄大鹏20商品学
95504王小明19社会学
95508张文斌18法律学
…………………………

数据库管理系统(Data Base Management System,DBMS)

  • 是统一管理数据库的软件系统
  • 是位于用于与操作系统之间的一层数据管理软件
  • 负责数据库的管理和维护,具有数据定义、数据操纵、运行管理和维护等功能
  • 是数据库系统的核心

数据库系统(Data Base System,DBS)

  • 是一种对数据提供存储、管理和应用的计算机系统,包括计算机硬件、软件、用户和相关管理人员(DBA) 。
  • 是指在计算机系统中引入数据库后的系统构成。

数据库系统的组成

用户
用户1
用户2
用户n
应用系统
数据库管理系统
数据库
数据库管理
  • DBS = DB + DBMS +……
flowchart TD
	subgraph 用户组
		U1[用户]
		U2[用户]
		U3[……]
		U4[用户]
	end
	A([应用系统])
	Tool(["应用开发工具"]):::dashed
	DBMS([数据库管理系统])
	DBM[数据库管理员]
	OS([操作系统])
	DB[(数据库)]
	
 	U1 --> A
    U2 --> A
    U3 --> A
    U4 --> A
    
    A <--> Tool
    Tool <--> DBMS
    DBM --> DBMS
    DBMS <--> OS
    OS <--> DB
    DBM --> DB

数据库管理系统在计算机系统中的位置图

image-20250514131243944

数据库技术的地位

  • 数据库技术产生于20世纪60年代末,是数据管理的重要技术,是计算机科学的重要分支
  • 数据库技术是信息系统的核心和基础,它的出现极大地促进了计算机应用像各行各业的渗透
  • 数据库的广泛应用也促进了数据库技术的发展,使其成为计算机科学中发展最快的一个领域
  • 数据库的建设规模、数据库信息量的大小和使用频度已经称为衡量一个国家信息化程度的重要标志
  • 由于其在计算机科学技术领域的基础性、核心地位以及对其他技术和应用的重要支撑作用,数据库技术被誉为“计算机科学技术皇冠上的明珠

3.数据模型

数据库的数据是按照一定的数据模型组织、描述和存储的。

模型

  • 是对现实世界中某个对象特征的模拟和抽象
  • 是对客观事物形式化的抽象描述
  • 可以简化问题,便于处理
  • 比如航模飞机就是一种模型

数据模型(Data Model)

  • 是信息领域所采用的模型
  • 将现实世界的各种事物以及事物之间的联系,表示为数据以及数据之间的联系
  • 是对现实世界数据特征的抽象和模拟
  • 是用来描述数据、组织数据和操作数据的
  • 是数据库系统的核心和基础

数据模型的描述(数据模型三要素

  1. 数据结构
    • 是对数据静态特性的描述
    • 它包括应用所涉及的对象、对象所具有的特性、对象间的联系
  2. 数据操作
    • 是对数据动态特性的描述
    • 是指对数据库对象实例执行的一组操作,包括检索、插入、删除、修改等
  3. 数据的完整性约束
    • 是对数据静态和动态特性的约束
    • 它反映了数据间的制约和依存关系
  • 一般所指的不同数据模型主要是由数据结构来表征。

数据模型应满足三方面的基本要求

  • 能比较真实地模拟现实世界
  • 容易被人所理解
  • 便于在计算机上实现

针对不同的使用对象和应用目的,应该采用不同的数据模型。

数据模型的分类

  • 一种是独立于计算机的数据模型
    • 是一种概念模型(信息模型)
    • 比如实体-联系模型、语义数据模型
    • 是描述特定范围内的信息结构
    • 与信息在计算机中的表示无关,与DBMS也无关
    • 比较稳定,由现实需求决定
  • 另一种是直接面向计算机的数据模型
    • 是基本数据模型(数据模型)
    • 按照计算机的观点对数据建模,与具体的DBMS有关
    • 比如层次模型、网状模型、关系模型、面向对象数据模型、对象关系数据模型、半结构化数据模型等

(基本)数据模型的层次

  • 逻辑数据模型
    • 表示的是用户所看的数据模型,不关注数据如何具体存储,而是关注数据之间的逻辑关系
    • 仅表示数据的逻辑结构;
    • 现有DBMS都是以其所支持的逻辑模型来分类的;
    • 比如:支持关系模型的就是关系型数据库(如MySQL、PostgreSQL)。
  • 物理数据模型
    • 表示数据存储结构和存取方法的数据模型
    • 反应**逻辑数据模型在物理存储器(如磁盘)**上的具体实现;
    • DBMS有关,还与操作系统和硬件设备有关。

4.数据库系统结构

体系结构——三级模式结构(二级映像)

应用层
外模式/模式映像
外模式/模式映像
外模式/模式映像
模式/内模式映像
应用A
应用B
应用C
应用D
应用E
外模式1
外模式2
外模式3
模式
内模式
数据库

该图展示的是数据库系统的三层结构模式(三级模式、两级映像体系结构),是数据库系统体系结构的核心模型。

说明:

  1. 应用程序层(最高层)

    • 应用A、应用B -> 使用外模式1

    • 应用C -> 使用外模式2

    • 应用D、应用E -> 使用外模式3

      含义:

      • 不同应用程序可以有不同的数据视图(也就是“外模式”)。
      • 外模式是对整个数据库的一部分或某种特定表示,通常是为满足某类用户需求而定义的子集或视图。
  2. 外模式

    • 图中:外模式1、外模式2、外模式3
    • 作用:为不同用户或应用提供 个性化的数据视图
    • 举例:
      • 财务部门只看到财务相关字段(外模式1)
      • 销售部门只看到客户和订单字段(外模式2)
  3. 模式(模式层/模式/模型/概念模型)

    • 图中:中间的“模式”节点
    • 作用:表示数据库的整体逻辑结构,也就是所有数据的通用视图。
    • 举例:描述所有表、字段、主键、外键之间的关系。
  4. 内模式(Internal Schema)

    • 图中:“内模式”节点
    • 作用:定义数据在 物理存储层(如磁盘) 上的结构与存储方式。包括:数据的页结构、块结构、索引、压缩方式等
  5. 数据库(物理数据)

    • 图中最底部的圆柱体“数据库”
    • 作用:真正存放数据的地方,位于物理磁盘上。
  6. 两级映像(重要)

    • 外模式 / 模式映像
      • 图中:是从模式导出的,从外模式映射到全局逻辑模式。
      • 用于实现 用户视图向数据库逻辑结构的转换
    • 模式 / 内模式映像
      • 图中:是从内模式导出的,是从逻辑结构映射到物理存储结构。
      • 用于实现 逻辑结构向实际物理实现的转换

模式(数据库模式)

  • 是一种概念模式、逻辑模式
  • 是全体数据的逻辑结构和特征的描述
  • 独立于应用程序和物理存储
  • 一个数据库对应一个模式
  • 是数据库的总框架,所有数据都按照这一模式进行装配
  • 设计数据库模式结构时首先确定数据库的逻辑模式
  • 模式是由DDL描述的。数据库系统提供一种 数据描述语言(DDL,Data Description Language) 来定义模式。

外模式(External Schema)

  • 又称子模式Subschema):模式的子集,是数据库中针对具体用户或应用程序个性化视图
  • 是面向具体的应用程序的,定义在逻辑模式之上,单独立于存储模式和存储设备,它不关心数据在磁盘上如何存储,只关注用户如何看到数据。
  • 是数据库用户的数据视图,是对用户数据结构的描述。
    • 用户操作数据库时,实际上是通过“自己的外模式来查看”数据。就像微信里只能看到自己的聊天记录,而不是服务器的所有数据。
  • 应用程序根据外模式对数据的描述存取数据
    • 应用系统是基于外模式来访问和操作数据库的。
    • 外模式决定了用户能看到哪些字段、能不能更新、是否隐藏了某些信息。
  • 一个数据库可以有多个外模式;一个应用程序只能使用一个外模式;一个外模式可以对应多个应用程序。
  • 外模式对数据的描述可以不同于模式,但受模式的制约。
    • 外模式是逻辑模式的子集;
    • 它可以是不同的表示方式,但不能“自创”不存在于逻辑模式中的字段;
    • 所以受到逻辑模式结构限制。
  • 数据库系统提供 外模式描述语言(Subschema DDL)
    • 就像定义 逻辑模式DDL,定义 外模式 也有相应语言,称为 子模式语言

内模式(Internal Schema)

  • 也称存储模式,是数据库的存储结构和存取方法的描述,是数据在数据库内部的表示方法。

  • 它规定数据在存储介质上的物理组织方式、记录寻址方式,定义物理存储块的大小、溢出处理方法等内容。描述内容 = 存储方式 + 访问机制。它说明了以下内容:

    • 数据如何以文件、页、块等形式存在;
    • 如何找到一条记录(记录寻址方式);
    • 如何记录地址信息;
    • 存储块多大;
    • 超出空间后如何处理(溢出块);
    • 数据是否压缩、加密等。

    例子:一张表“学生”在逻辑层只有字段定义,而在内模式中会规定:

    • 一页能放多少个学生记录;
    • 学号是主键,建立B+数索引;
    • 数据按学号排序分区存储;
    • 使用磁盘的第 N 区块编号作为存放位置。
  • 依赖于全局逻辑结构,但独立于数据库的用户视图即外模式,也独立于具体的存储设备。

    • 内模式 是基于 模式 设计的,所以它 依赖逻辑模式(模式)
    • 但它独立于用户使用的视图(外模式),也就是说,不论用户看到什么样的数据子集,数据都按内模式来存放;
    • 同时,内模式也应具有一定的设备无关性(不依赖具体硬盘品牌,但会考虑介质特性如SSD或HDD)。
  • 模式对应,一个数据库只能有一个内模式

    • 因为物理结构只有一套,不可能为每个应用程序都存一份物理副本。
    • 所有逻辑结构、用户视图最终都将映射到同一个底层存储布局。
  • 使用**内模式描述语言(内模式DDL)**定义

    • 就像逻辑模式DDL 来定义表结构,内模式也可以通过专门的语法指定:
      • 存储方式(如定长、变长记录);
      • 索引类型(如哈希、B+数);
      • 页大小、簇存储、压缩策略等。

但是这些通常是有DMBS自动优化的,数据库开发人员很少直接编写内模式DDL。

三级数据抽象的实现

三级数据抽象的实现依赖于二级映像

  • 外模式/模式映像

    定义局部数据逻辑结构(逻辑模式)全局逻辑结构之间的对应关系。

    • 局部数据逻辑结构:外模式(针对某个用户或应用的视图)
    • 全局逻辑结构:逻辑模式(整个数据库的设计)
    • 模式映像的作用:将“我能看到什么”转换为“数据库真实是什么”。
  • 模式/内模式映像

    定义全局数据逻辑结构物理数据存储之间的对应关系。

    • **全局逻辑结构:**模式(Schema)
    • 物理数据存储: 内模式(数据的存储方式)
    • 内模式映像的作用: 将逻辑结构映射到实际磁盘操作

数据独立性

三级结构和二级映像提供了数据独立性

数据独立性 是指 在数据库某一层的结构发生变化时,尽可能不影响其他层。这保证了系统的灵活性、可维护性和稳定性

  • 数据的逻辑独立性

    当模式结构改变时,只需修改外模式与模式间的对应关系(即映像),外模式中的局部逻辑结构和应用程序不必修改。

    举例:我们在学生表中新增了一个字段 email ,但“学生成绩查询系统”并不需要用到它。

    所以我们只需要修改逻辑结构(模式),外模式不变,程序也不需要修改。

  • 数据的物理独立性

    当数据库的物理存储结构改变时,仅需修改模式与内模式之间的映像关系,模式及其以上的内容可以保持不变。

    也就是说只需要更新 模式 <–> 内模式 的映像;上层结构不变。

    举例:我们将学生表从“堆文件”改为“聚簇索引文件”,或改变了记录的存储块大小。然而逻辑结构没变,程序也不会感知到这些变化。

5.数据库管理系统(DBMS)

DBMS的主要功能

  • 数据库的定义功能

    • DMBS 提供数据定义语言(DDL),定义数据库的数据结构,包括模式定义语言外模式定义语言内模式定义语言
    • DBMS 一般仅提供一种或两种DDL
    • 数据定义语言 描述的模式 称为 源模式,需要借助编译程序翻译成机器代码形式的目标模式,供DBMS使用。
  • 组织、存储和管理数组的功能

    • 分类组织、存储和管理各种数据
    • 确定组织数据的文件结构和存取方式
    • 实现数据之间的联系
    • 提供多种存取方法提高存取效率
  • 数据操纵功能

    • DBMS 提供数据操纵语言(Data Manipulation Language,DML)**,实现对数据库的插入、删除、修改和检索查询等基本操作。
    • DML分为自含型DML宿主型DML
  • 数据库的运行管理和控制功能

    • 数据库在建立、运行和维护时由数据库管理系统统一管理和控制
    • 保证数据的安全型完整性多用户对数据的并发使用,以及发生故障后的系统回恢复。包括下面四大控制功能
      • 数据库的安全性控制
      • 数据库的完整性控制
      • 数据库的并发控制
      • 数据库的故障处理与恢复
  • 数据库的维护功能

    DBMS通过一些实用例程实现对数据库的维护,如下

    • 转储程序
    • 数据装入程序
    • 统计分析程序
    • 重组程序
    • 以及无用数据的收集及空间的再分配等程序
  • 数据库的其他功能

    • 与其他系统的 通信功能
    • 系统之间的 数据转换功能
    • 异构数据库之间的互访和互操作功能

DMBS的功能

  1. 系统主控程序
  2. 存取控制程序
  3. 并发控制程序
  4. 数据有效性检查程序
  5. 数据保护程序
  6. 查询处理程序
  7. 数据更新程序
  8. 目录管理程序
  9. 通讯程序
  10. …………

DBMS的工作过程

image-20250514220156287

下面解释各个序号

  1. 应用程序A通过DML命令向DBMS发送读请求,并提供读取记录参数。如记录名,关键字值等。
  2. DBMS根据应用程序A对应的外模式中的信息,检查用户权限、决定是否接受应用程序A的读请求。
  3. 如果是合法用户,则查看模式,根据模式与外模式间数据的对应关系,确定需要读取的逻辑数据记录。
  4. DBMS查看内模式,根据模式与内模式间的映像关系确定需要读取哪些物理记录。
  5. 向操作系统发送读取记录的命令。
  6. 操作系统执行该命令,控制存储设备从数据库中读取物理记录数据。
  7. 在操作系统控制下将读出的记录送入系统缓冲区,并通知DBMS数据已读出。
  8. DBMS比较模式和外模式,从系统缓存区中得到所需的逻辑记录,经过必要的数据变换后,将数据送入用户工作区。
  9. DBMS设置通信单元以应用程序A发送读命令执行情况的状态信息。
  10. 应用程序A根据状态信息确定DML命令执行是否成功,若成功则对工作区中读出的数据进行相应处理,否则按出错处理。

主要的DBMS

  • IBM MDB2
  • Oracle
  • SQL Server
  • Sybase
  • Informix
  • Teradata
  • PostgreSQL
  • MySQL
  • ……

6.数据库系统的不同视图

  • 一个数据库系统的设计、建立、使用和维护设计许多人,这些人员可以分为四类:

    • 数据库管理员(Data Base Administrator)
    • 系统分析员
    • 应用程序员
    • 用户
  • 不同人员职责不同,所涉及数据的抽象级别也不同,因而具有不同的数据库视图。

    • 双向箭头表示交互或双向数据流。
    • 单向箭头表示调用或依赖方向,如外模式、模式、内模式均指向 DBMS

    image-20250515095457687

    解释:

    • 左侧:参与角色

      • **用户:**使用终端与应用系统交互。
      • **应用程序员:**通过定义外模式和模式,构建应用系统与数据库的接口。
      • DBA(数据库管理员)和系统分析员: 负责数据库设计和维护,包括内模式的管理。
    • 中间结构层次(三级模式架构)

      这部分展示了数据库的三级模式架构(外模式/模式/内模式):

      1. 外模式(External Schema)
        • 由应用程序员定义,是用户视角下的数据视图。
        • 不同用户可以有不同的外模式。
      2. 模式(Conceptual Schema)
        • 是数据库的逻辑结构,全图视图,独立于物理存储。
        • DBA定义,面向整个组织(使用数据库系统的整个单位或机构)。
      3. 内模式(Internal Schema)
        • 描述数据的物理存储方式。
        • DBA定义,依赖于具体的操作系统和存储设备。
    • 中间核心组件

      • DBMS(数据库管理系统)
        • 核心软件,用于管理数据库的创建、访问、维护。
        • 接受应用系统、用户请求,解析外模式与模式、内模式之间的映射。
      • OS(操作系统)
        • 提供存储管理、缓冲区管理、文件访问区等底层服务。
        • 支持 DBMS 与数据库文件之间的交互。
      • 应用系统
        • 向终端用户提供具体功能(如查询、报表、事物处理)。
        • 通过 DBMS 访问数据库。
    • 底部组件

      • DB(数据库)
        • 实际存储的数据集合。
        • 存放在磁盘上,由 OSDBMS 共同管理。
      • 系统缓冲区
        • 临时缓存区,用于提高数据访问效率。
        • 数据从 DB 读入后存放在此,供 DBMS 读取。

数据库管理员(DBA, Data Base Administrator)

  • 决定数据库的信息内容,参与数据库设计的全过程;
  • 决定数据库的存储结构和存取策略;
  • 定义数据的安全性要求和完整性约束条件;
  • 建立数据库
  • 监控数据库的运行
    • 周期性转储数据库(数据文件/日志文件)、系统故障恢复、介质故障恢复、监视审计文件
  • 数据库的改进(性能监控和调优)和重组
  • 数据库重构

系统分析员

  • 负责应用系统的需求分析和规范说明
  • 与用户及DBA协商,确定系统的硬软件配置
  • 参与数据库各级模式的概要设计

数据库设计人员(常由数据管理员担任)

  • 参与用户需求调查和系统分析
  • 确定数据库中的数据
  • 设计数据库各级模式

应用程序员

  • 负责应用程序的程序设计
  • 可以同DBA和系统分析员一起完成子模式的设计

用户(最终用户)

  • 通过应用系统使用数据库
  • 偶然用户:企业或组织机构中的高中级管理人员
  • 简单用户:银行的职员、机票预定人员等
  • 复杂用户
    • 工程师、科学家、经济学家、科技工作者等
    • 直接使用数据库语言访问数据库,甚至能够基于数据库管理系统应用程序编程接口(Application Programming Interface,API) 编制自己的应用系统

其他相关人员

  • DBMS设计者和实现者
  • 数据库系统工具开发者
  • …………

7.数据库技术的发展

第一代

第一代是 层次、网状数据库系统

  • 20实际60年代末,IBM的层次数据库系统IMS,是世界上最早出现的商品化数据库管理系统,该系统的不同版本至今还在使用,
  • 美国数据库系统语言研究会下属的数据库任务组在70年代初公布了DBTG报告,由此发展了许多网状数据库系统。

第二代

第二代是 关系数据库系统

  • 1970年 E.F.Codd 提出了关系数据模型的概念,之后相继发表了一系列关系模型的论文,奠定了关系数据库的理论基础。
  • IBM用了5年时间研制出了关系数据库系统System T
  • 加州大学Berkeley分校也研制出了关系数据库系统INGRES

第三代

第三代是 新一代数据库系统

  • 关系数据库系统难以满足新的应用领域的需求
  • 数据库技术与其他领域的技术相结合,出现了新的数据库分支
    • 网络数据库
    • 分布式数据库
    • 面向对象数据库
    • 多媒体数据库
    • XML数据库等等
    • NoSQL
    • NewSQL
    • …………

本章小结

  • 数据库系统的基本概念
    • 数据、数据库、数据库管理系统、数据库系统
  • 数据管理
  • 数据模型
  • 数据库系统的三级模式结构和二级映像
  • 数据库管理系统的功能、组成和工作过程
  • 数据库系统的用户视图(也就是外模式)
  • 数据库技术的发展

偶然用户:企业或组织机构中的高中级管理人员

  • 简单用户:银行的职员、机票预定人员等
  • 复杂用户
    • 工程师、科学家、经济学家、科技工作者等
    • 直接使用数据库语言访问数据库,甚至能够基于数据库管理系统应用程序编程接口(Application Programming Interface,API) 编制自己的应用系统

其他相关人员

  • DBMS设计者和实现者
  • 数据库系统工具开发者
  • …………

7.数据库技术的发展

第一代

第一代是 层次、网状数据库系统

  • 20实际60年代末,IBM的层次数据库系统IMS,是世界上最早出现的商品化数据库管理系统,该系统的不同版本至今还在使用,
  • 美国数据库系统语言研究会下属的数据库任务组在70年代初公布了DBTG报告,由此发展了许多网状数据库系统。

第二代

第二代是 关系数据库系统

  • 1970年 E.F.Codd 提出了关系数据模型的概念,之后相继发表了一系列关系模型的论文,奠定了关系数据库的理论基础。
  • IBM用了5年时间研制出了关系数据库系统System T
  • 加州大学Berkeley分校也研制出了关系数据库系统INGRES

第三代

第三代是 新一代数据库系统

  • 关系数据库系统难以满足新的应用领域的需求
  • 数据库技术与其他领域的技术相结合,出现了新的数据库分支
    • 网络数据库
    • 分布式数据库
    • 面向对象数据库
    • 多媒体数据库
    • XML数据库等等
    • NoSQL
    • NewSQL
    • …………

本章小结

  • 数据库系统的基本概念
    • 数据、数据库、数据库管理系统、数据库系统
  • 数据管理
  • 数据模型
  • 数据库系统的三级模式结构和二级映像
  • 数据库管理系统的功能、组成和工作过程
  • 数据库系统的用户视图(也就是外模式)
  • 数据库技术的发展
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值