数据库相关概念

发布时间 2023-10-19 16:08:23作者: ssnape

数据库系统相关概念

数据库优点

  1. 数据持久性(Data Persistence): 数据库系统可以将数据永久存储在磁盘上,即使系统关闭或断电,数据也不会丢失。

  2. 数据共享和多用户访问(Data Sharing and Multi-User Access): 多个用户可以同时访问数据库,而不会发生冲突,这有助于团队协作和数据共享。

  3. 数据一致性(Data Consistency): 数据库系统通过事务(transaction)来确保数据的一致性,事务要么全部执行成功,要么全部失败,这有助于维护数据的准确性。

  4. 数据安全性(Data Security): 数据库系统提供了访问控制和权限管理机制,可以限制用户对数据的访问,保护数据的安全性和机密性。

  5. 数据完整性(Data Integrity): 数据库系统支持数据完整性约束,如主键、外键和唯一性约束,确保数据的完整性。

  6. 数据查询和检索(Data Query and Retrieval): 数据库系统提供了强大的查询语言(如SQL),使用户能够轻松地检索和分析数据。

  7. 数据备份和恢复(Data Backup and Recovery): 数据库系统允许定期备份数据,并在发生故障或数据丢失时进行恢复,以保护数据免受损失。

  8. 高性能和优化(High Performance and Optimization): 数据库系统可以优化数据存储和查询,以提高性能和响应时间。

数据库系统特点

  • 数据共享
    • 降低数据的冗余度,节省存储空间
    • 避免数据间的不一致性
    • 使系统易于扩充
  • 数据结构化
    • 整体数据的结构化是数据库的主要特征
    • 数据的结构用数据模型描述,无需程序定义和解释
    • 数据可以变长
    • 数据的最小存取单位是数据项
  • 数据独立性
    • 物理独立性
      • 应用程序与存储在磁盘上的数据相互独立
      • 数据的物理存储改变了,应用程序不用改变
    • 逻辑独立性
      • 应用程序与数据库的逻辑结构是相互独立
      • 数据的逻辑结构改变了,用户程序可以不变

DBMS对数据的控制功能

  • 数据的安全性 (security) 保护
    • 使每个用户只能按指定方式使用和处理指定数据,保护数据以防止不合法的使用造成的数据的泄密和破坏
  • 数据的完整性 (integrity) 检查
    • 将数据控制在有效范围,或保证数据之间满足一定关系
  • 并发 (concurrency) 控制
    • 对多用户的并发操作加以控制和协调,防止相互干扰而得到错误的结果
  • 数据库恢复 (recovery)

三层抽象

pic

物理层:描述一条记录如何存储在磁盘上

  • 数据物理结构和存储方式的描述
  • 数据在数据库内部的表示方式

逻辑层:描述数据如何存储在数据库中,以及数据之间的关系

  • 数据库中全体数据的逻辑结构和特征的描述,定义
    • 数据的逻辑结构
    • 数据之间的联想
    • 数据有关安全性、完整性要求

视图层:隐含了底层的数据类型细节,或者出于安全考虑隐含信息

  • 数据库用户(包括应用程序员和最终用户)使用的局部数据的逻辑结构和特征的描述
  • 数据库用户的数据视图,是与某一应用有关的数据的逻辑表示

模式

数据的结构

模式(Schema)

  • 对数据库中数据所进行的一种结构性的描述
  • 所观察到数据的结构信息

视图(View)/数据(Data)

  • 某一种表现形式下表现出来的数据库中的数据

pic_4
pic4

三层模式,两层映射

V - L 映射,逻辑独立性
L - P 映射,物理独立性

数据模型

  • 用来抽象、表示和处理现实世界中的数据和信息
  • 通俗地讲数据模型就是对现实世界的模拟
  • 描述以下概念的工具集
    • 数据
    • 数据关系
    • 数据语义
    • 数据约束

数据模型分成两个不同的层次

  • 概念模型:也称信息模型,是按用户的观点来对数据和信息建模
  • 数据模型:主要包括网状模型、层次模型、关系模型等, 是按计算机系统的观点对数据建模

客观对象抽象的过程

  • 现实世界中的客观对象抽象为概念模型
  • 把概念模型转换为DBMS支持的数据模型

模型和模式

  • 模型是对模式结构的抽象
  • 模式是对数据结构的抽象

模型三要素

  • 数据结构
  • 数据操作
  • 数据的约束条件

pic

常见数据模型

  • 三种经典模型
    • 关系模型 (Relational model)
    • 层次模型 (Hierarchical model)
    • 网状模型 (Network model)
  • 实体联系模型 (Entity-Relationship data model)
  • 基于面向对象的模型 (Object-based data model)
    • 面向对象 (Object-oriented)
    • 对象 - 关系 (Object-relational)
  • 半结构化数据模型 (Semistructured data model)

数据库系统功能

查询语句

  • 用于定义和操作数据库系统
    • 数据定义语言(DDL: Data Definition Language )
      • 定义数据库模式
      • DDL编译器产生数据字典(表)
      • 数据字典包含了元数据(data about data)
        • 数据库模式
        • 数据存储和定义
          • 定义存储结构和访问方式
        • 一致性约束
          • 域约束
          • 参照完整性
        • 授权
    • 数据操作语言(DML:Data Manipulation Language)
      • 查询和更新数据库中的数据 (查询、插入、删除、修改)
      • 分为过程式和声明式
    • DDLDML通常合成为一个语言,如SQL

存储管理器

  • 提供应用和查询与底层数据库存储的接口

主要任务

  • 与文件管理器交互
  • 数据库中数据的存储、检索和更新

事务管理系统

事务:数据库应用中完成单一逻辑任务的一组操作。

事务管理系统:确保数据库出现故障时(如系统故障、 事务执行失败)能够恢复到一致(正确)状态。

并发管理:控制并发事务的执行,确保数据库的一致性

数据库用户

  • 专业用户
  • 高级用户
  • 数据库开发人员
  • 普通用户