数据库管理系统(DBMS)是一种软件包,用于定义,操作,检索和管理数据库中的数据。

DBMS通常操纵数据本身,数据格式,字段名称,记录结构和文件结构。它还定义了验证和操作此数据的规则,DBMS减轻了用户对框架程序的数据维护。第四代查询语言(如SQL)与DBMS包一起使用以与数据库交互,数据库是应用程序的后端。DBMS接收来自数据库管理员(DBA)的指令,并相应地指示系统进行必要的更改。这些命令可以从系统加载,检索或修改现有数据。

DBMS始终提供数据独立性,无需修改整个应用程序即可执行存储机制和格式的任何更改。

数据库由以下三个元素组成

物理数据库:包含数据的文件集合。

数据库引擎:可以访问和修改数据库内容的软件。

数据库方案:存储在数据库中的数据的逻辑结构的规范。

DBMS使用户可以在数据库文件中创建,编辑和更新数据,一旦创建,DBMS就可以存储和检索这些数据库文件中的数据。

组织数据库的四种主要类型

关系数据库:数据被组织为逻辑上独立的表,表之间的关系通过共享数据显示。一个表中的数据可以引用其他表中的类似数据,这保持了它们之间链接的完整性。此功能称为引用完整性 – 关系数据库系统中的一个重要概念。可以对这些表执行诸如“选择”和“加入”的操作,这是最广泛使用的数据库组织系统。

平面数据库:数据组织在一种具有固定数量字段的记录中,由于数据的重复性,此数据库类型遇到更多错误。

面向对象的数据库:数据的组织方式与面向对象编程概念相似,对象由数据和方法组成,而类对具有相似数据和方法的对象进行分组。

分层数据库:数据采用层次关系进行组织,如果违反一对多关系,它将成为一个复杂的网络。

数据库的优点

并发:多个用户对同一数据库的并发访问(意思是“同时”)。

安全性:用于确定用户访问权限的安全规则。

备份和恢复:定期备份数据并在出现问题时恢复数据的过程。

完整性:数据库结构和规则提高了数据的完整性。

数据描述:数据字典提供数据的描述。

数据库管理系统通俗介绍

数据库管理系统是一种软件,旨在组织和管理数据,以便可以轻松地存储,搜索(查询),检索和修改数据,数据库是此存储的一个实例。因此,通过类比,数据库管理系统就像图书馆卡目录概念一样,数据库就像一个特定的柜子,在特定的图书馆里拿着卡片。但是,我将整体概念称为“数据库”。

能够存储和检索数据听起来非常通用,这正是数据库的含义。它们是一种通用的解决方案,可满足软件应用程序中常见的需求。数据库的关键特性是它以某种方式组织数据,以供应用程序/业务使用。

它不仅仅是一个文件集合,它也是在某些应用程序的上下文中组织它们的一种方法。这种需求一直存在于软件中,特别是需要持久存储和在线访问的互联网应用程序。例如,如果您创建电子邮件服务,则需要能够永久存储电子邮件并允许用户检索电子邮件。您需要能够搜索和排序电子邮件,您需要能够轻松地分辨哪些电子邮件属于哪个用户,等等。

几乎每个软件都需要存储和访问数据,但软件工程师并不总是选择使用数据库。因此,如果他们并不总是需要,他们的目的是什么,他们如何知道何时使用?

好吧,我会尝试使用类比,虽然它不会是完美的。想象一下,你正在为学校写一篇两页短的研究论文。您只需要阅读一本关于您已熟悉的主题的教科书中的几章。在这种情况下,您可以阅读章节,然后立即开始撰写论文。也许你会根据需要回顾教科书。也许你会在大纲上记下一些笔记,无论如何,没什么大不了的。

现在假设你必须写一篇经过彻底研究的论文,这篇论文将长达50页。您将需要使用十几本教科书进行研究并引用参考文献。现在,你肯定需要把这些内容组织起来。您可能希望对编写笔记的方式更加有条理和勤奋,如何在教科书中使用书签,以及如何概述论文。

在第一种情况下,超级组织可能有点矫枉过正,可能会减慢你的速度。在第二种情况下,如果你没有那种组织,你就永远无法正常工作。在这两种情况之间的某个地方是应用程序何时应该使用数据库与何时可以做更轻量级的事情之间的区别。

在这一点上,很自然地问,数据库和文件系统之间有什么区别?它们都用于存储,组织和检索数据吗?

文件系统(就像在您的计算机上存储和显示文件的系统一样)完成了数据库设计的许多相同的事情。它长期存储数据,它允许您搜索数据。您可以检索数据,新数据,修改现有数据和删除数据。

关键的区别在于文件系统并不意味着为特定应用程序或业务目的组织数据,除了能够存储和检索文件所需的数据之外,它不太了解数据的结构,因为这些文件不一定彼此相关。

它们不一定彼此依赖或彼此具有任何特定含义,在您的计算机文件系统中,您可以使用MP3,也可以使用您编写的学校论文,视频游戏保存文件,电子邮件和相机中的图片。文件系统可以帮助您组织这些文件并将它们与不同的应用程序一起使用。因此,有些问题可能会让文件系统有用,比如“我最喜欢的MP3在哪里?” 

但是,还有一些其他问题对文件系统没有意义,例如“这个MP3比这个Word .doc更有价值吗?” 

另一方面,数据库旨在存储所有至少在某种程度上与某些共同目的相关的数据,因此,数据库有助于组织信息,以便轻松回答诸如“谁是我最有价值的客户?”之类的问题。“哪种产品最受欢迎?” “谁是依赖产品A的客户?” 等等。

因此,再次使用类比,文件系统可能就像你家里的文件柜一样。您可以使用它来存储您的税务文件,汽车的维修保养记录,孩子的体检报告,您想要保留的收据,账单等。它可以保持您的组织有条不紊,因此您知道如何找到它,但不是那里的一切都必然与那里的其他事情有关。

数据库更像是说,会计办公室里的一堆文件柜只能装发票。他们可能都是以某种方式组织起来的,就像所有应收账款都是针对一面墙,而所有应付账款都是针对另一面墙的。

它们可能按日期排序,也可能按字母顺序由付款人或收款人订购。前面可能有一些索引文件可以告诉您哪些内阁可以查找与付款人相关联的文件,这些付款人具有某个名称,可能是电话号码的另一个索引,或另一个列出价值超过200k的所有发票的索引或者一些东西。这些文件都与业务相关,并以对业务目的更有用的方式进行组织。