《資料庫系統概論》第一章筆記
《資料庫系統概論》第一章筆記
本書第一章,介紹了一些資料庫的基本概念,是理解後序章節的基礎。
筆記基本上對這些基礎概念的摘錄。
做筆記的目的,一是加深記憶和理解,二是方便以後資料查詢。
本章難點
- 資料庫系統的四個基本概念
- 資料的邏輯獨立性和物理獨立性
- 資料模型的相關概念
1.1 資料庫系統概述
1.1 資料庫系統的4個基本概念
資料(Data)
資料庫(DB)
資料庫管理系統(DBMS)
資料庫系統(DBS)
資料:
定義:描述事物的符號記錄稱為資料。
資料的含義稱為資料的語義,資料與其語義是不可分的。
資料庫:
定義:資料庫是長期儲存在計算機內、有組織的,可共享的大量資料的集合。
特點:
永久儲存
有組織 (按一定的資料模型組織、描述和儲存,具有較小的冗餘度、較高的資料獨立性和易擴充套件性)
可共享 (資料庫中的資料能在保持一致性的前提下,同時為多個應用程式使用)
資料庫管理系統
定義:DBMS是位於使用者和作業系統之間的一層資料管理軟體。
主要功能:
資料定義功能
資料定義語言(DDL),實現表結構的修改等
資料組織、儲存和管理
確定以何種檔案結構和儲存方式來組織資料,提高儲存空間利用率和方便存取
資料操縱功能
資料操縱語言(DML),實現增刪改查等
資料庫的事務管理和執行管理
保證事務的正確執行,確保資料的安全性、完整性和併發一致性,以及發生故障後的系統恢復
資料庫的建立和維護功能
建立:初始資料輸入、資料庫轉儲、恢復功能
維護:效能監視、分析功能等
其他功能
與其他軟體系統的通訊功能
不同資料庫系統之間資料轉換功能
異構資料庫之間互訪和互操作功能等
資料庫系統
定義: DBS是由資料庫**、資料庫管理系統(及其應用開發工具)、應用程式和資料庫管理員組成的儲存、管理、處理和維護資料的系統。
1.1.2 資料管理技術的三個發展階段
人工管理階段
檔案系統階段
資料庫系統階段
人工管理階段
特點:
資料不儲存
指不儲存在計算機上,比如儲存在紙帶上的資料,拿過來輸入,跑完程式直接拿走
應用程式管理資料
比如程式將資料寫到紙帶上,資料怎樣的組織形式,完全由程式設計師編寫的程式碼決定
資料不共享
資料集與程式一對一,同一資料集無法同時在跑在多個程式上
資料不具有獨立性
資料結構修改後,對應的應用程式必須做相應的修改。資料依賴於應用程式,缺乏獨立性
檔案系統階段
特點:
資料可以長期儲存
磁碟屬於計算機的一部分,資料可長期儲存在計算機上
由檔案系統管理資料
檔案系統把資料組織成相互獨立的資料檔案,提供檔案的開啟、關閉、存取等功能
感覺單個檔案內的資料,還是由應用程式來管理
缺點:
資料共享性差,冗餘度大
單個檔案與應用程式一對一,同一資料要想被多個程式使用,需冗餘地建立多個檔案與之對應
資料獨立性差
檔案內的資料結構修改,對應程式也需修改
資料庫系統階段
背景:
硬體價格下降,軟體價格上升(資料儲存成本降低,軟體維護成本升高,要求資料獨立性更強)
聯機實時處理要求增多
多使用者、多應用共享資料的需求增多
特點:
- 共享性高,冗餘度小.
- 具有高度的物理獨立性和一定的邏輯獨立性
物理獨立性 指使用者程式與資料庫中資料的物理儲存是相互獨立的。應用程式處理的只是資料的邏輯結構。
邏輯獨立性 指使用者程式與資料庫中資料的邏輯結構相互獨立。
-
整體結構化,用資料模型描述
-
由資料庫管理系統管理資料
-
資料安全性保護
-
資料完整性保護
-
併發控制
-
資料庫恢復
1.2 資料模型
定義:
- 資料模型是對現實世界資料的特徵抽象。
- 資料模型是用來描述資料、組織資料、和對資料進行操作的。
- 資料模型是資料庫系統的核心和基礎
資料模型應滿足三方面的要求:
- 能比較真是的模擬顯式世界
- 能容易為人所理解
- 便於在計算機上實現
單一資料模型很難同時滿足以上要求。
資料庫系統中,針對不同的使用物件和應用目的,採用不同的資料模型。
1.2.1 兩類資料模型
根據模型應用的不同目的,分為兩大類(層次):
概念模型
也稱資訊模型,按照使用者觀點對資料和資訊建模,主要用於資料庫設計
邏輯模型和物理模型
邏輯模型
按計算機系統的觀點對資料進行建模,主要用於資料庫管理系統的實現
分類
- 層次模型
- 網狀模型
- 關係模型
- 物件導向資料模型
- 物件關係資料模型
- 半結構化資料模型
- 物理模型
對資料最底層的抽象,描述資料在系統內部的表示方式和存取方法,是面向計算機系統的
1.2.2 概念模型
用於資訊世界的建模,是顯示世界到資訊世界的第一層抽象。
資訊世界的一些基本概念:
實體(entity)
客觀存在並可相互區別的事物稱為實體。
對應資料表中的一條完整資料
例如,一條完整的學生資訊
屬性(attribute)
實體所具有的某一特性稱為屬性。
對應資料表中的列
例如,性別
碼(key)
唯一表示實體的屬性集稱為碼。
例如,學號
實體型(entity type)
具有相同屬性的實體必然具有共同的特徵和性質。用實體名及其屬性名集合來抽象和刻畫同類實體,稱為實體型
例如,學生(學號,姓名,性別,出生年月,所在院系,入學年份)
實體集(entity set)
同一型別實體集合稱為實體集。
例如,全體學生就是一個實體集
聯絡(relationship)
實體內部的聯絡指組成實體的各屬性之間的聯絡。
實體之間的聯絡通常指不同實體集之間的聯絡,即不同表之間的聯絡。
實體之間的聯絡有一對一、一對多、多對多等多種聯絡。
概念模型的一種表示方法:
實體-聯絡方法
該方法用E-R圖來描述顯示世界的概念模型,E-R方法也稱為E-R模型。
1.2.3 資料模型的組成要素
資料模型由以下三部分組成:
- 資料結構
- 資料操作
- 資料完整性約束
分別描述了系統的靜態特性、動態特性和完整性約束。
資料結構
資料結構描述了資料庫的組成物件以及物件之間的聯絡。按描述內容分為兩類
一類是與物件的型別、內容、性質有關的。如,關係模型中的域、屬性、關係等
一類是與資料之間聯絡有關的物件。如,網狀模型中的系型(set type)
資料模型可按資料結構劃分為:
- 層次模型
- 網狀模型
- 關係模型
資料操作
資料操作是指資料庫中各種給物件的例項允許執行的操作的集合,包括操作以及有關的操作規則。分為兩大類操作:
- 查詢
- 更新(包括插入、刪除、修改)
資料模型必須定義這些操作的確切含義、操作符號、操作規則(如優先順序)以及實現操作的語言。
資料的完整性約束條件
資料的完整型性約束條件是一組完整性規則。
完整性規則指資料及其聯絡所具有的制約和依存規則:
用於限定資料庫狀態以及狀態的變化
以保證資料的正確、有效和相容
資料模型應該反映和規定其必須遵守的基本的和通用的完整性約束條件。如,關係模型中,任何關係必須滿足實體完整性和參照完整性兩個條件。
1.2.4 常用的資料模型
資料庫領域中主要的邏輯資料模型有:
層次模型
網狀模型
關係模型
面型物件的資料模型
物件關係資料模型
半結構化資料模型
1.2.5 層次模型
層次模型用樹形機構來表示各類實體以及實體間的聯絡。
層次模型的資料結構
在資料庫中定義滿足下面兩個條件的基本層次聯絡的集合為層次模型:
有且只有一個節點沒有雙親節點,這個節點稱為根節點;
根節點外的其他節點有且只有一個雙親節點。
在層次資料庫中每個節點表示一個記錄型別,由定義可知,父子節點之間的聯絡是一種一對多的聯絡。
層次模型只能處理一對多的實體聯絡。
層次模型的資料操縱與完整性約束
層次模型的資料操縱主要由查詢、插入、刪除和更新。
在進行插入、刪除、更新操作時要滿足層次模型的完整性約束條件:
插入時,如果沒有雙親節點值,就不能插入它的子女節點值
刪除時,如果刪除雙親節點值,則相應的子女節點值也將被同時刪除。
層次模型的優缺點
優點
層次模型的資料結構比較簡單清晰
層次資料庫的查詢效率高。(查詢效能優於關聯式資料庫,不低於網狀資料庫)
缺點
不適合描述實體間非層次性的聯絡。如多對多的聯絡
可以通過引入冗餘資料或者引入虛擬節點等來解決,但是會引發新的問題。如,容易產生資料不一致性,對插入和刪除操作的限制比較多等。
查詢子女節點必須通過雙親節點
由於結構嚴密,層次命令趨於程式化
1.2.6 網狀模型
克服了層次模型不是和表示非樹形結構的弊病,能夠描述實體之間更復雜的聯絡(一對一、一對多、多對多)
網狀模型的資料結構
在資料庫中,把滿足以下兩個條件的基本層次聯絡集合稱為網狀模型:
允許一個以上的節點無雙親。
一個節點可以有多於一個的雙親。
網狀模型去掉了層次模型的兩個限制,更具有普遍性。
網狀模型的優缺點
優點
能夠更為直接地描述現實世界(節點可以有多個雙親,節點之間可以由多種聯絡)
具有良好地效能,存取效率高
缺點
結構比較複雜,應用場景越大,資料庫結構越複雜
網狀模型中的DDL、DML複雜,使用者不容易掌握
由於記錄之間的聯絡是通過存取路徑實現的,應用程式在訪問資料時必須選擇適當的存取路徑,因此使用者必須瞭解系統結構的細節,加重了編寫應用程式的負擔。
1.2.7 關係模型
關係模型是最重要的一種資料模型。
關係模型的資料結構
從使用者的觀點看,關係模型由一組關係組成。
每個關係的資料結構是一張規範化的二維表。
關係模型中的常見術語:
- 關係(relation):一個關係對應通常說的一張表。
- 元組(tuple):表中的一行即為一個元組。
- 屬性(attribute):表中的一列即為一個屬性。
- 碼(key):也成碼鍵,表中的某個屬性組,它可以唯一確定一個元組。
- 域(domain):一組具有相同資料型別的值的集合。屬性的取值範圍來自某個域。
- 分量:元組中的一個屬性值。
關係模式:對關係的描述,一般表示為:關係名(屬性1,屬性2,…,屬性n)
關係模型的資料操縱與完整性約束
關係的完整性約束條件包括三大類:
- 實體完整性
- 參照完整性
- 使用者定義完整性
關係模型的優缺點
優點
關係模型與格式化模型(層次和網狀)不同,它是建立在嚴格的數學概念基礎上的。
關係模型的概念單一。無論實體還是實體之間的聯絡都用關係來表示。對資料的檢索和更新結果也是關係(即表)。
關係模型的存取路徑對使用者透明,從而具有更高的資料獨立性、更好的安全保密性,簡化了程式設計師的工作。
缺點
由於儲存路徑對使用者隱蔽,查詢效率往往不如格式化資料模型
為了提高效能,資料庫管理系統必須對使用者請求進行優化,因此增加了資料庫關係系統的開發難度。
1.3 資料庫系統的結構
1.3.1 資料庫系統模式的概念
資料模型中,由“型”(type)和“值”(value)的概念。
型是指某一類資料的結構和屬性的屬性。如,學生記錄定義為(學號,姓名,…)這樣的記錄型。
值是型的一個具體賦值。如,(201315130,李明,…)則是該記錄型的一個記錄值。
模式
模式是資料庫中全體資料的邏輯結構和特徵的描述。僅涉及型的描述,不涉及具體值。
模式的一個具體值稱為模式的一個例項。
同一模式可以有很多例項
模式是相對穩定的,而例項是相對變動的
1.3.2 資料庫系統的三級模式結構
資料庫系統的三級模式結構是指資料庫系統是由外模式、模式和內模式三級構成。
資料庫系統的三級模式是資料的三個抽象級別。
三級模式的作用:
把資料的具體組織留給資料庫管理系統來管理,使使用者能邏輯地、抽象地處理資料,而不必關心資料在計算機中地具體表示方式和儲存方式。
模式
模式也稱邏輯模式,是資料庫中全體資料的邏輯結構和特徵的描述,是所有使用者的公共資料檢視。
一個資料庫只有一個模式。
資料庫模式以某一中資料模型為基礎,統一綜合地考慮了所有使用者地需求,並將這些需求有機地結合成一個邏輯整體。
定義模式時:
不僅要定義資料地邏輯結構,例如:
資料記錄由哪些資料項構成
資料項的名字、型別、取值範圍等
而且要定義資料之間的聯絡,定義與資料有關的安全性、完整性要求。
外模式
外模式也稱為子模式或使用者模式。
它是資料庫使用者(包括應用程式設計師和終端使用者),能夠看見和使用的區域性資料的邏輯結構和特徵的描述。是資料庫使用者的資料檢視。
外模式是模式的子集。
特點:
如果不同使用者在應用需求、看待資料的方式、對資料保密的要求等各方面存在差異,則其外模式描述就是不同的。
同一外模式也可以被某一使用者的多個應用系統所使用,但是一個應用只能使用一個外模式。
優點:
外模式是保證資料庫安全性的一個有力措施,每個使用者只能看見和訪問所對應的外模式,資料庫中的其餘資料是不可見的。
內模式
定義:
內模式也稱儲存模式,一個資料庫只有一個內模式。
它是資料物理結構和儲存方式的描述,是資料在資料庫內部的組織方式。
例如:它定義了記錄的儲存方式是堆儲存還是按照某個屬性值的升(降)序儲存;索引按什麼方式組織等。
1.3.3 資料庫的二級映像功能與資料獨立性
二級映像:
- 外模式/模式映像
- 模式/內模式映像
分別處於三級模式之間。
作用:
- 用於在系統內部實現三個抽象層次地聯絡和轉換。
- 保證了資料庫系統中地資料能夠具有較高的邏輯獨立性和物理獨立性。
外模式/模式映像
模式描述的使資料的全域性邏輯結構,外模式描述的使資料的區域性邏輯結構。
定義:
對於每個外模式,資料庫系統都有一個外模式/模式映像,它定義了該外模式與模式之間的對應關係。
這些映像通常包含在各自外模式的描述中
作用:
模式修改時,可以通過修改該映像,使外模式不變,從而應用程式不必修改,保證了資料的邏輯獨立性。
模式/內模式映像
定義:
資料庫中模式/內模式映像是唯一的,它定義了資料全域性邏輯結構與儲存結構之間的對應關係。
該映像通常包含在模式的描述中。
作用:
資料的儲存結構改變時,可以通過修改該映像,使模式不變,從而應用程式也不必改變,保證了資料的物理獨立性。
補充:
外模式 對應 資料的區域性邏輯結構
外模式\模式映像 指模式與外模式之間的對應關係(使模式改變時,只改變映像即可,避免了程式的改動,保證了資料的邏輯獨立性)
模式 對應 資料的全域性邏輯結構
模式\內模式映像 指內模式與模式之間對應的關係(使內模式改變時,只改變它們之間的映像即可,避免了改動模式,保證了資料的物理獨立性)
內模式 對應 資料的物理儲存結構
相關文章
- 資料庫系統概論 第一章 緒論資料庫
- 《資料庫系統概論》 (第4版) 個人筆記資料庫筆記
- 【資料庫系統】資料庫系統概論====第十三章 資料庫技術發展資料庫
- 實驗課程名稱:資料庫系統概論資料庫
- 資料庫概論 (一)資料庫概念資料庫
- 資料庫事務概論資料庫
- 《資料庫系統概論》5.0——常見約束 大學生學習筆記(主鍵 外來鍵)資料庫筆記
- 王珊資料庫系統概論第5版視訊教材資料庫
- 《佛學概論》筆記筆記
- 《資料庫系統原理》課程筆記資料庫筆記
- 《資料庫系統實現》讀書筆記資料庫筆記
- MySQL資料庫初級學習筆記---第一章-資料庫概述MySql資料庫筆記
- Oracle資料庫概論及就業前景Oracle資料庫就業
- 02323作業系統概論 第一章 作業系統簡介作業系統
- 資料庫系統架構討論資料庫架構
- 大資料概論(2)大資料
- 資料倉儲概論
- PMBOK筆記-第一章 緒論筆記
- 易學筆記-系統分析師考試-第5章 資料庫系統/5.1 資料庫模式/筆記資料庫模式
- linux檔案系統概論Linux
- 隨機過程學習筆記——概論隨機筆記
- 大資料技術概論大資料
- 作業系統1—作業系統概論(上)作業系統
- 作業系統2—作業系統概論(下)作業系統
- 大資料技術之大資料概論大資料
- 許可權系統設計--概論
- 唐朔飛《計算機組成原理》第一章-計算機系統概論計算機
- 概覽資料庫索引資料庫索引
- 關於資料庫作業系統的討論資料庫作業系統
- 【大資料】BigTable分散式資料儲存系統分散式資料庫 | 複習筆記大資料分散式資料庫筆記
- 軟體工程概論——課程匯入介面以及資料匯入資料庫軟體工程資料庫
- 大資料與雲端計算概論大資料
- 大資料 機器學習 演算法概論大資料機器學習演算法
- 第一章-----作業系統導論作業系統
- 李巨集毅機器學習課程筆記-1.機器學習概論機器學習筆記
- laravel筆記+資料庫操作Laravel筆記資料庫
- 資料庫學習筆記資料庫筆記
- PHP筆記--資料庫操作PHP筆記資料庫