數(shù)據(jù)庫(kù)(數(shù)據(jù)庫(kù)系統(tǒng)概論)

1. 數(shù)據(jù)和數(shù)據(jù)管理

  • 描述事物的符號(hào)記錄稱(chēng)為數(shù)據(jù)。
  • 數(shù)據(jù)管理是對(duì)數(shù)據(jù)進(jìn)行有效的分類(lèi)、組織、編碼、存儲(chǔ)、檢索、維護(hù)和應(yīng)用,它是數(shù)據(jù)處理的中心問(wèn)題。
  • 數(shù)據(jù)庫(kù)管理系統(tǒng)是由一個(gè)相互關(guān)聯(lián)的數(shù)據(jù)的集合和一組用以訪(fǎng)問(wèn)、管理和控制這些數(shù)據(jù)的程序組成。這個(gè)數(shù)據(jù)集合通常稱(chēng)為數(shù)據(jù)庫(kù),其中包含了關(guān)于某個(gè)企業(yè)信息系統(tǒng)的所有信息。

2. 數(shù)據(jù)管理技術(shù)的產(chǎn)生和發(fā)展

數(shù)據(jù)管理技術(shù)的發(fā)展經(jīng)歷了人工管理、文件系統(tǒng)和數(shù)據(jù)庫(kù)管理系統(tǒng)3個(gè)階段。

(1) 人工管理的特點(diǎn):
①數(shù)據(jù)是面向程序的,一個(gè)數(shù)據(jù)集只能對(duì)應(yīng)于一個(gè)程序。
②沒(méi)有專(zhuān)門(mén)的軟件負(fù)責(zé)數(shù)據(jù)處理工作。
③數(shù)據(jù)無(wú)法共享,數(shù)據(jù)冗余。

(2) 文件系統(tǒng)階段數(shù)據(jù)管理的主要特點(diǎn):
①實(shí)現(xiàn)了文件內(nèi)的結(jié)構(gòu)性;
②應(yīng)用程序與數(shù)據(jù)之間有了一定的物理獨(dú)立性。
文件系統(tǒng)階段數(shù)據(jù)管理存在的主要問(wèn)題:
①數(shù)據(jù)共享性差,數(shù)據(jù)冗余和不一致;
②數(shù)據(jù)獨(dú)立性差;
③數(shù)據(jù)孤立,數(shù)據(jù)獲取困難;
④完整性問(wèn)題;
⑤原子性問(wèn)題;
⑥并發(fā)訪(fǎng)問(wèn)異常;
⑦安全性問(wèn)題。
其中,數(shù)據(jù)冗余是指相同的數(shù)據(jù)可能在不同的地方(文件)重復(fù)存儲(chǔ)。數(shù)據(jù)的完整性是指數(shù)據(jù)的正確性、有效性和相容性,也稱(chēng)為一致性約束。

(3)數(shù)據(jù)庫(kù)管理系統(tǒng)階段數(shù)據(jù)管理的主要特點(diǎn)
①數(shù)據(jù)結(jié)構(gòu)化。數(shù)據(jù)庫(kù)管理系統(tǒng)實(shí)現(xiàn)數(shù)據(jù)的整體結(jié)構(gòu)化,一是指數(shù)據(jù)不僅僅是內(nèi)部結(jié)構(gòu)化,而是將數(shù)據(jù)以及數(shù)據(jù)之間的聯(lián)系統(tǒng)一管理起來(lái),使之結(jié)構(gòu)化;二是指在數(shù)據(jù)庫(kù)中的數(shù)據(jù)不是僅僅針對(duì)某一個(gè)應(yīng)用,而是面向全組織的所有應(yīng)用。
②數(shù)據(jù)的共享度高,冗余度低,易擴(kuò)充。數(shù)據(jù)庫(kù)管理系統(tǒng)從整體角度描述和組織數(shù)據(jù),數(shù)據(jù)不再是面向某個(gè)應(yīng)用,而是面向整個(gè)系統(tǒng),因此,數(shù)據(jù)可以被多個(gè)用戶(hù)、多個(gè)應(yīng)用共享使用。
③數(shù)據(jù)獨(dú)立性高。數(shù)據(jù)獨(dú)立是指數(shù)據(jù)的使用(即應(yīng)用程序)與數(shù)據(jù)的說(shuō)明(即數(shù)據(jù)的組織結(jié)構(gòu)與存儲(chǔ)方式)分離,使應(yīng)用程序只考慮如何使用數(shù)據(jù),而無(wú)須關(guān)心它們是如何構(gòu)造和存儲(chǔ)的,因而各方(在一定范圍內(nèi))的變更互不影響。數(shù)據(jù)獨(dú)立性是用來(lái)描述應(yīng)用程序與數(shù)據(jù)結(jié)構(gòu)之間的依賴(lài)程度,包括數(shù)據(jù)的物理獨(dú)立性和數(shù)據(jù)的邏輯獨(dú)立性,依賴(lài)程度越低則獨(dú)立性越高。
物理獨(dú)立性是指用戶(hù)的應(yīng)用程序與數(shù)據(jù)庫(kù)中數(shù)據(jù)的物理結(jié)構(gòu)是相互獨(dú)立的。也就是說(shuō),數(shù)據(jù)庫(kù)中的數(shù)據(jù)在磁盤(pán)上如何組織和存儲(chǔ)由DBMS負(fù)責(zé),應(yīng)用程序只關(guān)心數(shù)據(jù)的邏輯結(jié)構(gòu),這樣當(dāng)數(shù)據(jù)的物理存儲(chǔ)結(jié)構(gòu)改變時(shí),應(yīng)用程序不用修改。
邏輯獨(dú)立性是指用戶(hù)的應(yīng)用程序與數(shù)據(jù)庫(kù)中數(shù)據(jù)的邏輯結(jié)構(gòu)是相互獨(dú)立的。也就是說(shuō),數(shù)據(jù)庫(kù)中數(shù)據(jù)的全局邏輯結(jié)構(gòu)由DBMS負(fù)責(zé),應(yīng)用程序只關(guān)心數(shù)據(jù)的局部邏輯結(jié)構(gòu),數(shù)據(jù)的全局邏輯結(jié)構(gòu)改變了,應(yīng)用程序也可以不用修改。
④數(shù)據(jù)由數(shù)據(jù)庫(kù)管理系統(tǒng)統(tǒng)一管理和控制。包括數(shù)據(jù)的安全性保護(hù)、數(shù)據(jù)的完整性檢查、并發(fā)控制和數(shù)據(jù)庫(kù)恢復(fù)等。
數(shù)據(jù)庫(kù)管理系統(tǒng)的出現(xiàn)使信息系統(tǒng)從以加工數(shù)據(jù)的應(yīng)用程序?yàn)橹行牡碾A段轉(zhuǎn)向圍繞共享的數(shù)據(jù)庫(kù)為中心的新階段。這樣既便于數(shù)據(jù)的集中管理,也有利于應(yīng)用程序的開(kāi)發(fā)和維護(hù),提高了數(shù)據(jù)的利用率和相容性,提高了決策的可靠性。

3. 數(shù)據(jù)模型

數(shù)據(jù)模型是一個(gè)描述數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)操作以及數(shù)據(jù)約束的數(shù)學(xué)形式體系(即概念及其符號(hào)表示系統(tǒng))。
數(shù)據(jù)結(jié)構(gòu)用于刻畫(huà)數(shù)據(jù)、數(shù)據(jù)語(yǔ)義以及數(shù)據(jù)與數(shù)據(jù)之間的聯(lián)系;
數(shù)據(jù)約束是對(duì)數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)操作的一致性、完整性約束,也稱(chēng)為數(shù)據(jù)完整性約束
通過(guò)數(shù)據(jù)模型可以對(duì)現(xiàn)實(shí)世界中具體事物的數(shù)據(jù)及其特征進(jìn)行抽象、表示和處理。

4. 數(shù)據(jù)模型的分層

根據(jù)數(shù)據(jù)抽象的不同級(jí)別,可以將數(shù)據(jù)模型劃分為3類(lèi):概念模型、邏輯模型和物理模型。

概念模型是指概念層次的數(shù)據(jù)模型,也稱(chēng)為信息模型,它按用戶(hù)的觀(guān)點(diǎn)或認(rèn)識(shí)對(duì)現(xiàn)實(shí)世界的數(shù)據(jù)和信息進(jìn)行建模,主要用于數(shù)據(jù)庫(kù)設(shè)計(jì)。常用的概念模型有實(shí)體-聯(lián)系模型(簡(jiǎn)稱(chēng)為ER模型)和面向?qū)ο竽P?簡(jiǎn)稱(chēng)為OO模型)。
概念模型是一種獨(dú)立于計(jì)算機(jī)系統(tǒng)的模型。它不涉及信息在系統(tǒng)中的表示,只是用來(lái)描述某個(gè)特定組織所關(guān)心的信息結(jié)構(gòu)。概念模型強(qiáng)調(diào)語(yǔ)義表達(dá)功能,它是現(xiàn)實(shí)世界的第一層抽象。
邏輯模型用來(lái)描述數(shù)據(jù)庫(kù)數(shù)據(jù)的整體邏輯結(jié)構(gòu),是現(xiàn)實(shí)世界的第二層抽象。傳統(tǒng)的邏輯數(shù)據(jù)模型有層次模型、網(wǎng)狀模型和關(guān)系模型,非傳統(tǒng)的邏輯數(shù)據(jù)模型有面向?qū)ο竽P?、XML模型等。
物理模型用來(lái)描述數(shù)據(jù)的物理存儲(chǔ)結(jié)構(gòu)和存取方法。
通過(guò)數(shù)據(jù)模型對(duì)現(xiàn)實(shí)世界中具體事物的數(shù)據(jù)需求進(jìn)行建模,可以更好地抓住主要矛盾,便于理解用戶(hù)的數(shù)據(jù)需求,便于表達(dá)數(shù)據(jù)及數(shù)據(jù)之間聯(lián)系的語(yǔ)義、數(shù)據(jù)的操作和數(shù)據(jù)的完整性約束,便于實(shí)現(xiàn)從現(xiàn)實(shí)世界到信息世界、信息世界到邏輯機(jī)器世界、邏輯機(jī)器世界到物理機(jī)器世界的逐步轉(zhuǎn)換。

5.數(shù)據(jù)模型的組成要素

數(shù)據(jù)模型通常由數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)操作和數(shù)據(jù)完整性約束3部分組成。

數(shù)據(jù)結(jié)構(gòu)描述數(shù)據(jù)庫(kù)的組成對(duì)象(實(shí)體)以及對(duì)象之間的聯(lián)系,是對(duì)系統(tǒng)靜態(tài)特性的描述。包括對(duì)象的類(lèi)型內(nèi)容和性質(zhì)(如關(guān)系模型中的域、屬性、關(guān)系模式和碼等),以及對(duì)象之間的聯(lián)系(如關(guān)系模型中的外碼)。
數(shù)據(jù)操作是指對(duì)數(shù)據(jù)庫(kù)中各種對(duì)象(型)的實(shí)例(值)允許執(zhí)行的操作的集合,包括操作及有關(guān)的操作規(guī)則。它是對(duì)系統(tǒng)動(dòng)態(tài)特性的描述。
數(shù)據(jù)完整性約束是一組數(shù)據(jù)完整性規(guī)則。數(shù)據(jù)完整性規(guī)則是數(shù)據(jù)、數(shù)據(jù)語(yǔ)義和數(shù)據(jù)聯(lián)系所具有的制約和依存規(guī)則,包括數(shù)據(jù)結(jié)構(gòu)完整性規(guī)則和數(shù)據(jù)操作完整性規(guī)則,用以限定符合數(shù)據(jù)模型的數(shù)據(jù)庫(kù)狀態(tài)以及狀態(tài)的變化,以保證數(shù)據(jù)的正確、有效和相容。

6. 關(guān)系模型

關(guān)系模型由一組關(guān)系組成,每個(gè)關(guān)系的數(shù)據(jù)結(jié)構(gòu)是一張規(guī)范化的二維表。
關(guān)系模型中的常用術(shù)語(yǔ)有:關(guān)系、元組、屬性、碼、域、分量、外碼和關(guān)系模式等。

關(guān)系( (relation):一個(gè)關(guān)系對(duì)應(yīng)一張二維表,每一個(gè)關(guān)系有一個(gè)名稱(chēng)即關(guān)系名。
元組(tupl):表中的一行稱(chēng)為一個(gè)元組。
屬性( attribute):表中的一列稱(chēng)為一個(gè)屬性,每一個(gè)屬性有一個(gè)名稱(chēng)即屬性名.
碼(key):也稱(chēng)為碼鍵,表中某個(gè)屬性或?qū)傩越M唯一地標(biāo)示表中一行。
域( domain):屬性的取值范圍。
分量(cman):元組中的一個(gè)屬性值。
外碼( foreign key):表中的某個(gè)屬性或?qū)傩越M,用來(lái)描述本關(guān)系中的元組(實(shí)體)與另一個(gè)關(guān)系中的元組(實(shí)體)之間的聯(lián)系,因
外碼的取值范圍對(duì)應(yīng)于另一個(gè)關(guān)系的碼的取值范圍的子集。
關(guān)系模式:通過(guò)關(guān)系名和屬性名列表對(duì)關(guān)系進(jìn)行描述,相當(dāng)于二維表地表頭部分。

關(guān)系模型的規(guī)范條件

  1. 關(guān)系模型要求每一個(gè)關(guān)系必須存在碼(關(guān)系中的某個(gè)屬性或?qū)傩越M),碼可以唯一地標(biāo)識(shí)關(guān)系中的一個(gè)元組,即一個(gè)關(guān)系中的任意兩個(gè)元組都是可區(qū)分的。
  2. 關(guān)系模型要求關(guān)系必須是規(guī)范化的,即關(guān)系的每一個(gè)分量必須是一個(gè)不可分的數(shù)據(jù)項(xiàng)。

關(guān)系模式地操作與完整性約束

關(guān)系數(shù)據(jù)模型的操作主要包括查詢(xún)和更新(插入、刪除和修改)。由于關(guān)系是一張二維表,可看作是元組的集合,因此關(guān)系模型的數(shù)據(jù)操作是集合操作,操作對(duì)象和操作結(jié)果都是關(guān)系(元組的集合),不同于傳統(tǒng)的非關(guān)系模型中的數(shù)據(jù)操作方式:單記錄操作。
關(guān)系數(shù)據(jù)模型的完整性約束包括實(shí)體完整性、參照完整性和用戶(hù)自定義完整性。

關(guān)系模式的優(yōu)缺點(diǎn)

關(guān)系數(shù)據(jù)模型的主要優(yōu)點(diǎn):
①關(guān)系模型建立在嚴(yán)格的數(shù)學(xué)概念的基礎(chǔ)之上,有關(guān)系代數(shù)作為語(yǔ)言模型,有關(guān)系數(shù)據(jù)理論作為理論基礎(chǔ)。
②關(guān)系模型的概念單一,無(wú)論實(shí)體還是實(shí)體之間的聯(lián)系都是用關(guān)系來(lái)表示,對(duì)數(shù)據(jù)(關(guān)系)的操作(查詢(xún)和更新)結(jié)果還是關(guān)系。
③關(guān)系模型的存取路徑對(duì)用戶(hù)透明,從而具有更高的數(shù)據(jù)獨(dú)立性、更好的安全保密性,也簡(jiǎn)化了程序員的工作,提高了軟件的開(kāi)發(fā)和維護(hù)效率。

7.數(shù)據(jù)抽象

數(shù)據(jù)庫(kù)管理系統(tǒng)的一個(gè)主要目的就是隱藏關(guān)于數(shù)據(jù)存儲(chǔ)和維護(hù)的某些細(xì)節(jié),為用戶(hù)提供數(shù)據(jù)在不同層次上的視圖,即數(shù)據(jù)抽象,方便不同的使用者從不同的角度去觀(guān)察和利用數(shù)據(jù)庫(kù)中的數(shù)據(jù)。數(shù)據(jù)庫(kù)管理系統(tǒng)的數(shù)據(jù)抽象一般包括物理層抽象、邏輯層抽象和視圖層抽象3個(gè)級(jí)別。

8. 數(shù)據(jù)庫(kù)的三級(jí)模式

對(duì)應(yīng)于數(shù)據(jù)抽象的3個(gè)級(jí)別,數(shù)據(jù)庫(kù)管理系統(tǒng)一般也提供觀(guān)察數(shù)據(jù)庫(kù)的3個(gè)不同角度,以方便不同的用戶(hù)使用數(shù)據(jù)庫(kù)的需要,這就是數(shù)據(jù)庫(kù)的三級(jí)模式:`內(nèi)模式、模式和外模式`。

內(nèi)模式也稱(chēng)存儲(chǔ)模式,對(duì)應(yīng)于物理層數(shù)據(jù)抽象,它是數(shù)據(jù)的物理結(jié)構(gòu)和存儲(chǔ)方式的描述,是數(shù)據(jù)在數(shù)據(jù)庫(kù)內(nèi)部的表示方式。
模式也稱(chēng)為邏輯模式,對(duì)應(yīng)于邏輯層數(shù)據(jù)抽象,是數(shù)據(jù)庫(kù)中全體數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述,是所有用戶(hù)的公共數(shù)據(jù)視圖。
外模式也稱(chēng)子模式或用戶(hù)模式,對(duì)應(yīng)于視圖層數(shù)據(jù)抽象,它是數(shù)據(jù)庫(kù)用戶(hù)(包括應(yīng)用程序員和最終用戶(hù))能夠看見(jiàn)和使用的局部數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述,是數(shù)據(jù)庫(kù)用戶(hù)的數(shù)據(jù)視圖,是與某一具體應(yīng)用有關(guān)的數(shù)據(jù)的邏輯表示。

9. 數(shù)據(jù)庫(kù)的兩層映像和數(shù)據(jù)獨(dú)立性

為了能夠在系統(tǒng)內(nèi)部實(shí)現(xiàn)3個(gè)抽象層次的數(shù)據(jù)之間的聯(lián)系和轉(zhuǎn)換,數(shù)據(jù)庫(kù)管理系統(tǒng)在數(shù)據(jù)庫(kù)的三級(jí)模式之間提供了兩層映像:外模式/模式映像、模式/內(nèi)模式映像
正是這兩層映像保證了數(shù)據(jù)庫(kù)中的數(shù)據(jù)能夠具有較高的邏輯獨(dú)立性和物理獨(dú)立性。

10.數(shù)據(jù)庫(kù)系統(tǒng)

數(shù)據(jù)庫(kù)系統(tǒng)是指在計(jì)算機(jī)系統(tǒng)中引入數(shù)據(jù)庫(kù)后的系統(tǒng),一般由數(shù)據(jù)庫(kù)、數(shù)據(jù)庫(kù)管理系統(tǒng)(及其應(yīng)用開(kāi)發(fā)工具)應(yīng)用系統(tǒng)、數(shù)據(jù)庫(kù)管理員和最終用戶(hù)構(gòu)成。數(shù)據(jù)庫(kù)的建立、使用和維護(hù)等工作不僅需要DBMS的支撐,還需要有專(zhuān)門(mén)的人員來(lái)完成,這些人員稱(chēng)為數(shù)據(jù)庫(kù)管理員(DBA)。

數(shù)據(jù)庫(kù)管理系統(tǒng)的主要功能包括
①數(shù)據(jù)定義,提供了數(shù)據(jù)定義語(yǔ)言DDL。
②數(shù)據(jù)組織、存儲(chǔ)和管理
③數(shù)據(jù)操縱,提供了數(shù)據(jù)操縱語(yǔ)言DML。
④數(shù)據(jù)庫(kù)的事務(wù)管理和運(yùn)行管理
⑤數(shù)據(jù)庫(kù)的建立和維護(hù)等

數(shù)據(jù)庫(kù)管理系統(tǒng)主要由數(shù)據(jù)庫(kù)以及查詢(xún)處理器、存儲(chǔ)管理器和事務(wù)管理器等部分組成。

開(kāi)發(fā)、管理和使用數(shù)據(jù)庫(kù)系統(tǒng)的人員主要有:數(shù)據(jù)庫(kù)管理員、系統(tǒng)分析員和數(shù)據(jù)庫(kù)設(shè)計(jì)人員、應(yīng)用程序員和最終用戶(hù)。數(shù)據(jù)庫(kù)管理員的主要職責(zé)包括:
①?zèng)Q定數(shù)據(jù)庫(kù)中的信息內(nèi)容和結(jié)構(gòu)。
②決定數(shù)據(jù)庫(kù)的存儲(chǔ)結(jié)構(gòu)和存取策略。
③定義數(shù)據(jù)的安全性要求和完整性約束條件。
④監(jiān)控?cái)?shù)據(jù)庫(kù)的使用和運(yùn)行。
⑤數(shù)據(jù)庫(kù)的改進(jìn)和重組重構(gòu)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀(guān)點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容