in

完全指南:关系数据库管理系统(RDBMS)

关键要点:

  • a relational database是特殊的,因为它们有能力识别和访问与其他数据相关的数据,通常是通过数据表。
  • 关系数据库管理系统(rdbms)允许用户以高效和结构化的方式存储、管理和分析数据。这可以节省很多时间和工作,特别是对于企业、政府和其他组织。
  • 唯一的主键用于跟踪和检索数据表,强大的数据库系统可以维护多个表。
  • ibm的edgar f. codd于1970年创建了数据库规范化的第一个形式。他的工作为现代rdbms奠定了基础,并对信息技术行业的发展起到了重要作用。

关系数据库管理系统(rdbms)是一种软件应用程序,设计用于使用一组预定义的规则和表来管理、存储和检索数据。由于其能够高效地存储和检索大量结构化数据,它们是企业、组织和政府的首选。rdbms使用结构化查询语言(如sql)与数据交互,并提供了一个灵活的平台来管理复杂的数据关系。这些系统还通过实施约束条件、消除重复并确保引用完整性来确保数据的一致性。

什么是rdbms:完整解释

数据是互联网的黄金。它可以是统计数据、姓名、位置等任何东西。互联网上的所有流动数据都是数据,即使是游戏。每个数据片段都有其自身的价值。为了利用这些数据,它必须被存储、解析和获取。存储在计算机中的结构化组织的数据称为数据库。它可以是从文本文件到excel电子表格的任何东西。

数据库在研究、市场营销、测试和安全性方面非常有用。作为关系数据库,它们更加有用。关系数据库与常规数据库相同,但还具有识别和访问与其他数据相关的数据的额外能力。这通常是通过数据表实现的。

雇主可以使用关系数据库来管理员工信息。例如,公司可能希望知道员工的出生日期、年龄、出生地点、认证状态、任职年限和其他相关信息。这些信息类型成为电子表格顶部的列标题。然后,每个员工可以作为一行添加。就像这样:

姓名出生日期居住地认证任职年限
卡尔02/17/1987加利福尼亚州格伦代尔培训4
博伊尔斯06/21/1996华盛顿州西雅图未培训2
珍妮04/15/1994德克萨斯州休斯顿培训4

这个表将特定的信息与每个主题关联起来。这使得用户可以通过所谓的关系数据库管理系统搜索信息并收集相似的数据。这使得用户可以为许多行政目的操作和搜索信息。以下是用户可能使用rdbms的几个示例:

  • 交叉参考数据集
  • 快速填充和复制诸如联系人之类的信息
  • 跟踪和更新员工记录
  • 监视和比较研究结果
  • 数据跟踪的可扩展性
  • 数据安全性-保留数据库条目的程序安全功能
  • 容错性-保留数据库的副本
  • 提高管理任务的速度
  • 存储敏感数据
  • 提供多用户访问

rdbms:确切定义

rdbms是关系数据库管理系统的简称。它是用于在关系数据库中结构化组织、查看、搜索、创建、更新、删除和操作数据表的软件方法。大多数关系数据库管理系统使用结构化查询语言(sql)。

关系数据库管理系统是数据库管理系统的一个子集。区别在于rdbms专门管理关系数据库。关系数据库用于记录与特定实体相关的信息。一个常见的关系数据库示例是人力资源联系列表。信息存储在一个包含一组信息(电子邮件、电话号码、引用和员工姓名)的表中。

rdbms是关系数据库管理系统的简称。它是用于在关系数据库中结构化组织、查看、搜索、创建、更新、删除和操作数据表的软件方法。

©dizain/shutterstock.com

rdbms如何工作?

像oracle db或mysql这样的关系数据库管理系统将数据存储在关系数据库或数据表中。一个完整的数据库系统可以拥有系统可处理的尽可能多的表。每个表都由一个唯一的主键来识别和跟踪。

每个表由行和列组成。行被用作记录,而列用于在字段之间进行分隔。您可以查看上述的表示例以更好地理解此概念。每行包含与单个实体相关的信息单元格。在上面的示例中,每个实体是一个人。每行中的后续单元格是与实体相关的不同数据或记录。这种行和列的系统使得表易于解析、搜索、更新和修改。

与数据库一起工作的人常常发现他们的数据集呈指数级增长,处理起来相当繁重。手动更改需要在数据集甚至其他数据集中重复的单个单元格可能需要几天时间。通过使用结构化查询语言(sql),可以快速批量进行这些更改。

sql是一种高级编程语言,其语法类似于英语。虽然并不是每个rdbms都使用sql,但大多数都使用。

如何创建rdbms?

为了创建rdbms,需要进行以下几个步骤。

1. 定义数据库的目的

信息在没有目的的情况下很少有用。即使您是为教育目的创建rdbms,也需要定义您正在创建的数据库的内容。您需要知道您正在收集什么信息、为什么进行收集以及您将如何处理这些信息。这将帮助您组织所需收集的信息类型。

2. 获取数据,创建结构并分配主键

现在您已经知道要放入数据库的内容,您将需要这些信息。如何获取这些信息可能因人而异,完全取决于您。在收集数据时,将其分成以主题为基础的表。您创建的每个表的一列将用作主键。例如,员工数据库通常会使用员工姓名或身份证号作为主键。这有助于防止重复行并为每个实体创建唯一标识符。如果您创建的数据库不使用名称,则需要确定一个列来继续调用完全唯一的值。主键将用作快速搜索和检索的索引。

3. 创建表之间的关系

如果数据库的表彼此无关,则它们将不会非常有用。为了创建一个功能齐全的数据库,每个表都需要与其他表相关联。可以建立三种不同类型的关系。

  • 一对多 – 一个表与多个表相关联。这在处理分层结构时非常有用。例如,一个表可能是有关存储在其上的经理信息的列表(如名称、地址、电话号码和电子邮件)。每个经理还有一系列员工或职责。因此,可以创建一系列表,列出每个组的不同信息存储。
  • 多对多 – 每个表通过连接表与其他表相关联。这意味着可以使用第三个表来引用每个表的信息,例如,一个表是产品列表,另一个表是订单列表,可以通过使用第三个表来关联每个表的信息,例如订单详细信息。
  • 一对一 – 每个表包含相似的主键和不同的数据集。当一个表需要保持私密而另一个表用于显示时,或者当将产品库存信息与产品详细信息分开时,这很有用。

4. 优化设计

一旦您收集并组织了足够的信息,您将开始形成更好的表结构想法。优化设计和结构以提高性能。这只是通过老式的试错方法来完成。

谁创建了关系型数据库管理系统(rdbms)?

数据库存在的时间与人们记录信息的时间一样长。在计算技术的早期崛起中,ibm的计算机科学家埃德加·f·科德(edgar f. codd)引入了一种新的数据建模方式。在他于1970年6月发表的论文《大型共享数据库的关系数据模型》中,埃德加描述了一种创建交叉链接表的方法,使得可以将任何数据存储一次。通过他的结构,足够大的数据库可以回答任何问题,只要信息存储在其中一个交叉链接的表中。

埃德加·f·科德建立了数据库规范化的第一个形式。

在九年后,oracle发布了第一个商业化的关系型数据库。随后迅速发布了ibm的db2、sap sybase ase和informix。这一想法迅速流行起来,80年代和90年代见证了关系型数据库的令人难以置信的增长。

关系型数据库管理系统(rdbms)的应用有哪些?

关系型数据库管理系统(rdbms)已经在全球范围内被几乎每家使用现代技术的公司用于管理数据库。数据是任何事物的数字表示。因此,几乎每家拥有在线存在或现代交易系统的公司都会使用数据库进行业务。同样,通过rdbms也可以高效地管理员工工资单、时间记录和认证。

很难准确指出rdbms的目的,因为数据的用途非常广泛。取而代之,这里是一些rdbms可能应用的不同领域的列表:

  • 业务管理
  • 业务报告
  • 财务报告
  • 市场营销
  • 研究
  • 俱乐部会员
  • 客户管理
  • 活动票务管理

即使这个列表也可以涉及到企业或组织中众多具体用途。数据的美妙之处在于其用途不断扩展。描述rdbms可以应用于的最简单方法是:任何收集和使用数据的目的。这几乎包括从音乐播放列表到图书馆管理的一切。

这是一个关系型数据库结构的描述,它让你对数据的复杂程度有一个基本的了解!

©yurich/shutterstock.com

现实世界中的rdbms示例

云计算和智能技术推动了对rdbms的需求普遍增加。与任何其他技术或概念一样,有许多不同的变体。以下是一些今天使用最广泛的rdbms的描述:

mysql

作为一种开源sql,mysql非常受欢迎。它的开放接口通常用于通过php进行web开发。mysql是一个廉价可靠的数据库管理解决方案的首选选项。它已经存在了1995年。由于其年龄的缘故,它拥有一个相当庞大的开发者社区,可以从中获取信息。

mysql已被oracle收购,这不幸地导致了开源开发的严重衰退。因为oracle没有付出更新和维护mysql开源开发的努力,所以它缺乏一些开发者可能习惯的高级功能。

优点:

  • 价格低廉
  • 可靠
  • 庞大的社区

缺点:

  • 在扩展时性能较差
  • 缺乏高级功能
  • 被oracle所拥有

postgresql

postgresql是另一种开源sql数据库。它仍然是开源的,免受企业控制。与mysql一样,它主要用于web应用程序开发。postgresql是从数据库管理的早期发展阶段存活下来的开源sql数据库。

除了性能之外,mysql和postgresql之间没有太多区别。postgresql被认为是一个较慢或编译效率较低的系统。与mysql不同,postgresql从未被较大的公司收购。因此,它仍然作为一种廉价的数据库选项与开源代码一起运作。

与mysql类似的是开发者社区的规模。它的开发者社区没有mysql那么庞大,但它已经存在了足够长的时间,以至于社区是乐于助人和经验丰富的。

优点:

  • 开源
  • 价格低廉
  • 乐于助人的社区
  • 附加功能(外键支持)

缺点:

  • 性能较慢
  • 可扩展性差

oracle数据库

oracle数据库是由oracle公司拥有。它不是开源软件。许多人推测,sun microsystems(现在是oracle公司)收购mysql的目的是为了在关系数据库管理系统软件领域占据优势。自从sun microsystems收购mysql以来,没有开源开发mysql的迹象似乎证明了这一点。

现在,oracle数据库被世界上大多数顶级银行使用。oracle提供的集成业务应用和强大技术非常适合安全管理数据库。oracle数据库甚至包含了专门为银行使用的基本功能。

oracle销售从云系统到金融和营销支持等一切。

©jhvephoto/shutterstock.com

oracle是一款昂贵的关系数据库管理系统解决方案。理所当然。它拥有一系列功能,使它成为使用最佳性能的关系数据库管理系统之一。

优点:

  • 先进功能
  • 专业业务功能
  • 通过混淆保护安全(非开源软件)

缺点:

  • 昂贵的服务
  • 闭源代码
  • 数据库与oracle技术配套使用

sql server

作为企业软件解决方案的领导者,microsoft提供了一种适用于windows和兼容操作系统的数据库管理系统。sql server与oracle数据库非常相似。它是一款闭源软件。某些功能是为特定业务需求而构建的。

sql server是数据库管理类别中的佼佼者。对于大型企业应用程序来说,它更加可靠,这就是为什么大多数处理大量数据库存档的公司会使用sql server。

按照microsoft许多软件产品的传统,还有一种更轻量级的入门版可以免费使用,名为express。对于较小的数据库应用程序,express可能足以处理。如果数据库开始超出sql server express中的“免费”功能,您可能需要购买额外的功能,这可能很快变得昂贵。然而,很难否认microsoft应用程序提供的功能。

优点:

  • 适用于大型企业的高效性
  • 为windows企业原生开发
  • 提供免费版本(express)
  • 功能齐全

缺点:

  • 昂贵

sqlite

sqlite是另一种开源数据库。由于它是免费的,并且可以将整个数据库存储在单个文件中,因此它非常受欢迎。这对于创建和维护一个轻量级数据库而无需连接服务器非常有用。换句话说,sqlite是一种便携解决方案。

智能手机、pda、ipod、有线或卫星盒以及其他电子设备通常使用sqlite来管理它们的较小数据库。sqlite也是学习关系数据库管理系统的命令和函数的首选sql数据库。

优点:

  • 免费
  • 开源
  • 将数据库保存为单个文件
  • 轻量级

缺点:

  • 可用的sql命令较少
  • 扩展性不佳

Written by