跳转到内容

数据库设计/数据库系统出现之前的时代

来自Wikibooks,开放世界中的开放书籍

计算机管理数据的方式在过去几十年中有了很大的进步。如今的用户理所当然地享受着数据库系统带来的诸多益处。然而,就在不久前,计算机还依赖于一种效率低下且成本高昂的数据管理方法,称为基于文件系统。

基于文件的系统

[编辑 | 编辑源代码]

一种将信息保存在计算机中的方式是将其存储在永久文件中。公司系统拥有许多应用程序;每个应用程序都设计用于操作数据文件。这些应用程序是在组织用户的要求下编写的。随着需求的出现,新的应用程序被添加到系统中。上面描述的系统称为基于文件系统

考虑一个传统的银行系统,它使用基于文件系统来管理组织数据,如图 1.1 所示。我们可以看到,银行中有不同的部门。每个部门都有自己的应用程序来管理和操作不同的数据文件。对于银行系统,这些程序可用于借记或贷记账户、查找账户余额、添加新的抵押贷款和生成月度对账单。

图 1.1. 银行使用基于文件系统管理数据的示例。

基于文件方法的缺点

[编辑 | 编辑源代码]

使用基于文件系统来保存组织信息存在许多缺点。下面列出了五个例子。

数据冗余

[编辑 | 编辑源代码]

在组织内部,文件和应用程序通常由不同部门的不同程序员在很长一段时间内创建。这会导致数据冗余,即在数据库中,某个字段需要在多个表中更新时发生的情况。这种做法会导致一些问题,例如

  • 数据格式不一致
  • 相同的信息存储在多个不同的地方(文件)
  • 数据不一致,即同一数据的多个副本相互冲突,会浪费存储空间并重复工作

数据隔离

[编辑 | 编辑源代码]

数据隔离是一种属性,它决定何时以及如何将一个操作所做的更改对其他并发用户和系统可见。这个问题发生在并发情况下。这是一个问题,因为

  • 新应用程序难以检索可能存储在多个文件中的适当数据。

完整性问题

[编辑 | 编辑源代码]

数据完整性问题是使用基于文件系统的另一个缺点。它指的是维护和保证数据库中的数据正确且一致。在解决这个问题时需要考虑的因素有

  • 数据值必须满足在应用程序中指定的某些一致性约束。
  • 要强制执行新的约束,很难更改应用程序。

安全问题

[编辑 | 编辑源代码]

安全问题可能是基于文件方法的一个问题,因为

  • 存在关于访问权限的约束。
  • 应用程序需求以一种特殊的方式添加到系统中,因此很难强制执行约束。

并发访问

[编辑 | 编辑源代码]

并发是指数据库能够允许多个用户访问同一记录,而不会对事务处理产生不利影响。基于文件系统必须由应用程序管理或阻止并发。通常,在基于文件系统中,当应用程序打开一个文件时,该文件将被锁定。这意味着其他人无法同时访问该文件。

在数据库系统中,并发是受管理的,从而允许多个用户访问同一记录。这是数据库和基于文件系统之间的重要区别。

数据库方法

[编辑 | 编辑源代码]

使用基于文件系统产生的困难促使人们开发了一种新的管理大量组织信息的方法,称为数据库方法

数据库和数据库技术在大多数使用计算机的领域发挥着重要作用,包括商业、教育和医疗保健。为了理解数据库系统的基础知识,我们将从介绍该领域的一些基本概念开始。

数据库在商业中的作用

[编辑 | 编辑源代码]

每个人都以某种方式使用数据库,即使只是为了存储朋友和家人的信息。这些数据可能被记录下来或使用文字处理程序存储在计算机中,或者可以保存在电子表格中。但是,存储数据的最佳方式是使用数据库管理软件。这是一个功能强大的软件工具,允许您以多种不同的方式存储、操作和检索数据。

大多数公司通过将客户信息存储在数据库中来跟踪客户信息。这些数据可能包括客户、员工、产品、订单或任何其他有助于业务运营的信息。

数据的含义

[编辑 | 编辑源代码]

数据是指关于对象和概念的事实信息,例如测量值或统计数据。我们使用数据进行讨论或作为计算的一部分。数据可以是人、地点、事件、动作或许多其他事物中的任何一个。单个事实是数据的一个元素,或一个数据元素

如果数据是信息,而信息是我们工作中处理的对象,那么你就可以开始了解你可能在哪里存储它。数据可以存储在

  • 文件柜
  • 电子表格
  • 文件夹
  • 分类账
  • 清单
  • 你办公桌上的一堆文件

所有这些项目都存储着信息,数据库也是如此。由于数据库的机械性质,它们在管理和处理所保存的信息方面具有强大的能力。这可以使它们保存的信息对你的工作更有用。

通过对数据的了解,我们可以开始了解这样一个工具:它能够存储和组织数据集合,进行快速搜索,检索和处理,它可能对我们如何使用数据产生重大影响。本书及其后续章节都是关于信息管理的。

关键词

[编辑 | 编辑源代码]
并发
数据库能够允许多个用户访问同一记录,而不会对事务处理产生不利影响
数据元素
单个事实或信息
数据不一致
同一个数据的不同副本之间存在冲突的情况
数据隔离
一个属性,它决定了由一个操作所做的更改何时以及如何对其他并发用户和系统可见
数据完整性
指维护和确保数据库中的数据正确且一致
数据冗余
当数据库中的某个字段需要在多个表中更新时就会发生这种情况
数据库方法
允许管理大量的组织信息
数据库管理软件
一个强大的软件工具,允许你以多种方式存储、操作和检索数据
基于文件的系统
用于操作数据文件的应用程序
  1. 讨论以下每个术语
    1. 数据
    2. 字段
    3. 记录
    4. 文件
  2. 什么是数据冗余?
  3. 讨论基于文件的系统的缺点。
  4. 解释数据和信息之间的区别。
  5. 使用图 1.2(如下)回答以下问题。
    1. 在表中,该文件包含多少条记录?
    2. 每条记录有多少个字段?
    3. 如果你想按城市生成列表,你会遇到什么问题?
    4. 你将如何通过更改文件结构来解决这个问题?

图 1.2. 练习 #5 的表格,作者:A. Watt。

本节《数据库设计》(包括其图像,除非另有说明)是 Nguyen Kim Anh 编写的《数据库系统概念》的衍生作品,授权根据知识共享署名许可证 3.0 许可

以下材料由 Adrienne Watt 编写

  1. 介绍
  2. 关键词
  3. 练习

参考文献

[编辑 | 编辑源代码]
华夏公益教科书