【数据库复习】第一章绪论
目錄
- 一、數(shù)據(jù)庫系統(tǒng)概述
- 1.1四個基本概念
- 1.2數(shù)據(jù)庫管理技術的產(chǎn)生和發(fā)展
- 1.3數(shù)據(jù)庫系統(tǒng)的特點
- 二、數(shù)據(jù)模型
- 2.1兩類數(shù)據(jù)模型
- 2.2概念模型
- 2.3 數(shù)據(jù)模型的組成要素
- 2.4常用的數(shù)據(jù)模型
- 2.5層次模型
- 2.6網(wǎng)狀模型
- 2.7關系模型
- 三、數(shù)據(jù)庫系統(tǒng)的結(jié)構
- 3.1 數(shù)據(jù)庫系統(tǒng)模式的概念
- 3.2 數(shù)據(jù)庫系統(tǒng)的三級模式結(jié)構
- 3.3 數(shù)據(jù)庫的二級映像功能與數(shù)據(jù)獨立性
- 四、數(shù)據(jù)庫系統(tǒng)的組成
一、數(shù)據(jù)庫系統(tǒng)概述
1.1四個基本概念
數(shù)據(jù):數(shù)據(jù)庫中存儲的基本對象
數(shù)據(jù)的定義:描述事物的符號記錄
數(shù)據(jù)的種類:數(shù)字、文字、圖形、圖像、音頻、視頻、學生的檔案記錄等
數(shù)據(jù)舉例:學生檔案中的學生記錄(李明,男,199505,江蘇南京市,計算機系,2013)語義:學生姓名、性別、出生年月、出生地、所在院系、入學時間解釋:李明是個大學生,1995年5月出生,江蘇南京市人, 2013年考入計算機系
數(shù)據(jù)庫
定義:長期存儲在計算機內(nèi)、有組織、可共享的大量數(shù)據(jù)的集合
基本特征:
- 數(shù)據(jù)按一定的數(shù)據(jù)模型組織、描述和儲存
- 可為各種用戶共享
- 冗余度較小
- 數(shù)據(jù)獨立性較高
- 易擴展
數(shù)據(jù)庫管理系統(tǒng)
描述:
- 位于用戶與操作系統(tǒng)之間的一層數(shù)據(jù)管理軟件;是基礎軟件,是一個大型復雜的軟件系統(tǒng)
用途:
- 科學地組織和存儲數(shù)據(jù)、高效地獲取和維護數(shù)據(jù)
功能:
- 數(shù)據(jù)定義功能:提供數(shù)據(jù)定義語言(DDL)定義數(shù)據(jù)庫中的數(shù)據(jù)對象
- 數(shù)據(jù)組織、存儲和管理:分類組織、存儲和管理各種數(shù)據(jù);確定組織數(shù)據(jù)的文件結(jié)構和存取方式;實現(xiàn)數(shù)據(jù)之間的聯(lián)系;提供多種存取方法提高存取效率
- 數(shù)據(jù)操縱功能:提供數(shù)據(jù)操縱語言(DML);實現(xiàn)對數(shù)據(jù)庫的基本操作 (查詢、插入、刪除和修改)
- 數(shù)據(jù)庫的事務管理和運行控制:數(shù)據(jù)庫在建立、運行和維護時由數(shù)據(jù)庫管理系統(tǒng)統(tǒng)一管理和控制;保證數(shù)據(jù)的安全性、完整性、多用戶對數(shù)據(jù)的并發(fā)使用;發(fā)生故障后的系統(tǒng)恢復
- 數(shù)據(jù)庫的建立和維護功能:數(shù)據(jù)庫初始數(shù)據(jù)的裝載和轉(zhuǎn)換;數(shù)據(jù)庫轉(zhuǎn)儲、恢復功能;數(shù)據(jù)庫的重組織;性能監(jiān)視、分析等
- 其他功能:數(shù)據(jù)庫管理系統(tǒng)與網(wǎng)絡中其它軟件系統(tǒng)的通信;數(shù)據(jù)庫管理系統(tǒng)系統(tǒng)之間的數(shù)據(jù)轉(zhuǎn)換;異構數(shù)據(jù)庫之間的互訪和互操作
數(shù)據(jù)庫系統(tǒng)
構成:
1.2數(shù)據(jù)庫管理技術的產(chǎn)生和發(fā)展
數(shù)據(jù)管理:
- 對數(shù)據(jù)進行分類、組織、編碼、存儲、檢索和維護
- 數(shù)據(jù)處理的中心問題
發(fā)展過程:
- 人工管理階段(20世紀50年代中之前)
- 文件系統(tǒng)階段(20世紀50年代末–60年代中)
- 數(shù)據(jù)庫系統(tǒng)階段(20世紀60年代末–現(xiàn)在)
發(fā)展動力:
- 應用需求的推動
- 計算機硬件的發(fā)展
- 計算機軟件的發(fā)展
1.3數(shù)據(jù)庫系統(tǒng)的特點
數(shù)據(jù)結(jié)構化
數(shù)據(jù)的整體結(jié)構化是數(shù)據(jù)庫的主要特征之一
整體結(jié)構化:不再僅僅針對某一個應用,而是面向全組織;不僅數(shù)據(jù)內(nèi)部結(jié)構化,整體是結(jié)構化的,數(shù)據(jù)之間具有聯(lián)系;數(shù)據(jù)記錄可以變長;數(shù)據(jù)的最小存取單位是數(shù)據(jù)項
數(shù)據(jù)的用數(shù)據(jù)模型加粗樣式描述,無需應用程序定義
數(shù)據(jù)的共享性高,冗余度低且易擴充
數(shù)據(jù)面向整個系統(tǒng),可以被多個用戶、多個應用共享使用。
數(shù)據(jù)共享的好處:減少數(shù)據(jù)冗余,節(jié)約存儲空間;避免數(shù)據(jù)之間的不相容性與不一致性 ‘使系統(tǒng)易于擴充
數(shù)據(jù)獨立性高
物理獨立性:指用戶的應用程序與數(shù)據(jù)庫中數(shù)據(jù)的物理存儲是相互獨立的。當數(shù)據(jù)的物理存儲改變了,應用程序不用改變。
邏輯獨立性:指用戶的應用程序與數(shù)據(jù)庫的邏輯結(jié)構是相互獨立的。數(shù)據(jù)的邏輯結(jié)構改變了,應用程序不用改變。
數(shù)據(jù)獨立性由數(shù)據(jù)庫管理系統(tǒng)的二級映像功能來保證/
數(shù)據(jù)由數(shù)據(jù)庫管理系統(tǒng)統(tǒng)一管理和控制
數(shù)據(jù)庫管理系統(tǒng)提供的數(shù)據(jù)控制功能
(1)數(shù)據(jù)的安全性(Security)保護
保護數(shù)據(jù)以防止不合法的使用造成的數(shù)據(jù)的泄密和破壞。
(2)數(shù)據(jù)的完整性(Integrity)檢查
保證數(shù)據(jù)的正確性、有效性和相容性。
(3)并發(fā)(Concurrency)控制
對多用戶的并發(fā)操作加以控制和協(xié)調(diào),防止相互干擾而得到錯誤的結(jié)果。
(4)數(shù)據(jù)庫恢復(Recovery)
將數(shù)據(jù)庫從錯誤狀態(tài)恢復到某一已知的正確狀態(tài)。
二、數(shù)據(jù)模型
2.1兩類數(shù)據(jù)模型
**概念模型:**也稱信息模型,它是按用戶的觀點來對數(shù)據(jù)和信息建模,用于數(shù)據(jù)庫設計。
邏輯模型和物理模型:
- 邏輯模型主要包括網(wǎng)狀模型、層次模型、關系模型、面向?qū)ο髷?shù)據(jù)模型、對象關系數(shù)據(jù)模型、半結(jié)構化數(shù)據(jù)模型等。按計算機系統(tǒng)的觀點對數(shù)據(jù)建模,用于DBMS實現(xiàn)。
- 物理模型是對數(shù)據(jù)最底層的抽象,描述數(shù)據(jù)在系統(tǒng)內(nèi)部的表示方式和存取方法,在磁盤或磁帶上的存儲方式和存取方法。
客觀對象的抽象過程—兩步抽象
- 現(xiàn)實世界中的客觀對象抽象為概念模型; 將現(xiàn)實世界抽象為信息世界
- 把概念模型轉(zhuǎn)換為某一數(shù)據(jù)庫管理系統(tǒng)支持的數(shù)據(jù)模型;將信息世界轉(zhuǎn)換為機器世界
2.2概念模型
用途:
- 概念模型用于信息世界的建模
- 是現(xiàn)實世界到機器世界的一個中間層次
- 是數(shù)據(jù)庫設計的有力工具
- 數(shù)據(jù)庫設計人員和用戶之間進行交流的語言
對概念模型的基本要求:
- 較強的語義表達能力
- 簡單、清晰、易于用戶理解
信息世界中的基本概念:
- 實體(Entity) :客觀存在并可相互區(qū)別的事物稱為實體。可以是具體的人、事、物或抽象的概念。
- 屬性(Attribute) :實體所具有的某一特性稱為屬性。一個實體可以由若干個屬性來刻畫。
- 碼(Key): 唯一標識實體的屬性集稱為碼。
- 實體型(Entity Type):用實體名及其屬性名集合來抽象和刻畫同類實體稱為實體型
- 實體集(Entity Set) :同一類型實體的集合稱為實體集
- 聯(lián)系(Relationship): 現(xiàn)實世界中事物內(nèi)部以及事物之間的聯(lián)系在信息世界中反映為實體(型)內(nèi)部的聯(lián)系和實體(型)之間的聯(lián)系。實體內(nèi)部的聯(lián)系通常是指組成實體的各屬性之間的聯(lián)系。實體之間的聯(lián)系通常是指不同實體集之間的聯(lián)系。實體之間的聯(lián)系有一對一、一對多和多對多等多種類型
實體-聯(lián)系方法(Entity-Relationship Approach):
- 用E-R圖來描述現(xiàn)實世界的概念模型
- E-R方法也稱為E-R模型
2.3 數(shù)據(jù)模型的組成要素
數(shù)據(jù)結(jié)構:
數(shù)據(jù)模型的數(shù)據(jù)結(jié)構:描述數(shù)據(jù)庫的組成對象,以及對象之間的聯(lián)系
描述的內(nèi)容
數(shù)據(jù)結(jié)構是對系統(tǒng)靜態(tài)特性的描述。
數(shù)據(jù)操作:
對數(shù)據(jù)庫中各種對象(型)的實例(值)允許執(zhí)行的操作的集合,包括操作及有關的操作規(guī)則
數(shù)據(jù)操作的類型:查詢、更新(包括插入、刪除、修改)
數(shù)據(jù)模型對操作的定義:操作的確切含義、操作符號、操作規(guī)則(如優(yōu)先級)、實現(xiàn)操作的語言
數(shù)據(jù)操作是對系統(tǒng)動態(tài)特性的描述。
數(shù)據(jù)的完整性約束條件:
- 一組完整性規(guī)則的集合
- 完整性規(guī)則:給定的數(shù)據(jù)模型中數(shù)據(jù)及其聯(lián)系所具有的制約和依存規(guī)則
- 用以限定符合數(shù)據(jù)模型的數(shù)據(jù)庫狀態(tài)以及狀態(tài)的變化,以保證數(shù)據(jù)的正確、有效和相容
數(shù)據(jù)模型對完整性約束條件的定義:
- 反映和規(guī)定必須遵守的基本的通用的完整性約束條件。
- 提供定義完整性約束條件的機制,以反映具體應用所涉及的數(shù)據(jù)必須遵守的特定的語義約束條件。
2.4常用的數(shù)據(jù)模型
- 層次模型(Hierarchical Model)
- 網(wǎng)狀模型(Network Model)
- 關系模型(Relational Model))
- 面向?qū)ο髷?shù)據(jù)模型(Object Oriented Data Model)
- 對象關系數(shù)據(jù)模型(Object Relational Data Model)
- 半結(jié)構化數(shù)據(jù)模型(Semistruture Data Model)
2.5層次模型
數(shù)據(jù)庫系統(tǒng)中最早出現(xiàn)的數(shù)據(jù)模型
層次數(shù)據(jù)庫系統(tǒng)的典型代表是IBM公司的IMS(Information Management System)數(shù)據(jù)庫管理系統(tǒng)
層次模型用樹形結(jié)構來表示各類實體以及實體間的聯(lián)系
滿足下面兩個條件的基本層次聯(lián)系的集合為層次模型:
特點:
- 結(jié)點的雙親是唯一的
- 只能直接處理一對多的實體聯(lián)系
- 每個記錄類型可以定義一個排序字段,也稱為碼字段
- 任何記錄值只有按其路徑查看時,才能顯出它的全部意義
- 沒有一個子女記錄值能夠脫離雙親記錄值而獨立存在
完整性約束條件 :
- 無相應的雙親結(jié)點值就不能插入子女結(jié)點值
- 如果刪除雙親結(jié)點值,則相應的子女結(jié)點值也被同時刪除
- 更新操作時,應更新所有相應記錄,以保證數(shù)據(jù)的一致性
優(yōu)點:
層次模型的數(shù)據(jù)結(jié)構比較簡單清晰 ;查詢效率高,性能優(yōu)于關系模型,不低于網(wǎng)狀模型;層次數(shù)據(jù)模型提供了良好的完整性支持
缺點:
結(jié)點之間的多對多聯(lián)系表示不自然;對插入和刪除操作的限制多,應用程序的編寫比較復雜;查詢子女結(jié)點必須通過雙親結(jié)點;層次命令趨于程序化
2.6網(wǎng)狀模型
滿足下面兩個條件的基本層次聯(lián)系的集合:
網(wǎng)狀數(shù)據(jù)庫系統(tǒng)(如DBTG)對數(shù)據(jù)操縱加了一些限制,提供了一定的完整性約束
- 碼:唯一標識記錄的數(shù)據(jù)項的集合
- 一個聯(lián)系中雙親記錄與子女記錄之間是一對多聯(lián)系
- 支持雙親記錄和子女記錄之間某些約束條件
優(yōu)點:
- 能夠更為直接地描述現(xiàn)實世界,如一個結(jié)點可以有多個雙親
- 具有良好的性能,存取效率較高
缺點:
- 結(jié)構比較復雜,而且隨著應用環(huán)境的擴大,數(shù)據(jù)庫的結(jié)構就變得越來越復雜,不利于最終用戶掌握
- DDL、DML語言復雜,用戶不容易使用
- 記錄之間聯(lián)系是通過存取路徑實現(xiàn)的,用戶必須了解系統(tǒng)結(jié)構的細節(jié)
2.7關系模型
關系數(shù)據(jù)庫系統(tǒng)采用關系模型作為數(shù)據(jù)的組織方式.
在用戶觀點下,關系模型中數(shù)據(jù)的邏輯結(jié)構是一張二維表,它由行和列組成。
- 關系(Relation):一個關系對應通常說的一張表
- 元組(Tuple):表中的一行即為一個元組
- 屬性(Attribute):表中的一列即為一個屬性,給每一個屬性起一個名稱即屬性名
- 主碼(Key): 也稱碼鍵。表中的某個屬性組,它可以唯一確定一個元組
- 域(Domain): 是一組具有相同數(shù)據(jù)類型的值的集合。屬性的取值范圍來自某個域。
- 分量:元組中的一個屬性值。
- 關系模式:對關系的描述。關系名(屬性1,屬性2,…,屬性n)學生(學號,姓名,年齡,性別,系名,年級)
關系必須是規(guī)范化的,滿足一定的規(guī)范條件。
**最基本的規(guī)范條件:**關系的每一個分量必須是一個不可分的數(shù)據(jù)項,不允許表中還有表
關系的完整性約束條件:
- 實體完整性
- 參照完整性
- 用戶定義的完整性
優(yōu)點:
- 建立在嚴格的數(shù)學概念的基礎上
- 概念單一:實體和各類聯(lián)系都用關系來表示;對數(shù)據(jù)的檢索結(jié)果也是關系
- 關系模型的存取路徑對用戶透明:具有更高的數(shù)據(jù)獨立性,更好的安全保密性;簡化了程序員的工作和數(shù)據(jù)庫開發(fā)建立的工作
缺點:
- 存取路徑對用戶透明,查詢效率往往不如格式化數(shù)據(jù)模型
- 為提高性能,必須對用戶的查詢請求進行優(yōu)化,增加了開發(fā)數(shù)據(jù)庫管理系統(tǒng)的難度
三、數(shù)據(jù)庫系統(tǒng)的結(jié)構
從數(shù)據(jù)庫應用開發(fā)人員角度看,數(shù)據(jù)庫系統(tǒng)通常采用三級模式結(jié)構,是數(shù)據(jù)庫系統(tǒng)內(nèi)部的系統(tǒng)結(jié)構 。
從數(shù)據(jù)庫最終用戶角度看,數(shù)據(jù)庫系統(tǒng)的結(jié)構分為:單用戶結(jié)構、主從式結(jié)構、分布式結(jié)構、客戶-服務器、瀏覽器-應用服務器/數(shù)據(jù)庫服務器多層結(jié)構等
3.1 數(shù)據(jù)庫系統(tǒng)模式的概念
- 型(Type): 對某一類數(shù)據(jù)的結(jié)構和屬性的說明 。學生記錄: (學號,姓名,性別,系別,年齡,籍貫)
- 值(Value): 是型的一個具體賦值。一個記錄值: (201315130,李明,男,計算機系,19,江蘇南京市)
- 模式(Schema):數(shù)據(jù)庫邏輯結(jié)構和特征的描述。是型的描述,不涉及具體值;反映的是數(shù)據(jù)的結(jié)構及其聯(lián)系;模式是相對穩(wěn)定的
- 實例(Instance): 模式的一個具體值。反映數(shù)據(jù)庫某一時刻的狀態(tài);同一個模式可以有很多實例;實例隨數(shù)據(jù)庫中的數(shù)據(jù)的更新而變動
3.2 數(shù)據(jù)庫系統(tǒng)的三級模式結(jié)構
模式(也稱邏輯模式):數(shù)據(jù)庫中全體數(shù)據(jù)的邏輯結(jié)構和特征的描述;所有用戶的公共數(shù)據(jù)視圖
一個數(shù)據(jù)庫只有一個模式。
模式的地位:是數(shù)據(jù)庫系統(tǒng)模式結(jié)構的中間層。與數(shù)據(jù)的物理存儲細節(jié)和硬件環(huán)境無關;與具體的應用程序、開發(fā)工具及高級程序設計語言無關。
模式的定義:
- 數(shù)據(jù)的邏輯結(jié)構(數(shù)據(jù)項的名字、類型、取值范圍等)
- 數(shù)據(jù)之間的聯(lián)系
- 數(shù)據(jù)有關的安全性、完整性要求
外模式(也稱子模式或用戶模式):
數(shù)據(jù)庫用戶(包括應用程序員和最終用戶)使用的局部數(shù)據(jù)的邏輯結(jié)構和特征的描述;數(shù)據(jù)庫用戶的數(shù)據(jù)視圖,是與某一應用有關的數(shù)據(jù)的邏輯表示。
外模式的地位:介于模式與應用之間
模式與外模式的關系:一對多
外模式與應用的關系:一對多
外模式的用途:保證數(shù)據(jù)庫安全性的一個有力措施;每個用戶只能看見和訪問所對應的外模式中的數(shù)據(jù)
內(nèi)模式(也稱存儲模式):
是數(shù)據(jù)物理結(jié)構和存儲方式的描述
是數(shù)據(jù)在數(shù)據(jù)庫內(nèi)部的表示方式:記錄的存儲方式(例如,順序存儲,按照B樹結(jié)構存儲,按hash方法存儲等);索引的組織方式;數(shù)據(jù)是否壓縮存儲;數(shù)據(jù)是否加密;數(shù)據(jù)存儲記錄結(jié)構的規(guī)定
一個數(shù)據(jù)庫只有一個內(nèi)模式。
3.3 數(shù)據(jù)庫的二級映像功能與數(shù)據(jù)獨立性
外模式/模式映像:
- 模式:描述的是數(shù)據(jù)的全局邏輯結(jié)構
- 外模式:描述的是數(shù)據(jù)的局部邏輯結(jié)構
- 同一個模式可以有任意多個外模式
- 每一個外模式,數(shù)據(jù)庫系統(tǒng)都有一個外模式/模式映象,定義外模式與模式之間的對應關系
- 映象定義通常包含在各自外模式的描述中
保證數(shù)據(jù)的邏輯獨立性:當模式改變時,數(shù)據(jù)庫管理員對外模式/模式映象作相應改變,使外模式保持不變;應用程序是依據(jù)數(shù)據(jù)的外模式編寫的,應用程序不必修改,保證了數(shù)據(jù)與程序的邏輯獨立性,簡稱數(shù)據(jù)的邏輯獨立性
模式/內(nèi)模式映像:
- 模式/內(nèi)模式映象定義了數(shù)據(jù)全局邏輯結(jié)構與存儲結(jié)構之間的對應關系。例如,說明邏輯記錄和字段在內(nèi)部是如何表示的
- 數(shù)據(jù)庫中模式/內(nèi)模式映象是唯一的
- 該映象定義通常包含在模式描述中
保證數(shù)據(jù)的物理獨立性:當數(shù)據(jù)庫的存儲結(jié)構改變了(例如選用了另一種存儲結(jié)構),數(shù)據(jù)庫管理員修改模式/內(nèi)模式映象,使模式保持不變。應用程序不受影響。保證了數(shù)據(jù)與程序的物理獨立性,簡稱數(shù)據(jù)的物理獨立性。
數(shù)據(jù)庫模式:即全局邏輯結(jié)構是數(shù)據(jù)庫的中心與關鍵 ;獨立于數(shù)據(jù)庫的其他層次 ;設計數(shù)據(jù)庫模式結(jié)構時應首先確定數(shù)據(jù)庫的邏輯模式
數(shù)據(jù)與程序之間的獨立性,使得數(shù)據(jù)的定義和描述可以從應用程序中分離出去 。
數(shù)據(jù)的存取由數(shù)據(jù)庫管理系統(tǒng)管理:簡化了應用程序的編制;大大減少了應用程序的維護和修改
四、數(shù)據(jù)庫系統(tǒng)的組成
數(shù)據(jù)庫
數(shù)據(jù)庫管理系統(tǒng)(及其開發(fā)工具)
應用程序
數(shù)據(jù)庫管理員(DBA)
硬件平臺及數(shù)據(jù)庫
軟件
人員
總結(jié)
以上是生活随笔為你收集整理的【数据库复习】第一章绪论的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【笔记】公钥密码学之RSA
- 下一篇: 【数据库复习】第二章关系数据库