一、数据库系统概述

来源:互联网 发布:电玩城源码 编辑:程序博客网 时间:2024/05/18 01:45

一、数据库系统概述


DBMS的主要特性

  • 数据访问的高效和可扩展性
  • 缩短应用开发时间
  • 数据独立性(物理数据独立性/逻辑数据独立性)
  • 数据完整性和安全性
  • 并发访问和鲁棒性(恢复)

文件系统的不足

  • 数据冗余和不一致
    • 多种文件格式、信息重复存储
  • 数据访问困难
    • 需要编写一个新的程序来完成每一个新的任务
  • 数据孤立
    • 多文件多格式,检索、共享数据困难
  • 完整性问题
    • 完整性约束称为程序代码的一部分
    • 增加新的约束或更改现有的约束很困难
  • 原子性问题
    • 在进行数据更新时,一旦发生故障,可能导致数据库处于不一致的状态
    • 例如,从一个账户转移资金到另一个账户,要么完成,要么不做
  • 并发访问异常
    • 为了提高系统的总体性能,许多系统允许并发访问
  • 安全性问题
    • 并非所有用户都可以访问所有数据
    • 文件系统的访问控制不够灵活

数据抽象

  • 物理层:描述数据实际上是怎么存储的
  • 逻辑层:描述数据库中存储什么数据以及这些数据间存在什么关系
  • 视图层:应用程序能够隐藏数据类型的详细信息

实例和模式

  • 模式(Schema):数据库的总体设计
    • 类似程序中变量的类型信息
    • 物理模式:在物理层描述数据库的设计
    • 逻辑模式:在逻辑层描述数据库的设计
  • 实例(Instance):特定时刻存储在数据库中的信息的集合
    • 类似于程序中变量的值

独立性

修改一层的机构定义不影响更高层的结构定义

  • 物理数据独立性:修改物理结构不需要改变逻辑结构的能力
    • 应用程序依赖于逻辑结构
    • 应用程序独立于数据的结构和存储
    • 这是使用DBMS最重要的好处
  • 逻辑数据独立性:数据逻辑结构的改变不影响应用程序
    • 逻辑数据独立性一般难以实现,因为应用程序严重依赖于数据的逻辑结构

数据模型

  • 数据模型是一个概念工具的集合,用于描述:
    • 数据结构
    • 数据关系
    • 数据语义
    • 数据约束
  • 数据抽象的不同层次需要不同的数据模型来描述
    • 实体 - 关系模型(概念设计)
    • 关系模型(逻辑设计)
    • 其他模型

E-R(Entity-Relationship)模型

实体,如客户、账户,实体由属性描述
联系:是几个实体之间的关联
E-R

数据库系统体系结构

这里写图片描述

0 0