【BUAA】数据库管理技术-概述

数据管理技术第一周:概论

数据库能帮我们做什么

  1. 数据建模:建立概念模型、逻辑模型
  2. 数据操作:数据库通过事务机制避免数据冲突
  3. 数据检索:数据库通过索引机制提升检索效率
  4. 数据安全:数据库通过权限控制保障数据安全

数据库相关概念

数据&信息

  • 信息(Information)
    • 是影响动态系统的状态的事件,可以被看作是一个消息的输入
    • 是一组符号构成的序列,可以被解译为一个要传递的消息(message)
    • 可以被记录和传播
  • 数据(Data)
    • 对事物进行定性或定量描述的值
    • 对客观事物进行记录并可以鉴别的符号
    • 用于记录信息
  • 数据的类型和值
    • 数据类型:计算机系统使用数据的方法,包括整型、字符型、日期型……
    • 数据值:按照数据类型记录的信息内容
  • 数据是信息的载体,信息是数据的解译

f14077e4ebdf3500ee6766397f2e762.jpg

数据管理

  • 计算机系统对数据进行的操作
    • 数据管理 -> 数据库
    • 数据处理 -> 应用程序
    • 数据传输 -> 计算机网络
  • 数据管理的任务
    • 数据存储:合理组织数据,持久化存储
    • 数据维护:维护数据内容,对数据集合进行增删改等操作
    • 数据查询:从数据存储中提取需要的数据
    • 数据安全等

数据库

是长期存储在计算机内、有组织的、可共享的大量数据的集合。数据库中的数据按一定的数据模型组织、描述和存储,具有较小的冗余度、较高的数据独立性和易扩展性,并可为各种用户共享。数据库的三个特点:永久存储、有组织、可共享。

数据库管理系统(DBMS)

是位于用户与操作系统之间的一层数据管理软件,是计算机的基础软件,也是一个大型复杂的软件系统。

  • 主要功能:
    • 数据定义功能
    • 数据组织、存储、管理功能
    • 数据操纵功能
    • 数据库事务管理和运行管理
    • 数据库的建立与维护
      • 其他功能(如不同数据库之间互访和互操作功能等)

4cadd46978a5eba5503d9f48342cc0b.jpg

数据库系统(Database System)

基于数据库建立的一种信息系统,通常由应用程序、数据库、数据库管理系统、用户和数据库管理员组成。

67902b0afe240ba8cf2ab06c38001ce.jpg

  • 数据库用户
    • 数据库管理员(DBA):负责安装数据库管理系统,决定数据库的信息内容和结构,决定数据库的存储结构和存取策略,通过数据库管理系统维护数据库,制定和执行安全策略,备份恢复策略和调优策略等, 定义数据的安全性要求和完整性约束条件,保障系统平稳高效运行。
    • 应用系统开发人员:设计和开发数据库应用系统,主要(在应用程序代码中)通过DML语言使用数据数据库中的数据
    • 终端用户:使用数据库系统完成特定的业务。主要通过应用程序人机界面访问操作不需要具备数据库知识。

数据库系统的生命周期

f0834527d53dea35503005813d0a0da.jpg

数据库管理发展历史

手工处理阶段 -> 文件系统阶段 -> 数据库系统阶段

ad060de4bf452dbccb20be18de1c704.jpg

数据库系统的特点

  • 数据结构化: 描述数据的时候,不仅要描述数据本身,还要描述数据之间的联系。数据之间的联系通过存取路径来实现,把相关的数据有机地组织在一起。
  • 数据共享与低冗余: 数据库中的数据考虑所有用户的数据需求,面向整个个系统组织的,而不是面向某个应用的,因此数据中包含了所有用户的数据成分。每个用户通常只用到其中的一部分数据,不同用户所使用的数据可以重叠,统一部份数据也可以为多用户共享。在数据库方式下,用户不是自建文件,而是取自数据库中某个子集,它并非独立存在,而是靠DBMS从数据库映射出来的,所以叫逻辑文件。尽管一个数据可能出现在不同的逻辑文件处,但实际上的物理存储只可能出现一次,减少了数据冗余。

d878dc88b76ed72ced7f6844b05d929.jpg

  • 数据独立性:数据库中的数据与应用程序之间不存在依赖关系,而是相互独立的。
    • 物理独立性:修改数据库的物理存储结构,需要由数据库管理员对内模式/模式映像做出相应改变,可以使得模式保持不变,从而应用程序不必改变。
    • 逻辑数据独立性:修改数据库的物理存储结构,需要由数据库管理员对内模式/模式映像做出相应改变,可以使得模式保持不变,从而应用程序不必改变。
  • 方便的用户接口
    • 通过标准化的非过程语言SQL,很方便的操纵数据库
      • 数据定义语言DDL
      • 数据查询语言DQL
      • 数据操纵语言DML
      • 数据控制语言DCL
    • 交互式和嵌入式相结合
      • 独立使用:联机交互的方式,直接操纵数据库
      • 嵌入式:嵌入到高级编程语言中,使得应用程序能够操纵是数据库
  • 统一的数据管理与控制功能:数据库中数据管理系统进行统一的管理和控制
    • 数据的完整性:指的是正确性、有效性、相容性
    • 数据的安全性:主动安全(防止数据被非法使用修改)、被动安全(数据遭到破坏时能立即将数据完全恢复)
    • 并发控制

数据库结构

数据库的模式结构:三级模式与二级映象
  • 模式(概念模式)—逻辑层:数据库中全体数据的逻辑结构和特征的描述,所有用户的公共数据试图,综合了所有用户的需求
  • 外模式(子模式或用户模式)—用户层:数据库用户(应用程序员和最终用户)使用的局部数据的逻辑结构和特征的描述,它基于数据视图(view)实现,视图是与某一应用有关的数据的逻辑表示
  • 内模式(存储模式)—物理层:是数据物理结构和存储方式的描述,是数据在数据库内部的表示方式,一个数据库只有一个内模式

4ae6af0b53f34c764030a02089590d6.jpg

数据库的功能结构
  • 查询处理器:查询分析、查询检查、查询优化、查询执行
  • 存储管理器:权限及完整性管理器、事务管理器、文件管理器、缓冲区管理器
数据库的体系结构
  • 集中式(Centralized)
  • 客户-服务器式(Client-Server,CS)
  • 分布式(Distributed)
  • 并行式(Parallel)

ccc052e7546d24b532d6b42586ab278.jpg