跳转到内容

计算机革命/数据库/数据库模型

来自维基教科书,开放世界中的开放书籍

层次数据库

[编辑 | 编辑源代码]

层次数据库是最古老的数据库模型。与其他模型不同,它没有得到充分记录的历史。层次数据库是最早开发的数据库,因此在最初的主机数据库管理系统中被广泛使用。它们是在 1950 年代和 60 年代的信息管理系统发展起来的。许多银行和保险公司,以及政府部门和医院(用于库存和会计系统)今天仍在使用它们。

层次数据库将数据存储在一个系列的记录中。这些记录有一组与其关联的字段值。特定记录的所有实例都收集在一起作为一个“记录类型”。它使用“父子关系”在记录类型之间创建链接。它通过使用树来实现这一点。然而,它只能处理一棵树。此外,每个子节点只能有一个父节点,并且子节点记录之间不可能存在任何关系。

例如,我们可以有一棵树代表大学部门,子树代表教职工、学生、课程和设施。我们可以有许多部门树,但我们不能让一个员工为多个部门工作。为了做到这一点,我们必须创建员工的两个实例。显然,这会在更新信息时产生不准确,因为信息在所有记录中可能不相同。还存在各种记录中数据重复的问题。

层次数据库具有非常结构化的形式,因为它不允许在树的不同分支的不同层之间建立链接。因此,它易于用于添加、更新和删除记录。

数据库的优点

[编辑 | 编辑源代码]
  • 它易于设计
  • 它易于维护
  • 它易于使用
  • 由于所有数据都存储在一个公共数据库中,这意味着可以强制执行数据共享和安全性
  • 可以维护一定程度的数据独立性

数据库的缺点

[编辑 | 编辑源代码]
  • 层次数据库对信息不灵活,例如;在大学环境中,学生可能有各种课程,但层次数据库只会显示其中一门,对于数据库来说,其他课程不存在。
  • 在层次模型中,关系难以实现。
  • 需要大量的编程活动。在树中导航很复杂。
  • 难以解决一个子节点有多个父节点的问题
  • 难以导航:除了根记录外,所有记录都必须通过父节点访问。
  • 由于管理记录关系的规则,数据修改很困难。

目前,这种类型的数据库还没有得到充分利用。

  • 它很简单,不能执行多对多对应

http://db.web.cern.ch/wwwdb/aboutdbs/classification/hierarchical.html

网络数据库

[编辑 | 编辑源代码]

网络类型

广域网 WAN - 覆盖广阔地理区域的通信网络。例如长途电话公司

城域网 MAN - 覆盖城市或郊区的通信网络。例如当地电话公司和许多手机公司

局域网 LAN - 在有限的地理区域内连接计算机和设备。例如大学

家庭网络 HAN - 有线电缆或无线网络。例如计算机、打印机、录像机、电视、家庭安全系统。

个人区域网 PAN - 与 HAN 略有不同,因为它不使用电线,而是使用短程无线技术。例如手机、PDA、MP3 播放器、蓝牙。

查尔斯·巴赫曼发明了网络数据库模型。

网络数据库模型与层次模型非常相似。但是,网络模型不是使用单亲树层次结构,而是使用集合论来提供类似树的层次结构,不同之处在于子表允许具有多个父节点。这使得网络数据库模型能够支持许多关系。

当你想象一个网络数据库时,它的外观更像是几棵共享分支的树。子节点可以有多个父节点,父节点可以有多个子节点。

网络数据库模型的优点

[编辑 | 编辑源代码]

一些数据通常使用每个子节点有多个父节点的方式建模,因此网络模型允许对数据中的许多关系进行建模。

这种类型的数据在其内部具有功能性信息,允许删除不重要的条目,用较新的条目替换较旧的条目,并且,对于偏执的人来说,可以防止某些类型的攻击,每个子节点有多个父节点,因此网络模型允许对数据中的许多关系进行建模。

一般服务 存在一个在线数据库来访问客户、申请人和工作信息。此外,可以通过互联网连接全天候访问。此外,还可以访问在线简历数据库和互联网爬虫。共享,例如数据、资源、信息和研究工具也起作用。

研究服务 能够访问研究人员和服务。此外,人们可以选择定制研究水平。您可以获得帮助筛选候选人和参考,人们也可以检查这些候选人和参考。

技术服务 拥有防火墙安全和病毒防护。网络数据库的优点包括转换数据、设置系统和培训。通过这种方式,数据库维护和夜间备份是优势。人们还可以获得全天候技术支持和帮助注册域名。最后,个人可以自定义电子邮件地址。

关系型数据库模型

[编辑 | 编辑源代码]

关系型数据库是一个数据库系统,其中任何数据库文件都可以成为数据库多个表的一部分。它也是一个数据库系统,其中数据库根据数据项之间的关系进行组织和访问,而无需考虑物理方向和关系。数据项之间的关系通过表格来表达。

它是一个数据库,它维护一组独立的、相关的文件(表格),但在需要时将文件中的数据元素组合起来进行查询和报告。这个概念是 1970 年由埃德加·科德开发的,他的目标是满足用户对所选数据的临时请求。几乎所有商业数据库管理系统 (DBMS),包括 Oracle、DB2、SQL Server、MySQL 等,都是关系型 DBMS (RDBMS)

关系型数据库的属性

[编辑 | 编辑源代码]
1. 值是原子的
关系表中的列不是重复的组,该属性最终简化了数据操作逻辑。
2. 每一列和每一行都有唯一的名称
列和行不是通过位置来区分的,因此它们必须有一个与表格中其他名称不同的名称,以便识别它们。
3. 每一行都是唯一的
没有两行是相同的,这确保了每一行都有意义,不会重复。
4. 列和行的顺序无关紧要
这使得能够轻松地检索表格中的信息,并且不会影响表格中的数据。此外,它允许更多用户使用表格,因为数据不受限于一种格式,并且在添加或删除信息时不会改变。
5. 列值属于同一类
特定列中的每个值都包含相同类型的信息,并且与图表中所有其他数据的单位相同。例如,该列中只有月薪,并且只有月薪。
  • 是解锁访问表的工具。了解键可以让我们定位特定记录,并跨越表之间的关系。
  • 某些字段可以被指定为键,这意味着对该字段的特定值的搜索将使用索引。
  • 候选键是指任何可以唯一标识记录的字段或字段组合。候选键的字段必须包含唯一的值(如果值重复,它们将不再标识唯一记录),并且不能包含空值。
  • 主键是在特定表中被选用来标识唯一记录的候选键。
  • 外键是指向另一个表中的键的引用。通过在两个表中创建公共字段,可以在两个表之间建立关系。
  • 外键可以让我们保证所谓的“参照完整性”。这意味着包含值的外部键必须引用相关表中的现有记录。例如,看一下这两个表。

面向对象的数据库

[edit | edit source]

一般

[edit | edit source]

根据作者 Williams 和 Sawyer 的说法,面向对象的数据库的定义是“将‘对象’(以小块、可重复使用的方式编写的软件)用作数据库文件中的元素”(Using Information & Technology,p422)

多媒体、超文本和对象关系型数据库都与面向对象的数据库相关联。

多媒体数据库

[edit | edit source]

使用多种形式的信息内容和信息处理(例如文本、音频、图形、动画、视频、交互性)。这意味着它可以存储比关系型数据库更多类型的数据。例如,面向对象的数据库可能包含每个学生的图片、声音片段,甚至是一小段视频,除了成绩和个人数据之外。该对象将存储称为方法的操作,即对象用来处理自身程序。例如,这些程序可能指示如何计算学生的平均成绩。

超文本数据库

[edit | edit source]

什么是超文本数据库?

任何对象,无论是文本、图片还是电影,都可以链接到任何其他对象。超文本数据库特别适用于组织大量分散的信息,但它们并非为数值分析而设计。

超媒体数据库

[edit | edit source]

超媒体数据库允许媒体文件被查询并用作工具来发展对最初搜索问题的理解。超媒体数据库的目标是在节省空间的同时最大限度地减少错误;通过“标签”或可搜索文本链接到文件来实现这一目标,然后在进入链接(搜索完成后)时运行文件格式程序。

对象关系型

[edit | edit source]

面向对象的数据库使用软件,其中小块代码被写入数据库文件。它广泛用于工程设计、电信和多媒体领域。一个对象有两个部分

*data that could be audio, video or graphics
*instructions on what action to be taken on the data.

这些类型的数据库被分析师、程序员和大型公司使用,这些公司需要复杂的软件来维护公司的库存和结构。面向对象的数据库有能力处理从小型文件到超大型信息文件。它易于阅读,在管理大量数据时效率更高。有免费和商业软件包可供使用,这些软件包执行这种映射,但是许多程序员创建自己的对象关系型映射工具。这种映射也称为虚拟对象数据库。

多维数据库

[edit | edit source]

什么是多维数据库?

[edit | edit source]

在过去十年中,多维数据模型出现用于目标是分析数据而不是执行在线事务的情况。多维数据库技术是决策目的的大量数据交互分析的关键因素。与以前的技术相比,这些数据库将数据视为多维立方体,特别适用于数据分析。

多维模型将数据分类为具有相关数值度量的事实或描述事实的文本维度。

多维数据模型在数据分析中有三个重要的应用领域。• 数据仓库是大型存储库,它集成企业中多个来源的数据以供分析。• 联机分析处理 (OLAP) 系统为查询提供快速答案,这些查询聚合大量详细数据以查找总体趋势。• 数据挖掘应用程序试图通过半自动搜索多维数据库中先前未知的模式和关系来发现知识。

Pederson,T.B. & Jensen,C.S. (2002)。多维数据库技术。丹麦:奥尔堡大学。 http://infolab.usc.edu/csci599/Fall2002/paper/I1_pederson_p40.pdf

何时使用多维数据库?

[edit | edit source]

根据http://www.morebusiness.com/running_your_business/technology/d908484596.brc,如果您有大量数据和/或类别以及它们之间的复杂关系,则应考虑使用多维数据库 (MDDB)。多维数据库能够以不同的方式存储、查看和排序相同的数据。在国家销售环境中使用这种方法似乎是可行的,在这种环境中跟踪地理区域、月份、人员和产品与销售额的关系。其他数据库可能要求用户滚动浏览长列表或表格,而 MDDB 的结构化呈现方式使所有可能的组合信息都能够沿着一个公共维度位置进行查看。MDDB 并不适合所有组织和应用程序。例如,薪资部门不会从多维数据库中获益,因为员工姓名不同,他们的 SIN 号码也不同。只有在信息有限的情况下,MDDB 才是有效的。

混合数据库模型

[edit | edit source]
关系型数据库

混合数据库是两种或多种数据库类型和模型的组合。一种新兴的混合数据库类型是混合 XML/关系型数据库,它是一种可以存储和接收 XML 和关系型数据的数据库。两种类型的数据都可以通过查询访问,并且数据库可以在单个应用程序中协同工作。

数据库和网络

[edit | edit source]

在网络上随处可见数据库。提供产品信息、在线订购、研究资源或类似活动的网站的公司都使用数据库。例如,IMDB 是一个数据库,其中包含有关电影和类似内容的所有信息。另一个数据库是亚马逊,它向您展示特价商品、客户评论和客户信息以及订单。我们用来分享个人信息的数据库有 YouTube、Facebook 和 Flickr。数据库是无处不在的有趣事物,它将信息汇总在一起。由于数据库的存在,我们可以在线阅读我们最喜欢的书籍。

亚马逊.com-标志

网络数据库的工作原理

[edit | edit source]

网络数据库通过几个步骤将正确的信息显示给用户。首先,用户访问网站,填写查询框(即搜索框),并通过“回车”或单击提交查询。接下来,一旦提交查询,Web 服务器就会将用户提交的信息转换为数据库查询,并将该查询发送到数据库服务器进行处理。最后,数据库服务器查找查询并将结果发送回 Web 服务器或中间件,中间件是将 Web 服务器和数据库这两个独立的应用程序绑定的软件,该软件将被转换为可以显示回用户的 HTML。

查询框

来源:理解计算机:今天和明天,第 13 版教科书

中间件

[编辑 | 编辑源代码]

中间件是用于连接两个原本独立应用程序的软件,例如 Web 服务器和数据库管理系统。Web 数据库应用程序通常使用作为脚本或代码段编写的中间件,这些脚本或代码段使用编程语言编写(例如 Java、C 或 Perl),并由另一个程序执行。存在不同的脚本类型,例如:CGI 脚本(通用网关接口)、ASP(动态服务器页面)和 PHP 脚本(PHP 超文本预处理器)。中间件几乎在所有购物网站上都有使用;当您搜索特定商品时,中间件会搜索数据库查询并将结果转换为 HTML,然后 Web 服务器可以显示结果。

来源:理解计算机:今天和明天,第 13 版教科书

微目标

[编辑 | 编辑源代码]

微目标是指使用分析工具在政治活动中识别目标选民群体。它们使用公开的消费者数据、投票历史、民意调查结果等来识别一组将以特定方式投票的选民。然后通过电话、面对面或邮件联系这些个人。在联系时,他们会关注通过微目标发现的对个人重要的主题。这对于投票结果有很大影响,尤其是在势均力敌的情况下。目标是针对未决定的选民,说服他们相信最符合他们最关心的议题的候选人。

维基媒体许可投票的宣传海报 - 为许可理智投票赞成
华夏公益教科书