文件系统存储数据,与数据库系统存储数据的差别

Posted 追梦的独行者

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了文件系统存储数据,与数据库系统存储数据的差别相关的知识,希望对你有一定的参考价值。

一、文件系统与数据库系统的概念及其发展 

1.文件系统 
  所谓的文件系统简单地说负责存取和管理文件信息的软件结构。例如电脑的硬盘C、D、E、F盘和可以动的存储设备等。文件系统是操作系统用于明确磁盘或分区上的文件的方法和数据结构,即在磁盘上组织文件的方法。也指用于存储文件的磁盘或分区,或文件系统种类。操作系统中负责管理和存储文件信息的软件机构称为文件管理系统,简称文件系统。 
  文件系统由三部分组成:与文件管理有关软件、被管理文件以及实施文件管理所需数据结构。从系统角度来看,文件系统是对文件存储器空间进行组织和分配,负责文件存储并对存入的文件进行保护和检索的系统。具体地说,它负责为用户建立文件,存入、读出、修改、转储文件,控制文件的存取,当用户不再使用时撤销文件等。

 2.数据库系统 
  数据库系统是由数据库及数据库管理软件组成的系统,它是为适应数据处理的需要而发展起来的一种较为理想的数据处理的核心机构。它是一个实际可运行的存储、维护和应用系统提供数据的软件系统,是存储介质、处理对象和管理系统的集合体。数据库系统的核心是数据库管理系统。 
数据库系统一般由4个部分组成:数据库、硬件、软件、人员。

  其中数据库是指长期存储在计算机内的,有组织,可共享的数据的集合。硬件是指构成计算机系统的各种物理设备,包括存储所需的外部设备。软件包括操作系统、数据库管理系统及应用程序。人员包括系统分析员和数据库设计人员、应用程序员、最终用户、数据库管理员。

  数据库系统有大小之分,常见的大型数据库系统有SQL Server、Oracle、DB2等;中小型数据库系统有Foxpro、Access等。

3.发展过程

  数据库发展阶段大致划分为如下几个阶段:人工管理阶段、文件系统阶段、数据库系统阶段、高级数据库阶段。以下主要介绍一下文件系统管理阶段和数据库管理阶段。文件系统阶段中操作系统的出现标志着数据管理步入一个新的时期。在文件系统阶段,数据以文件为单位存储在外存,且由操作系统统一管理。操作系统为用户使用文件提供了友好界面。文件的逻辑结构与物理结构脱钩,程序和数据分离,使数据与程序有了一定的独立性。用户的程序与数据可分别存放在外存储器上,各个应用程序可以共享一组数据,实现了以文件为单位的数据共享。

在数据库系统阶段,人们对数据管理技术提出了更高的要求:希望面向企业或部门,以数据为中心组织数据,减少数据的冗余,提供更高的数据共享能力,同时要求程序和数据具有较高的独立性,当数据的逻辑结构改变时,不涉及数据的物理结构,也不影响应用程序,以降低应用程序研制与维护的费用。数据库技术正是在这样一个应用需求的基础上发展起来的。

通过上面的内容可以看出数据库系统是在文件系统的基础上发展而来的。

二、文件系统存储与数据库系统存储的区别与联系

  文件系统与数据库系统的本质区别在于:

  文件系统把数据组织成相互独立的数据文件,实现了记录内的结构性,但整体无结构;而数据库系统实现整体数据的结构化。

在文件系统中,数据冗余度大,浪费存储空间,容易造成数据的不一致,但是在数据库系统中,数据是面向整个系统,数据可以被多个用户、多个应用共享使用,减少了数据冗余。文件系统中的文件是为某一特定应用服务的,当要修改数据的逻辑结构时,必须修改应用程序,修改文件结构的定义,数据和程序之间缺乏独立性,数据库系统中,通过DBMS的两级映象实现了数据的物理独立性和逻辑独立性,把数据的定义从程序中分离出去,减少了应用程序的维护和修改。

  文件系统和数据库系统均可以长期保存数据,由数据管理软件管理数据,数据库系统是在文件系统基础上发展而来。

数据库系统主要管理数据库的存储、事务以及对数据库的操作。文件系统是操作系统管理文件和存储空间的子系统,主要是分配文件所占的簇、盘块或者建立FAT、管理空间空间等。一般来说数据库系统会调用文件系统来管理自己的数据文件,但也有些数据库系统能够自己管理数据文件,甚至在裸设备上。文件系统是操作系统必须的,而数据库系统只是数据库管理和应用所必需的。

三、总结

综上所述,文件系统和数据库系统之间既有区别又有联系。

其区别在于:

  (1)文件系统用文件将数据长期保存在外存上,数据库系统用数据库统一存储数据。

  (2)文件系统中的程序和数据有一定的联系,数据库系统中的程序和数据分离。

  (3)文件系统用操作系统中的存取方法对数据进行管理,数据库系统用DBMS统一管理和控制数据。

  (4)文件系统实现以文件为单位的数据共享,数据库系统实现以记录和字段为单位的数据共享。

其联系在于:

  (1)均为数据组织的管理技术。

  (2)均由数据管理软件管理数据,程序与数据之间用存取方法进行转换。

  (3)数据库系统是在文件系统的基础上发展而来的。

总之,文件系统存储和数据库系统存储各有利弊,两种存储方式都广泛的应用于现实社会中的各个领域。

以上是关于文件系统存储数据,与数据库系统存储数据的差别的主要内容,如果未能解决你的问题,请参考以下文章

EXT2与EXT3文件系统两者的差别

计算机基础与linux文件系统

逻辑数据流图与物理数据流图的差别

数据库存储库 (Oracle) 与文件系统作为 Pentaho 的存储库

关于在文件系统与数据库上存储 Laravel 文件上传的问题,以及如何在需要时存储在数据库而不是文件系统中

将图像存储在数据库中与存储在文件系统中