時(shí)間:2022-11-15 18:30:01 | 來(lái)源:信息時(shí)代
時(shí)間:2022-11-15 18:30:01 來(lái)源:信息時(shí)代
數(shù)據(jù)庫(kù)管理系統(tǒng) : 程序員用戶、最終用戶和數(shù)據(jù)庫(kù)管理員與數(shù)據(jù)庫(kù)之間的橋梁,用于建立、使用和維護(hù)數(shù)據(jù)庫(kù)。最終用戶和程序員用戶通過(guò)數(shù)據(jù)庫(kù)管理系統(tǒng)對(duì)數(shù)據(jù)庫(kù)進(jìn)行生成(create)、查詢(query)、添加(insert)、刪除(delete)和修改(update)等訪問(wèn),數(shù)據(jù)庫(kù)管理員也通過(guò)數(shù)據(jù)庫(kù)管理系統(tǒng)建立、管理和維護(hù)數(shù)據(jù)庫(kù)。數(shù)據(jù)庫(kù)管理系統(tǒng)給用戶提供功能完備和靈活方便的用戶接口,并對(duì)數(shù)據(jù)庫(kù)進(jìn)行統(tǒng)一的管理和控制,以確保數(shù)據(jù)庫(kù)的可用性、完整性和安全性。
用戶使用DBMS提供的數(shù)據(jù)定義語(yǔ)言(DDL)書寫數(shù)據(jù)庫(kù)模式以建立數(shù)據(jù)庫(kù),使用DBMS提供的數(shù)據(jù)操縱語(yǔ)言(DML)或查詢語(yǔ)言對(duì)數(shù)據(jù)庫(kù)進(jìn)行查詢、添加、刪除、修改等訪問(wèn)。
DBMS完成下列任務(wù):
(1)數(shù)據(jù)庫(kù)模式翻譯:將用戶使用數(shù)據(jù)庫(kù)定義語(yǔ)言DDL書寫的數(shù)據(jù)庫(kù)模式翻譯為內(nèi)部表示并保存在數(shù)據(jù)字典或數(shù)據(jù)目錄中,其中包括數(shù)據(jù)庫(kù)的邏輯結(jié)構(gòu)和完整性約束等。對(duì)數(shù)據(jù)庫(kù)的各種數(shù)據(jù)操作包括查詢、添加、刪除、修改等以及對(duì)數(shù)據(jù)庫(kù)的管理和維護(hù)等均要以數(shù)據(jù)庫(kù)模式為依據(jù)。
(2)最終用戶的交互式查詢:DBMS提供給最終用戶使用的訪問(wèn)數(shù)據(jù)庫(kù)的交互式查詢語(yǔ)言對(duì)主流的關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)來(lái)說(shuō)包括關(guān)系演算、關(guān)系代數(shù)和最為普遍使用并已標(biāo)準(zhǔn)化的類英語(yǔ)結(jié)構(gòu)查詢語(yǔ)言SQL。DBMS要對(duì)最終用戶存取數(shù)據(jù)庫(kù)的SQL語(yǔ)言的語(yǔ)句或語(yǔ)句組進(jìn)行編譯,包括詞法、語(yǔ)法和語(yǔ)義分析,造表,進(jìn)行存取檢查和完整性檢查,進(jìn)行存取優(yōu)化并生成可供執(zhí)行的存取模塊,最后DBMS將執(zhí)行所得的查詢結(jié)果返回給最終用戶。
(3)應(yīng)用程序的編譯:由程序員用戶編寫的應(yīng)用程序是一段程序,它用過(guò)程型的宿主語(yǔ)言如FORTRAN,PL/1,BASIC或C++嵌入數(shù)據(jù)庫(kù)查詢語(yǔ)言SQL的語(yǔ)句構(gòu)成。DBMS對(duì)應(yīng)用程序的編譯一般采用預(yù)編譯方法。第一步是將應(yīng)用程序中的宿主語(yǔ)言程序和嵌入其中的SQL語(yǔ)句分開并標(biāo)記清楚兩者之間共用的程序變量,將宿主語(yǔ)言程序中嵌入的SQL語(yǔ)句替換為SQL編譯后的可執(zhí)行的存取模塊的調(diào)用。第二步分為兩個(gè)分枝,其中一個(gè)分枝是對(duì)修改過(guò)的宿主語(yǔ)言程序的編譯(例如通過(guò)FORTRAN編譯程序),生成可執(zhí)行目標(biāo)程序,其中嵌有第一步替換的存取模塊的調(diào)用。另一個(gè)分枝是對(duì)第一步分出的SQL語(yǔ)句進(jìn)行編譯,生成可執(zhí)行的存取模塊以備第一個(gè)分枝調(diào)用。第三步是執(zhí)行第二步生成的可執(zhí)行程序并獲得結(jié)果,最后將結(jié)果返回給用戶。
(4)事務(wù)管理: 用戶對(duì)數(shù)據(jù)庫(kù)的訪問(wèn)是以事務(wù)(transaction)為單位進(jìn)行的。事務(wù)可以是一個(gè)單個(gè)的SQL語(yǔ)句,也可以是一組SQL語(yǔ)句,它的執(zhí)行將數(shù)據(jù)庫(kù)從一種一致的相容的狀態(tài)轉(zhuǎn)換為另一種一致的相容的狀態(tài)。它必須作為一個(gè)完整的單位要么完全執(zhí)行,要么一點(diǎn)也不執(zhí)行,不允許部分執(zhí)行的情況發(fā)生。
數(shù)據(jù)庫(kù)是提供給多個(gè)用戶共享的,因此同一時(shí)間會(huì)有多個(gè)用戶的多個(gè)事務(wù)對(duì)數(shù)據(jù)庫(kù)進(jìn)行并發(fā)存取。為了保證在這種并發(fā)存取的狀態(tài)下數(shù)據(jù)庫(kù)的正確性和一致性,必須對(duì)并發(fā)運(yùn)行的事務(wù)進(jìn)行管理,這就是DBMS的并發(fā)控制功能。
數(shù)據(jù)庫(kù)在運(yùn)行過(guò)程中可能發(fā)生各種各樣的故障,為了保證數(shù)據(jù)庫(kù)的正確性和可用性,必須確保數(shù)據(jù)庫(kù)在故障之后能夠恢復(fù),不會(huì)丟失數(shù)據(jù),這就是DBMS的恢復(fù)功能。此外,DBMS還要提供事務(wù)運(yùn)行的安全性檢查、完整性約束的檢查等功能。
DBMS向數(shù)據(jù)庫(kù)管理員提供充分的支持以便管理數(shù)據(jù)庫(kù)系統(tǒng)的運(yùn)行,進(jìn)行必要的維護(hù)。其工作包括數(shù)據(jù)庫(kù)的建立、數(shù)據(jù)安全控制、完整性保障、數(shù)據(jù)庫(kù)重組、數(shù)據(jù)庫(kù)性能調(diào)優(yōu)、數(shù)據(jù)庫(kù)運(yùn)行日志維護(hù)等。
數(shù)據(jù)庫(kù)管理系統(tǒng)的發(fā)展從1968年IBM研制成功的層次型數(shù)據(jù)庫(kù)系統(tǒng)IMS Ⅵ算起,已經(jīng)經(jīng)歷了近40年時(shí)間,E.F.Codd開創(chuàng)的關(guān)系型數(shù)據(jù)庫(kù)系統(tǒng)起源于1970年,則也已經(jīng)走過(guò)了近40年的歷程,舉全球數(shù)據(jù)庫(kù)學(xué)者、專家和工程師之力,數(shù)據(jù)庫(kù)技術(shù)已經(jīng)取得了長(zhǎng)足的進(jìn)步,其發(fā)展已相當(dāng)成熟。經(jīng)歷了層次型數(shù)據(jù)庫(kù)系統(tǒng),網(wǎng)狀型數(shù)據(jù)庫(kù)系統(tǒng),關(guān)系型數(shù)據(jù)庫(kù)系統(tǒng),面向?qū)ο髷?shù)據(jù)庫(kù)系統(tǒng)以及演繹數(shù)據(jù)庫(kù)系統(tǒng),分布式數(shù)據(jù)庫(kù)系統(tǒng),并行數(shù)據(jù)庫(kù)系統(tǒng),工程數(shù)據(jù)庫(kù)系統(tǒng),進(jìn)而有Web數(shù)據(jù)庫(kù)系統(tǒng),其發(fā)展隨著環(huán)境和應(yīng)用需求的變化也是日新月異,常見常新。Internet的深入和普及,使XML語(yǔ)言成為Web上主流語(yǔ)言。對(duì)于層次型的XML數(shù)據(jù)如何提供數(shù)據(jù)庫(kù)支持也成為各方關(guān)注的熱點(diǎn)。2006年7月IBM公司發(fā)布混合型數(shù)據(jù)庫(kù)系統(tǒng)DB2 9,同時(shí)支持關(guān)系數(shù)據(jù)和純XML數(shù)據(jù),是這種關(guān)注的一個(gè)新進(jìn)展。歷史的經(jīng)驗(yàn)說(shuō)明數(shù)據(jù)庫(kù)技術(shù)的發(fā)展是不會(huì)停步的。
客戶&案例
營(yíng)銷資訊
關(guān)于我們
客戶&案例
營(yíng)銷資訊
關(guān)于我們
微信公眾號(hào)
版權(quán)所有? 億企邦 1997-2022 保留一切法律許可權(quán)利。