數據庫是按照數據結構來組織、存儲和管理數據的倉庫。處理的數據的特點是一個長期存儲、有組織的、可共享的、統一管理。
數據庫建立在計算機硬件、操作系統、編譯系統和網絡通信等技術基礎上,對海量數據進行高效的存取、管理,以及事務等處理。
常見的數據庫類型有關系數據庫,産品有Oracle、MySQL、SQLServer;還有非關系型數據庫(NoSQL),它又分鍵值數據庫、列數據庫、文檔數據庫、圖形數據庫等等。
數據庫管理系統功能
圍繞着數據處理,數據庫管理系統一般都具有六項基本的功能。
- 數據庫定義和創建功能,使用數據定義語言(DDL),定義和創建數據庫模式、外模式,内模式等數據庫對象。如數據庫、表、視圖、索引等,還有用戶、安全、完整性等,這些定義存儲在數據字典中。
- 數據組織存儲和管理功能,分類組織、存儲和管理各種數據,包括數據字典、用戶數據、存取路徑等。基本目标是提高存儲空間利用率和存取效率。
- 數據庫事務管理和運行管理,保證數據庫系統的正常運行、事務的ACID特性等。包括多用戶環境下的事務、安全、完整,和數據庫恢複、并發控制和死鎖檢測,還有安全性檢查、存取控制、完整性檢查和執行,以及運行日志的組織管理等。
- 數據存取功能,使用數據操縱語言(DML),對數據庫數據的檢索,插入,修改和删除等功能。
- 數據庫的建立和維護,包括數據庫的初始建立、數據的轉換、數據庫的轉儲和恢複、數據庫的重組織和重構造以及性能檢測分析等。
- 其他,如與其他系統通信、數據轉換等等。
數據庫管理系統的層次結構
将數據管理系統按處理對象,由高級到低級依次為應用層、語言處理層、數據存取層、數據存儲層,最底層再依賴操作系統完成最基本的數據文件管理。
- 最上層應用層,與用戶/應用程序的界面層。
- 第二層語言處理層,處理數據庫語言,如SQL,如語法分析、視圖轉換、安全性檢查、完整性檢查、查詢優化等。向上提供關系、視圖等集合;調用下層生成可執行代碼并運行。
- 第三層數據存取層,執行掃描,排序,元組的增删改查,封鎖等基本操作。把上層的集合操作轉換為單記錄操作,完成數據記錄的存取、存取路徑維護、數據管理、并發控制和恢複等工作。
- 第四層數據存儲層,管理數據頁和系統緩沖區,執行文件的邏輯打開、關閉、讀頁、寫頁、緩沖區讀和寫、頁面淘汰等操作,完成緩沖區管理、内外存交換、外存的數據管理等功能。
整個關系數據庫管理系統的各層模塊相互配合、互相依賴,共同完成對數據庫的操縱。
數據庫系統的三級模式結構
數據庫對數據定義了三個抽象級别,用戶抽象的處理數據,具體的處理由系統去處理。這三個抽象級别對應了數據庫的三級模式結構,模式、外模式、内模式。
- 模式(Schema)也稱概念模式(Conceptual Schema),是對數據庫中全部數據的邏輯結構和特征的描述,是所有用戶的公共數據視圖。它不管物理層面的事,也不管應用程序的事。一個數據庫隻有一個模式,主要定義數據的邏輯結構、數據項之間的聯系、不同記錄之間的聯系,以及與數據有關的完整性、安全性等要求。
- 外模式(External Schema)也稱子模式(Subschema),是各用戶自己設計的數據的邏輯結構,描述的是數據庫用戶自己可見的局部數據的邏輯結構和特征。
- 内模式(Internal Schema)也稱存儲模式(Storage Schema),一個數據庫隻有一個内模式,是對數據物理結構和存儲方式的描述,是數據在數據庫内部的表示方式。主要提供最優的高效的物理模式。
在三級結構之間提供了兩級映像(Mapping)進行聯系和轉換,外模式/模式映像、模式/内模式映像。
- 外模式/模式映像,模式表示全局,外模式表示局部,一個模式有多個外模式,它們的映像定義在各自外模式的描述中。
- 模式/内模式映像,定義了數據庫全局邏輯結構與存儲結構之間的對應關系,此映像唯一的,且定義在模式的描述中。
這種三級結構可以保持數據獨立性,即應用程序和數據庫的數據結構之間相互獨立。
- 邏輯數據獨立性,模式改變不影響應用程序,隻需要改變外模式/模式映像。
- 物理數據獨立性,數據庫的存儲結構改變不影響應用程序,隻需要改變模式/内模式映像。
外部體系結構
從數據庫最終用戶角度看,數據庫系統的結構分為集中式(單用戶結構、主從式結構)、分布式(客戶機/服務器結構)和多層結構,這是數據庫系統外部的體系結構。
, 更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!