1. 程式人生 > >資料庫系統和檔案系統的區別與聯絡

資料庫系統和檔案系統的區別與聯絡

很多人剛剛接觸資料庫時都有疑問:在很多程式中都會是有的直接讀取一個靜態檔案,有的是讀取資料庫。直接讀取靜態檔案,不訪問資料庫速度是會很快,但是為什麼還要訪問資料庫呢?它們兩則肯定是有區別的,那麼區別是什麼呢?

  其實他們之間的關係很簡單,如下參考:
  檔案系統把資料組織成相互獨立的資料檔案,實現了記錄內的結構性,但整體無結構;而資料庫系統實現整體資料的結構化,這是資料庫的主要特徵之一,也是資料庫系統與檔案系統的本質區別。在檔案系統中,資料冗餘度大,浪費儲存空間,容易造成資料的不一致;資料庫系統中,資料是面向整個系統,資料可以被多個使用者、多個應用共享使用,減少了資料冗餘。檔案系統中的檔案是為某一特定應用服務的,當要修改資料的邏輯結構時,必須修改應用程式,修改檔案結構的定義,資料和程式之間缺乏獨立性;資料庫系統中,通過DBMS的兩級映象實現了資料的物理獨立性和邏輯獨立性,把資料的定義從程式中分離出去,減少了應用程式的維護和修改。檔案系統和資料庫系統均可以長期儲存資料,由資料管理軟體管理資料,資料庫系統是在檔案系統基礎上發展而來。
  資料庫系統主要管理資料庫的儲存、事務以及對資料庫的操作。檔案系統是作業系統管理檔案和儲存空間的子系統,主要是分配檔案所佔的簇、盤塊或者建立FAT、管理空間空間等。一般來說資料庫系統會呼叫檔案系統來管理自己的資料檔案,但也有些資料庫系統能夠自己管理資料檔案,甚至在裸裝置上。檔案系統是作業系統必須的,而資料庫系統只是資料庫管理和應用所必需的。
  

檔案系統和資料庫系統之間的區別。
(1)檔案系統用檔案將資料長期儲存在外存上,資料庫系統用資料庫統一儲存資料;
(2)檔案系統中的程式和資料有一定的聯絡,資料庫系統中的程式和資料分離;
(3)檔案系統用作業系統中的存取方法對資料進行管理,資料庫系統用DBMS統一管理和控制資料;
(4)檔案系統實現以檔案為單位的資料共享,資料庫系統實現以記錄和欄位為單位的資料共享。

檔案系統和資料庫系統之間的聯絡:
(1)均為資料組織的管理技術;
(2)均由資料管理軟體管理資料,程式與資料之間用存取方法進行轉換;
(3)資料庫系統是在檔案系統的基礎上發展而來的。