数据库
数据库是一个存储和管理数据(任何一种信息)的系统。
数据库引擎可以对数据库中的信息进行排序、更改或服务。信息本身可以以许多不同的方式存储--在使用数字计算机之前,卡片文件、印刷书籍和其他方法。现在大多数数据都保存在计算机文件上。
数据库系统是一种管理电子数据库的计算机程序。数据库系统的一个非常简单的例子是电子地址簿。
数据库中的数据是以某种方式组织起来的。在没有计算机之前,员工的数据通常保存在文件柜中。通常每个员工都有一张卡片。在卡片上,可以找到员工的出生日期或姓名等信息。数据库也有这样的"卡片"。对用户来说,卡片的样子和旧时一样,只是这次会出现在屏幕上。对计算机来说,卡片上的信息可以用不同的方式存储。这些方式都被称为数据库模型。最常用的数据库模型叫做关系数据库模型。它使用关系和集合来存储数据。普通用户谈论数据库模型不会谈论关系,他们会谈论数据库表。
数据库系统的用途
- 不知说什么好
更改数据
在数据库中,有些数据偶尔会发生变化。当数据被改变时,可能会出现问题,可能会发生错误。这个错误可能会使数据失去作用。数据库系统看数据,它必须满足一定的要求。它是通过使用事务来实现的。数据库中有两个时间点,一个是数据被改变之前的时间,一个是数据被改变之后的时间。如果在更改数据时出了问题,数据库系统只需将数据库放回更改发生前的状态。这就是所谓的回滚。当所有的更改都成功完成后,就会被提交。这意味着数据又有意义了,已提交的更改不能再撤销。
为了能够做到这一点,数据库遵循ACID原则。
- 全部。要么是给定集合的所有任务(称为事务)都完成了,要么是一个都没有完成。称为原子性
- 完成。数据库中的数据总是有意义的。没有半成品(无效)数据。被称为一致性
- 独立。如果许多人在同一数据上工作,他们不会相互看到(或影响)。他们每个人都有自己的数据库视图,它是独立于其他人的。被称为隔离
- 完成。交易完成后,必须进行承诺。一旦承诺,就不能撤销。称为耐久性。
数据库模型
有不同的方法来表示数据。
- 简单的文件(称为平面文件)。这是最简单的数据库系统形式。所有的数据都以纯文本的形式存储在一个文件中。每条信息都可以用新的一行或逗号等来分隔。
- 层次模型。数据的组织结构像一棵树。有趣的数据在树的叶子上。数据条目之间的关系是,有些条目直接依赖于其他条目。
- 网络模式。使用记录和集来存储数据。类似于层次模型,但结构更复杂。
- 关系模型。这种模式使用集合理论和谓词逻辑。它被广泛使用。数据看起来像组织在表中。然后可以将这些表连接在一起,以便可以从中选择简单的查询。
- 面向对象模型。数据以面向对象编程中使用的对象形式表示。它们可以直接与正在使用的OOP语言进行交互,因为这两种语言在内部对数据有相同的表示。
- 对象关系模型。这是面向对象模型和关系模型的混合体。
- NoSQL模型。这是一种新型的数据库模型,越来越多地被业界用于大数据和实时网络应用。这种模型中的数据是以键值对的形式存储的,不像其他模型那样有严格的层次结构。NoSQL系统也被称为"不仅是SQL",因为它不允许使用类似结构化查询语言的查询语言。
组织数据的方法
就像在现实生活中一样,同样的数据可以从不同的角度来观察,也可以用不同的方式来组织。在整理数据的时候,要考虑不同的问题。
- 每项数据的存储次数应尽可能减少。想象一下,一个未婚的妇女在县档案、州机动车部门、联邦社会安全部门和国际护照部门都有记录,如果她结婚后决定改名,就必须通知所有这些部门。如果所有部门都有联系,而她的名字只保存在一个地方,那么更新就很容易。
- 如果数据存储在几个不同的数据库中,它可能会自相矛盾。
- 这个问题使得查找数据的速度变慢。如果数据很多,这个问题是把一个数据存储在很多地方,会占用很多空间。在我们的例子中,一个人有4个数据库。如果第二个人有完全相同的问题,那就会有8个变化。
- 如果你有这个问题,我们开发了一种叫做数据库规范化的方法来解决。目前有5种Normal形式。这些都是让数据库更快,让数据占用更少空间的方法。
相关网页
问题和答案
问:什么是数据库?答:数据库是一种用于存储和处理数据(任何类型的信息)的系统。它可以用来对存储在其中的信息进行分类、更改或服务。
问:在数字计算机之前,人们是如何存储数据的?
答:在数字计算机之前,人们使用卡片文件、印刷书籍和其他方法来存储数据。
问:什么是数据库系统?
答:数据库系统是一种管理电子数据库的计算机程序。它可以用来以某种方式组织数据。
问:在老式档案柜中,"卡片 "是什么样子的?
答:在老式的档案柜中,通常每个员工都有一张卡片,上面有他们的出生日期或姓名等信息。
问:相当于现代的这种 "卡片 "是什么样子的?
答:这种 "卡片 "的现代对应物出现在屏幕上,而不是以物理形式出现。
问:什么是数据库模型?
答:数据库模型指的是计算机存储 "卡 "上信息的不同方式。最常用的模型被称为关系数据库模型,它使用关系和集合来存储数据。
问:正常用户在谈论这些模型时,如何指代它们?答:正常用户在讨论这些模型时,通常会将其称为 "数据库表",而不是使用关系或集合等技术术语。