【数据库】引言

学习数据库系统概念(第六版)笔记,第一章引言

数据库系统

  • 数据库管理系统(DataBase-Management System,DBMS):包含关于某个企业的信息
    • 一个互相关联的数据的集合(database)
    • 用于访问数据的程序
    • 方便、高效地存储信息的途径
  • 设计目的:

数据库系统的目的

  • 以前:文件处理系统

    • 数据冗余(redundancy)和不一致(inconsistency):一个数据在不同的文件中都有记录,数据冗余;不同副本没法同步更新数据不一致
    • 数据访问困难:获取符合某些条件的数据每次都要写一个新程序
    • 数据孤立:数据分散在不同格式的文件中
    • 完整性问题:数据满足的一致性约束,很难修改与添加
    • 原子性问题:一切操作应当是原子的,文件处理系统很难做到
    • 并发访问异常:一个数据被多个程序同时访问,对数据的修改和读取出现异常
    • 安全性问题:无法保证某些信息不会被某些程序访问
  • 设计目的

    • 管理高价值(Highly valuable)、相对庞大(Relatively large)、多用户/应用并发访问的数据集
    • 为用户提供抽象视图,隐藏数据存储和维护的部分细节

数据视图

数据抽象

  • 物理层(Physical level):记录如何存(索引、文件组织等)
  • 逻辑层(Logical level):数据库里的数据和数据关系
  • 视图层(View level):应用程序,隐藏了数据类型的细节

数据模型

概念:描述数据(Data)、数据联系(Data relationships)、数据语义(Data semantics)、一致性约束(Data constraints)的工具集

关系模型(Relational model)

  • 用表的集合存储数据和数据间联系
  • 多个列,每列唯一列名
  • 简单、坚实的数学基础(可用集合论描述)
    • 举例:

实体联系模型(Entity-Relationship data model)

  • 主要用于数据库设计

半结构化数据模型(Semi-structured data model )(XML)

基于对象的数据模型(Object-based data model)

其他模型

  • 网状数据模型(Network data model)
  • 层次数据模型(Hierarchical data model)

实例与模式(Instances and Schemas

  • 实例(instance):程序中变量在某一时刻的值对应于数据库模式的一个实例
  • 模式(schema):物理模式、逻辑模式
  • 物理数据独立性:物理模式改了逻辑模式不需重写

数据库语言

数据定义语言(Data Definition Language)(DDL)

  • 数据库模式的一系列定义
  • DDL输出到数据字典中,包括元数据(数据库模式、完整性约束、授权)

数据操纵语言(Data Manipulation Language)(DML)

  • 访问或操纵按照某种数据模型组织起来的数据

  • 过程化DML、声明式DML

数据库设计

  • 概念设计:ER图
  • 逻辑设计:决定数据库模式
  • 物理设计

数据库系统

  • 存储管理
  • 查询处理
  • 事务管理:原子性+一致性