跳转到内容

DBMS/简介

来自维基教科书,开放世界中的开放书籍
数据
原始事实和数字
数据处理
对输入数据执行操作以生成输出。
数据库
关于特定企业的相关信息的集合。
数据库管理系统
相互关联数据的集合,以及方便高效地访问数据的程序集。

文件系统

[编辑 | 编辑源代码]

通常数据存储在文件中。

1.) 平面文件通常一次包含一个表

2.) 平面文件在每行包含值,并用特殊符号分隔,因此要访问数据,您必须解析每行并获取一系列值,然后才能查询数据。

3.) 为了控制文件中的数据,您必须逐行读取并解析它,因此它们很慢

4.) 文件中没有控制机制

5.) DBMS 系统通常有一种称为 SQL 的特殊语言,可以轻松有效地修改和访问数据

6.) DBMS 系统具有索引来访问数据,而不是逐行读取

7.) 还有更多控制机制,这些机制可以确保数据的正确性

8.) 使用 DBMS 系统,您可以轻松安全地跨网络访问数据

数据库管理系统的需求

[编辑 | 编辑源代码]

通过文件系统访问数据存在以下问题。

  • 数据冗余最小
  • 难以访问数据
  • 不一致
  • 并发访问
  • 数据隔离
  • 完整性
  • 原子性
  • 安全性

一个好的数据库管理系统解决了用户在文件系统中通常遇到的所有上述问题。

数据库用户

[编辑 | 编辑源代码]

以下是数据库用户的类型

  • 数据库管理员 (DBA) - 数据库管理员执行以下活动
    • 授予用户访问数据库的权限
    • 执行安全和完整性规则
    • 制定备份和恢复策略
    • 执行安全和完整性规则
  • 应用程序程序员
  • 数据分析师
  • 普通用户

企业应用程序架构

[编辑 | 编辑源代码]
三层架构
现代企业应用程序架构包含以下层
  1. 应用程序客户端
  2. 应用程序服务器
  3. 数据库系统

企业架构的当前趋势是转向n 层架构,其中上述三层进一步分布在多个系统或层中

数据库工具

[编辑 | 编辑源代码]
  • 查询工具
  • 管理工具

数据库架构

[编辑 | 编辑源代码]

以下是不同的数据库架构类型

  • 集中式
  • 客户端-服务器
  • 并行(多处理器)
  • 分布式

数据库抽象

[编辑 | 编辑源代码]
  • 物理抽象
  • 逻辑抽象
  • 视图抽象

对于数据库中数据表示的复杂数据结构的设计。但是,由于数据库系统经常被非计算机专业人员使用,因此必须对数据库系统用户隐藏这种复杂性。这是通过定义数据库可以被查看的抽象级别来完成的,有逻辑视图或外部视图、概念视图和内部视图或物理视图。

外部视图

这是用户看到的最高抽象级别。这种抽象级别只描述了整个数据库的一部分。

概念视图 

这是下一个较低的抽象级别,它是所有用户视图的总和。此级别描述实际存储在数据库中的数据。此级别包含有关整个数据库的信息,以少量相对简单的结构表示。

内部级别 

这是描述数据如何物理排序的最低抽象级别。

数据库模式

[编辑 | 编辑源代码]

定义 : 数据库的整体逻辑设计。模式包含“记录数 + 数据类型 + 属性数”。

  • 外部级别或子模式
  • 逻辑模式
  • 物理模式

数据库实例

[编辑 | 编辑源代码]

定义:术语“实例”通常用于描述完整的数据库环境,包括 RDBMS 软件、表结构、存储过程和其他功能。管理员在描述同一数据库的多个实例时最常使用它。

定义:特定时间点存储在数据库中的信息称为实例。

也称为:环境是可以以可管理的方式存储数据的场所。例如,具有员工数据库的组织可能具有三个不同的实例:生产(用于包含实时数据)、预生产(用于在发布到生产环境之前测试新功能)和开发(用于数据库开发人员创建新功能)。

数据模型

[编辑 | 编辑源代码]

什么是数据模型:它包含一些概念来描述数据库的结构,即数据类型、关系和应该对数据保持的约束。例如 ER 模型

  • XML 数据模型 - 半结构化
  • 关系数据模型
  • 面向对象
  • 对象关系
  • 网络
  • 层次结构

数据库语言

[编辑 | 编辑源代码]
  • 过程化 - 需要什么数据以及如何获取这些数据
  • 声明式 - 需要什么数据,而不描述如何获取这些数据
  • 数据控制语言 (DCL)
  • 数据操作语言 (DML)
  • 数据定义语言 (DDL)
  • 数据存储语言
华夏公益教科书