📜  什么是数据库

📅  最后修改于: 2020-12-11 01:51:39             🧑  作者: Mango

数据库

什么是数据?

数据是一个独特的小信息单元的集合。它可以以多种形式使用,例如文本,数字,媒体,字节等。它可以存储在纸或电子存储器等中。

单词“数据”源自单词“基准”,意思是“单条信息”。它是单词datum的复数形式。

在计算中,数据是可以转换为有效移动和处理形式的信息。数据可以互换。

什么是数据库?

数据库是有组织的数据集合,因此可以轻松地访问和管理它。

您可以将数据组织到表,行,列中并对其进行索引,以使查找相关信息变得更加容易。

数据库处理程序以仅一组软件程序向所有用户提供数据访问的方式创建数据库。

数据库的主要目的是通过存储,检索和管理数据来操作大量信息。

如今,万维网上有许多动态网站,这些网站通过数据库进行处理。例如,一个检查酒店房间可用性的模型。这是使用数据库的动态网站的示例。

有许多可用的数据库,例如MySQL,Sybase,Oracle,MongoDB,Informix,PostgreSQL,SQL Server等。

现代数据库由数据库管理系统(DBMS)管理。

SQL或结构化查询语言用于对存储在数据库中的数据进行操作。 SQL依赖于关系代数和元组关系演算。

圆柱结构用于显示数据库的图像。

数据库的演变

从平面文件系统到关系和对象关系系统,数据库已经完成了50多年的发展历程。它经历了几代人。

进化

基于文件

1968年是基于文件的数据库引入的一年。在基于文件的数据库中,数据保存在平面文件中。尽管文件具有许多优点,但是存在一些限制。

主要优点之一是文件系统具有各种访问方法,例如顺序访问,索引访问和随机访问。

它要求使用第三代语言(例如COBOL,BASIC)进行大量编程。

分层数据模型

1968-1980年是分层数据库的时代。著名的分层数据库模型是IBM的第一个DBMS。它被称为IMS(信息管理系统)。

在此模型中,文件以父/子方式关联。

下图表示分层数据模型。小圆圈代表对象。

像文件系统一样,此模型也有一些局限性,例如实现复杂,缺乏结构独立性,无法轻松处理多对多关系等。

网络数据模型

Charles Bachman在Honeywell开发了第一个DBMS,称为集成数据存储(IDS)。它是在1960年代初期开发的,但在1971年由CODASYL集团(数据系统语言会议)标准化。

在此模型中,文件与所有者和成员相关,就像常见的网络模型一样。

网络数据模型确定了以下组件:

  • 网络架构(数据库组织)
  • 子架构(每个用户的数据库视图)
  • 数据管理语言(过程性)

该模型还具有一些局限性,例如系统复杂性以及难以设计和维护。

关系型数据库

1970年至今:关系数据库和数据库管理时代。 1970年,关系模型由EF Codd提出。

关系数据库模型有两个主要术语,分别称为实例和架构。

实例是具有行或列的表

模式指定结构,如关系名称,每个列的类型和名称。

该模型使用了一些数学概念,例如集合论和谓词逻辑。

1995年创建了第一个互联网数据库应用程序。

在关系数据库时代,引入了更多模型,例如面向对象模型,对象关系模型等。

云数据库

云数据库可帮助您通过云平台存储,管理和检索其结构化,非结构化数据。可以通过Internet访问此数据。云数据库也被称为数据库即服务(DBaaS),因为它们是作为托管服务提供的。

一些最佳的云选项是:

  • AWS(亚马逊网络服务)
  • 雪花计算
  • Oracle数据库云服务
  • Microsoft SQL服务器
  • 谷歌云扳手

云数据库的优势

降低成本

通常,公司提供商不必投资于数据库。它可以维护和支持一个或多个数据中心。

自动化的

云数据库丰富了各种自动化流程,例如恢复,故障转移和自动扩展。

可访问性增加

您可以随时随地从任何位置访问基于云的数据库。您所需要的只是一个互联网连接。

NoSQL数据库

NoSQL数据库是一种设计此类数据库的方法,可以容纳多种数据模型。 NoSQL代表“不仅是SQL”。它是传统关系数据库的替代方法,在传统关系数据库中,数据放置在表中,并且在构建数据库之前已对数据模式进行了完善的设计。

NoSQL数据库对于大量分布式数据很有用。

NoSQL数据库系统及其类别的一些示例包括:

  • MongoDB,CouchDB,Cloudant (基于文档)
  • Memcached,Redis,一致性(键值存储)
  • HBase,大表,Accumulo (表格)

NoSQL的优势

高扩展性

由于可伸缩性,NoSQL可以处理大量数据。如果数据增长,NoSQL数据库将对其进行扩展以有效地处理该数据。

高可用性

NoSQL支持自动复制。自动复制使它具有很高的可用性,因为在发生任何故障的情况下,数据会将自身复制到以前的一致状态。

NoSQL的缺点

开源的

NoSQL是一个开源数据库,因此尚无可靠的NoSQL标准。

管理挑战

NoSQL中的数据管理比关系数据库复杂得多。安装非常具有挑战性,并且每天的管理工作更加繁忙。

GUI不可用

市场上不容易获得用于NoSQL数据库的GUI工具。

后备

备份是NoSQL数据库的一大弱点。某些数据库,例如MongoDB,没有强大的数据备份方法。

面向对象的数据库

面向对象的数据库包含对象和类形式的数据。对象是真实世界的实体,类型是对象的集合。面向对象的数据库是关系模型特征与面向对象的原理的组合。它是关系模型的替代实现。

面向对象的数据库保留了面向对象编程的规则。面向对象的数据库管理系统是一个混合应用程序。

面向对象的数据库模型包含以下属性。

面向对象的编程属性

  • 对象
  • 班级
  • 遗产
  • 多态性
  • 封装形式

关系数据库属性

  • 原子性
  • 一致性
  • 廉洁
  • 耐用性
  • 并发
  • 查询处理

图数据库

图形数据库是NoSQL数据库。它是数据的图形表示。它包含节点和边。一个节点代表一个实体,每个边代表两个边之间的关系。图形数据库中的每个节点都代表一个唯一的标识符。

图形数据库对于突出显示数据之间的关系非常有用,因为它们可以突出显示相关数据之间的关系。

当图形数据库包含复杂的关系和动态模式时,图形数据库非常有用。

它主要用于供应链管理中,确定IP电话的来源。

DBMS(数据库管理系统)

数据库管理系统是用于存储和检索数据库的软件。例如,Oracle,MySQL等;这些是一些流行的DBMS工具。

  • DBMS提供了执行各种操作(如创建,删除,修改等)的界面。
  • DBMS允许用户根据他们的要求创建他们的数据库。
  • DBMS接受来自应用程序的请求,并通过操作系统提供特定的数据。
  • DBMS包含根据用户指令运行的程序组。
  • 它为数据库提供安全性。

DBMS的优势

控制冗余

它将所有数据存储在一个数据库文件中,因此可以控制数据冗余。

资料共享

授权用户可以在多个用户之间共享数据。

后备

它提供了备份和恢复子系统。此恢复系统会根据系统故障创建自动数据,并在需要时还原数据。

多个用户界面

它提供了不同类型的用户界面,例如GUI,应用程序界面。

DBMS的缺点

尺寸

它占用大的磁盘空间和大的内存才能有效运行。

成本

DBMS需要高速数据处理器和更大的内存才能运行DBMS软件,因此成本很高。

复杂

DBMS带来了额外的复杂性和要求。

RDBMS(关系数据库管理系统)

RDBMS一词被称为“关系数据库管理系统”。它表示为包含行和列的表。

RDBMS基于关系模型;它是由EF Codd引入的。

关系数据库包含以下组件:

  • 记录/元组
  • 字段/列名/属性
  • 实例
  • 架构图
  • 按键

RDBMS是表格式的DBMS,可维护数据的安全性,完整性,准确性和一致性。