數(shù)據(jù)庫管理系統(tǒng)(database management system)是一種操縱和管理數(shù)據(jù)庫的大型軟件,是用于建立、使用和維護數(shù)據(jù)庫,簡稱dbms。
它對數(shù)據(jù)庫進行統(tǒng)一的管理和控制,以保證數(shù)據(jù)庫的安全性和完整性。
用戶通過dbms訪問數(shù)據(jù)庫中的數(shù)據(jù),數(shù)據(jù)庫管理員也通過dbms進行數(shù)據(jù)庫的維護工作。
它提供多種功能,可使多個應(yīng)用程序和用戶用不同的方法在同時或不同時刻去建立,修改和詢問數(shù)據(jù)庫。
它使用戶能方便地定義和操縱數(shù)據(jù),維護數(shù)據(jù)的安全性和完整性,以及進行多用戶下的并發(fā)控制和恢復(fù)數(shù)據(jù)庫。
按功能劃分,數(shù)據(jù)庫管理系統(tǒng)大致可分為6個部分:
(1)模式翻譯:提供數(shù)據(jù)定義語言(ddl)。用它書寫的數(shù)據(jù)庫模式被翻譯為內(nèi)部表示。數(shù)據(jù)庫的邏輯結(jié)構(gòu)、完整性約束和物理儲存結(jié)構(gòu)保存在內(nèi)部的數(shù)據(jù)字典中。
數(shù)據(jù)庫的各種數(shù)據(jù)操作(如查找、修改、插入和刪除等)和數(shù)據(jù)庫的維護管理都是以數(shù)據(jù)庫模式為依據(jù)的。
(2)應(yīng)用程序的編譯:把包含著訪問數(shù)據(jù)庫語句的應(yīng)用程序,編譯成在dbms支持下可運行的目標程序。
(3)交互式查詢:提供易使用的交互式查詢語言,如sql。
dbms負責執(zhí)行查詢命令,并將查詢結(jié)果顯示在屏幕上。
(4)數(shù)據(jù)的組織與存取:提供數(shù)據(jù)在外圍儲存設(shè)備上的物理組織與存取方法。
⑸事務(wù)運行管理:提供事務(wù)運行管理及運行日志,事務(wù)運行的安全性監(jiān)控和數(shù)據(jù)完整性檢查,事務(wù)的并發(fā)控制及系統(tǒng)恢復(fù)等功能。
(6)數(shù)據(jù)庫的維護:為數(shù)據(jù)庫管理員提供軟件支持,包括數(shù)據(jù)安全控制、完整性保障、數(shù)據(jù)庫備份、數(shù)據(jù)庫重組以及性能監(jiān)控等維護工具。
基于關(guān)系模型的數(shù)據(jù)庫管理系統(tǒng)已日臻完善,并已作為商品化軟件廣泛應(yīng)用于各行各業(yè)。
它在各戶服務(wù)器結(jié)構(gòu)的分布式多用戶環(huán)境中的應(yīng)用,使數(shù)據(jù)庫系統(tǒng)的應(yīng)用進一步擴展。
隨著新型數(shù)據(jù)模型及數(shù)據(jù)管理的實現(xiàn)技術(shù)的推進,可以預(yù)期dbms軟件的性能還將更新和完善,應(yīng)用領(lǐng)域也將進一步地拓寬。
它所提供的功能有以下幾項:
(1)數(shù)據(jù)定義功能。
DBMS提供相應(yīng)數(shù)據(jù)語言來定義(DDL)數(shù)據(jù)庫結(jié)構(gòu),它們是刻畫數(shù)據(jù)庫框架,并被保存在數(shù)據(jù)字典中。
(2)數(shù)據(jù)存取功能。
DBMS提供數(shù)據(jù)操縱語言(DML),實現(xiàn)對數(shù)據(jù)庫數(shù)據(jù)的基本存取操作:檢索,插入,修改和刪除。
(3)數(shù)據(jù)庫運行管理功能。
DBMS提供數(shù)據(jù)控制功能,即是數(shù)據(jù)的安全性、完整性和并發(fā)控制等對數(shù)據(jù)庫運行進行有效地控制和管理,以確保數(shù)據(jù)正確有效。
(4)數(shù)據(jù)庫的建立和維護功能。
包括數(shù)據(jù)庫初始數(shù)據(jù)的裝入,數(shù)據(jù)庫的轉(zhuǎn)儲、恢復(fù)、重組織,系統(tǒng)性能監(jiān)視、分析等功能。
(5)數(shù)據(jù)庫的傳輸。
DBMS提供處理數(shù)據(jù)的傳輸,實現(xiàn)用戶程序與DBMS之間的通信,通常與操作系統(tǒng)協(xié)調(diào)完成。 著名數(shù)據(jù)庫管理系統(tǒng) MS SQL SYBASE DB2 ORACLE MySQL ACCESS VF 常見的數(shù)據(jù)庫管理系統(tǒng) 目前有許多數(shù)據(jù)庫產(chǎn)品,如Oracle、Sybase、Informix、Microsoft SQL Server、Microsoft Access、Visual FoxPro等產(chǎn)品各以自己特有的功能,在數(shù)據(jù)庫市場上占有一席之地。下面簡要介紹幾種常用的數(shù)據(jù)庫管理系統(tǒng)。
Oracle Oracle是一個最早商品化的關(guān)系型數(shù)據(jù)庫管理系統(tǒng),也是應(yīng)用廣泛、功能強大的數(shù)據(jù)庫管理系統(tǒng)。
Oracle作為一個通用的數(shù)據(jù)庫管理系統(tǒng),不僅具有完整的數(shù)據(jù)管理功能,還是一個分布式數(shù)據(jù)庫系統(tǒng),支持各種分布式功能,特別是支持Internet應(yīng)用。
作為一個應(yīng)用開發(fā)環(huán)境,Oracle提供了一套界面友好、功能齊全的數(shù)據(jù)庫開發(fā)工具。
Oracle使用PL/SQL語言執(zhí)行各種操作,具有可開放性、可移植性、可伸縮性等功能。
特別是在Oracle 8i中,支持面向?qū)ο蟮墓δ埽缰С诸悺⒎椒ā傩缘龋沟肙racle 產(chǎn)品成為一種對象/關(guān)系型數(shù)據(jù)庫管理系統(tǒng)。 Microsoft SQL Server Microsoft SQL Server是一種典型的關(guān)系型數(shù)據(jù)庫管理系統(tǒng),可以在許多操作系統(tǒng)上運行,它使用Transact-SQL語言完成數(shù)據(jù)操作。由于Microsoft