1. 數據和數據管理
- 描述事物的符號記錄稱為
數據
。數據管理
是對數據進行有效的分類、組織、編碼、存儲、檢索、維護和應用,它是數據處理的中心問題。數據庫管理系統
是由一個相互關聯的數據的集合和一組用以訪問、管理和控制這些數據的程序組成。這個數據集合通常稱為數據庫,其中包含了關于某個企業信息系統的所有信息。
2. 數據管理技術的產生和發展
數據管理技術的發展經歷了人工管理、文件系統和數據庫管理系統3個階段。
(1) 人工管理的特點:
①數據是面向程序的,一個數據集只能對應于一個程序。
②沒有專門的軟件負責數據處理工作。
③數據無法共享,數據冗余。
(2) 文件系統階段數據管理的主要特點:
①實現了文件內的結構性;
②應用程序與數據之間有了一定的物理獨立性。
文件系統階段數據管理存在的主要問題:
①數據共享性差,數據冗余和不一致;
②數據獨立性差;
③數據孤立,數據獲取困難;
④完整性問題;
⑤原子性問題;
⑥并發訪問異常;
⑦安全性問題。
其中,數據冗余是指相同的數據可能在不同的地方(文件)重復存儲。數據的完整性是指數據的正確性、有效性和相容性,也稱為一致性約束。
(3)數據庫管理系統階段數據管理的主要特點
①數據結構化。數據庫管理系統實現數據的整體結構化,一是指數據不僅僅是內部結構化,而是將數據以及數據之間的聯系統一管理起來,使之結構化;二是指在數據庫中的數據不是僅僅針對某一個應用,而是面向全組織的所有應用。
②數據的共享度高,冗余度低,易擴充。數據庫管理系統從整體角度描述和組織數據,數據不再是面向某個應用,而是面向整個系統,因此,數據可以被多個用戶、多個應用共享使用。
③數據獨立性高。數據獨立是指數據的使用(即應用程序)與數據的說明(即數據的組織結構與存儲方式)分離,使應用程序只考慮如何使用數據,而無須關心它們是如何構造和存儲的,因而各方(在一定范圍內)的變更互不影響。數據獨立性是用來描述應用程序與數據結構之間的依賴程度,包括數據的物理獨立性和數據的邏輯獨立性,依賴程度越低則獨立性越高。
物理獨立性
是指用戶的應用程序與數據庫中數據的物理結構是相互獨立的。也就是說,數據庫中的數據在磁盤上如何組織和存儲由DBMS負責,應用程序只關心數據的邏輯結構,這樣當數據的物理存儲結構改變時,應用程序不用修改。
邏輯獨立性
是指用戶的應用程序與數據庫中數據的邏輯結構是相互獨立的。也就是說,數據庫中數據的全局邏輯結構由DBMS負責,應用程序只關心數據的局部邏輯結構,數據的全局邏輯結構改變了,應用程序也可以不用修改。
④數據由數據庫管理系統統一管理和控制。包括數據的安全性保護、數據的完整性檢查、并發控制和數據庫恢復等。
數據庫管理系統的出現使信息系統從以加工數據的應用程序為中心的階段轉向圍繞共享的數據庫為中心的新階段。這樣既便于數據的集中管理,也有利于應用程序的開發和維護,提高了數據的利用率和相容性,提高了決策的可靠性。
3. 數據模型
數據模型是一個描述數據結構、數據操作以及數據約束的數學形式體系(即概念及其符號表示系統)。
數據結構
用于刻畫數據、數據語義以及數據與數據之間的聯系;
數據約束
是對數據結構和數據操作的一致性、完整性約束,也稱為數據完整性約束
通過數據模型可以對現實世界中具體事物的數據及其特征進行抽象、表示和處理。
4. 數據模型的分層
根據數據抽象的不同級別,可以將數據模型劃分為3類:概念模型、邏輯模型和物理模型。
①
概念模型
是指概念層次的數據模型,也稱為信息模型,它按用戶的觀點或認識對現實世界的數據和信息進行建模,主要用于數據庫設計。常用的概念模型有實體-聯系模型(簡稱為ER模型)和面向對象模型(簡稱為OO模型)。
概念模型是一種獨立于計算機系統的模型。它不涉及信息在系統中的表示,只是用來描述某個特定組織所關心的信息結構。概念模型強調語義表達功能,它是現實世界的第一層抽象。
②邏輯模型
用來描述數據庫數據的整體邏輯結構,是現實世界的第二層抽象。傳統的邏輯數據模型有層次模型、網狀模型和關系模型,非傳統的邏輯數據模型有面向對象模型、XML模型等。
③物理模型
用來描述數據的物理存儲結構和存取方法。
通過數據模型對現實世界中具體事物的數據需求進行建模,可以更好地抓住主要矛盾,便于理解用戶的數據需求,便于表達數據及數據之間聯系的語義、數據的操作和數據的完整性約束,便于實現從現實世界到信息世界、信息世界到邏輯機器世界、邏輯機器世界到物理機器世界的逐步轉換。
5.數據模型的組成要素
數據模型通常由數據結構、數據操作和數據完整性約束3部分組成。
①
數據結構
描述數據庫的組成對象(實體)以及對象之間的聯系,是對系統靜態特性的描述。包括對象的類型內容和性質(如關系模型中的域、屬性、關系模式和碼等),以及對象之間的聯系(如關系模型中的外碼)。
②數據操作
是指對數據庫中各種對象(型)的實例(值)允許執行的操作的集合,包括操作及有關的操作規則。它是對系統動態特性的描述。
③數據完整性約束
是一組數據完整性規則。數據完整性規則是數據、數據語義和數據聯系所具有的制約和依存規則,包括數據結構完整性規則和數據操作完整性規則,用以限定符合數據模型的數據庫狀態以及狀態的變化,以保證數據的正確、有效和相容。
6. 關系模型
關系模型由一組關系組成,每個關系的數據結構是一張規范化的二維表。
關系模型中的常用術語有:關系、元組、屬性、碼、域、分量、外碼和關系模式等。
關系( (relation)
:一個關系對應一張二維表,每一個關系有一個名稱即關系名。
元組(tupl)
:表中的一行稱為一個元組。
屬性( attribute)
:表中的一列稱為一個屬性,每一個屬性有一個名稱即屬性名.
碼(key)
:也稱為碼鍵,表中某個屬性或屬性組唯一地標示表中一行。
域( domain)
:屬性的取值范圍。
分量(cman)
:元組中的一個屬性值。
外碼( foreign key)
:表中的某個屬性或屬性組,用來描述本關系中的元組(實體)與另一個關系中的元組(實體)之間的聯系,因
外碼的取值范圍對應于另一個關系的碼的取值范圍的子集。
關系模式
:通過關系名和屬性名列表對關系進行描述,相當于二維表地表頭部分。
關系模型的規范條件
- 關系模型要求每一個關系必須存在碼(關系中的某個屬性或屬性組),碼可以唯一地標識關系中的一個元組,即一個關系中的任意兩個元組都是可區分的。
- 關系模型要求關系必須是規范化的,即關系的每一個分量必須是一個不可分的數據項。
關系模式地操作與完整性約束
關系數據模型的操作主要包括查詢和更新(插入、刪除和修改)。由于關系是一張二維表,可看作是元組的集合,因此關系模型的數據操作是集合操作,操作對象和操作結果都是關系(元組的集合),不同于傳統的非關系模型中的數據操作方式:單記錄操作。
關系數據模型的完整性約束包括實體完整性、參照完整性和用戶自定義完整性。
關系模式的優缺點
關系數據模型的主要優點:
①關系模型建立在嚴格的數學概念的基礎之上,有關系代數作為語言模型,有關系數據理論作為理論基礎。
②關系模型的概念單一,無論實體還是實體之間的聯系都是用關系來表示,對數據(關系)的操作(查詢和更新)結果還是關系。
③關系模型的存取路徑對用戶透明,從而具有更高的數據獨立性、更好的安全保密性,也簡化了程序員的工作,提高了軟件的開發和維護效率。
7.數據抽象
數據庫管理系統的一個主要目的就是隱藏關于數據存儲和維護的某些細節,為用戶提供數據在不同層次上的視圖,即數據抽象,方便不同的使用者從不同的角度去觀察和利用數據庫中的數據。數據庫管理系統的數據抽象一般包括物理層抽象、邏輯層抽象和視圖層抽象3個級別。
8. 數據庫的三級模式
對應于數據抽象的3個級別,數據庫管理系統一般也提供觀察數據庫的3個不同角度,以方便不同的用戶使用數據庫的需要,這就是數據庫的三級模式:`內模式、模式和外模式`。
內模式
也稱存儲模式,對應于物理層數據抽象,它是數據的物理結構和存儲方式的描述,是數據在數據庫內部的表示方式。
模式
也稱為邏輯模式,對應于邏輯層數據抽象,是數據庫中全體數據的邏輯結構和特征的描述,是所有用戶的公共數據視圖。
外模式
也稱子模式或用戶模式,對應于視圖層數據抽象,它是數據庫用戶(包括應用程序員和最終用戶)能夠看見和使用的局部數據的邏輯結構和特征的描述,是數據庫用戶的數據視圖,是與某一具體應用有關的數據的邏輯表示。
9. 數據庫的兩層映像和數據獨立性
為了能夠在系統內部實現3個抽象層次的數據之間的聯系和轉換,數據庫管理系統在數據庫的三級模式之間提供了兩層映像:外模式/模式映像、模式/內模式映像
。
正是這兩層映像保證了數據庫中的數據能夠具有較高的邏輯獨立性和物理獨立性。
10.數據庫系統
數據庫系統
是指在計算機系統中引入數據庫后的系統,一般由數據庫、數據庫管理系統(及其應用開發工具)應用系統、數據庫管理員和最終用戶構成。數據庫的建立、使用和維護等工作不僅需要DBMS的支撐,還需要有專門的人員來完成,這些人員稱為數據庫管理員(DBA)。
數據庫管理系統的主要功能包括
①數據定義,提供了數據定義語言DDL。
②數據組織、存儲和管理
③數據操縱,提供了數據操縱語言DML。
④數據庫的事務管理和運行管理
⑤數據庫的建立和維護等
數據庫管理系統主要由數據庫以及查詢處理器、存儲管理器和事務管理器等部分組成。
開發、管理和使用數據庫系統的人員主要有:數據庫管理員、系統分析員和數據庫設計人員、應用程序員和最終用戶。數據庫管理員的主要職責包括:
①決定數據庫中的信息內容和結構。
②決定數據庫的存儲結構和存取策略。
③定義數據的安全性要求和完整性約束條件。
④監控數據庫的使用和運行。
⑤數據庫的改進和重組重構