- 1.1 數(shù)據(jù)庫的基本概念
- 1.2 數(shù)據(jù)管理技術(shù)產(chǎn)生與發(fā)展
- 1.3 數(shù)據(jù)庫系統(tǒng)特點
- 1.4 數(shù)據(jù)模型
- 1.5 數(shù)據(jù)描述
- 1.6 概念模型
- 1.7 層次模型
- 1.8 網(wǎng)狀模型
- 1.9 關(guān)系模型
- 1.10 數(shù)據(jù)庫系統(tǒng)三級模式
- 1.11 數(shù)據(jù)庫系統(tǒng)兩級映像
- 1.12 數(shù)據(jù)獨立性
- 1.13 數(shù)據(jù)庫系統(tǒng)組成
- 2.1 關(guān)系的定義和性質(zhì)
- 2.2 關(guān)系的鍵
- 2.3 關(guān)系模式與關(guān)系數(shù)據(jù)庫
- 2.4 實體完整性
- 2.5 參照完整性
- 2.6 用戶定義完整性
- 2.7 關(guān)系操作的類型和特點
- 2.8 關(guān)系數(shù)據(jù)語言
- 2.9 集合運算
- 2.10 投影和選擇運算
- 2.11 連接運算
- 2.12 除法運算
- 3.1 SQL的產(chǎn)生與發(fā)展
- 3.2 SQL的特點
- 3.3 數(shù)據(jù)庫和模式的定義
- 3.4 基本表的定義
- 3.5 索引的定義
- 3.6 簡單的單表查詢
- 3.7 使用謂詞的查詢
- 3.8 使用聚集函數(shù)的查詢
- 3.9 分組查詢
- 3.10 多表等值連接查詢
- 3.11 自身連接查詢
- 3.12 不相關(guān)子查詢
- 3.13 相關(guān)子查詢
- 3.14 帶有運算符的子查詢
- 3.15 集合查詢
- 3.16 插入數(shù)據(jù)
- 3.17 刪除數(shù)據(jù)
- 3.18 修改數(shù)據(jù)
- 3.19 視圖的概念
- 3.20 視圖的定義
- 3.21 視圖的查詢
- 3.22 視圖的更新
- 4.1 數(shù)據(jù)庫安全性概述
- 4.2 存取控制機制
- 4.3 授權(quán)和回收權(quán)限
- 4.4 視圖技術(shù)和審計
- 5.1 數(shù)據(jù)庫完整性概述
- 5.2 實體完整性的實現(xiàn)
- 5.3 參照完整性的實現(xiàn)
- 5.4 用戶自定義完整性的實現(xiàn)
- 5.5 完整性約束命名
- 5.6 觸發(fā)器
- 6.1 泛關(guān)系模式
- 6.2 函數(shù)依賴
- 6.3 低級范式
- 6.4 高級范式
- 6.5 模式的分解
- 6.6 數(shù)據(jù)依賴的公理系統(tǒng)
- 7.1 數(shù)據(jù)庫設(shè)計概述
- 7.2 數(shù)據(jù)庫設(shè)計方法
- 7.3 需求分析概述
- 7.4 需求分析方法
- 7.5 概念結(jié)構(gòu)設(shè)計概述
- 7.6 局部概念結(jié)構(gòu)設(shè)計
- 7.7 全局概念結(jié)構(gòu)設(shè)計
- 7.8 邏輯結(jié)構(gòu)設(shè)計
- 7.9 物理結(jié)構(gòu)設(shè)計
- 7.10 數(shù)據(jù)庫設(shè)計綜合案例
- 8.1 數(shù)據(jù)庫編程概述
- 8.2 嵌入式SQL
- 8.3 游標(biāo)
- 8.4 ODBC/JDBC編程
- 8.5 存儲過程
- 8.6 函數(shù)
- 9.1 查詢處理
- 9.2 查詢優(yōu)化概述
- 9.3 關(guān)系代數(shù)等價變換
- 9.4 代數(shù)優(yōu)化策略
- 9.5 代數(shù)優(yōu)化算法
- 9.6 物理優(yōu)化概述
- 9.7 選擇操作實現(xiàn)方法
- 9.8 連接操作實現(xiàn)方法
- 10.1 事務(wù)的基本概念
- 10.2 事務(wù)的性質(zhì)
- 10.3 故障的種類
- 10.4 數(shù)據(jù)轉(zhuǎn)儲
- 10.5 登記日志文件
- 10.6 故障的恢復(fù)策略
- 10.7 具有檢查點的恢復(fù)技術(shù)
- 10.8 數(shù)據(jù)庫鏡像
- 11.1 并發(fā)操作的基本概念
- 11.2 并發(fā)操作帶來的不一致問題
- 11.3 封鎖的基本概念
- 11.4 封鎖協(xié)議
- 11.5 活鎖與死鎖
- 11.6 可串行化調(diào)度
- 11.7 沖突可串行化調(diào)度
- 11.8 兩段鎖協(xié)議
數(shù)據(jù)庫系統(tǒng)原理
一、數(shù)據(jù)庫系統(tǒng)概述
定義:數(shù)據(jù)庫系統(tǒng)(Database System,DBS)是一個由數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)(DBMS)、應(yīng)用程序、數(shù)據(jù)庫管理員(DBA)及用戶等組成的復(fù)雜系統(tǒng),旨在實現(xiàn)對數(shù)據(jù)的有效組織、存儲、管理和共享。
目標(biāo):提供數(shù)據(jù)的獨立性,即數(shù)據(jù)的邏輯結(jié)構(gòu)與物理存儲結(jié)構(gòu)相互獨立,方便系統(tǒng)維護與擴展;確保數(shù)據(jù)的安全性,防止非法訪問與數(shù)據(jù)泄露;保證數(shù)據(jù)的完整性,使數(shù)據(jù)符合現(xiàn)實世界中的語義約束;實現(xiàn)數(shù)據(jù)的高效存儲與檢索,滿足各類應(yīng)用需求。
二、數(shù)據(jù)模型
概念模型:用于信息世界的建模,是對現(xiàn)實世界的抽象與簡化,常見的有實體 - 聯(lián)系(E - R)模型。通過實體、屬性、聯(lián)系等要素描繪事物及其相互關(guān)系,為后續(xù)的邏輯模型設(shè)計奠定基礎(chǔ)。例如,在學(xué)校管理系統(tǒng)中,“學(xué)生” 是實體,具有學(xué)號、姓名、年齡等屬性,“選課” 則是學(xué)生與課程之間的聯(lián)系。
邏輯模型:將概念模型轉(zhuǎn)換為數(shù)據(jù)庫系統(tǒng)支持的數(shù)據(jù)結(jié)構(gòu),如層次模型、網(wǎng)狀模型、關(guān)系模型等。其中,關(guān)系模型以二維表(關(guān)系)為基本結(jié)構(gòu),具有簡單、靈活、理論基礎(chǔ)雄厚等優(yōu)勢,是目前主流的邏輯模型。表中的行代表元組(記錄),列表示屬性(字段)。
物理模型:關(guān)注數(shù)據(jù)在存儲介質(zhì)上的實際存儲方式,包括數(shù)據(jù)的存儲結(jié)構(gòu)、索引策略、存儲分配等,它與具體的數(shù)據(jù)庫管理系統(tǒng)及硬件環(huán)境緊密相關(guān),旨在優(yōu)化數(shù)據(jù)的存儲與訪問性能。
三、關(guān)系數(shù)據(jù)庫
關(guān)系模型:基于數(shù)學(xué)集合論,用關(guān)系(表)來表示數(shù)據(jù),通過關(guān)系代數(shù)或關(guān)系演算進行數(shù)據(jù)操作。關(guān)系具有一系列特性,如每一列的數(shù)據(jù)類型相同,列名具有唯一性,表中任意兩行不能完全相同等。
關(guān)系代數(shù):是一種抽象的查詢語言,用于對關(guān)系進行操作,包含并、交、差、選擇、投影、連接等基本運算。例如,選擇運算可從關(guān)系中篩選出滿足特定條件的元組,投影運算則用于選取關(guān)系中的某些屬性列。這些運算可以組合使用,實現(xiàn)復(fù)雜的數(shù)據(jù)查詢需求。
SQL 語言:結(jié)構(gòu)化查詢語言(Structured Query Language)是關(guān)系數(shù)據(jù)庫的標(biāo)準(zhǔn)語言,用于數(shù)據(jù)庫的定義、查詢、更新、控制等操作。它具有簡潔、易學(xué)、功能強大等特點,涵蓋數(shù)據(jù)定義語言(DDL),如創(chuàng)建表(CREATE TABLE)、修改表結(jié)構(gòu)(ALTER TABLE);數(shù)據(jù)操縱語言(DML),如插入數(shù)據(jù)(INSERT INTO)、查詢數(shù)據(jù)(SELECT)、更新數(shù)據(jù)(UPDATE)、刪除數(shù)據(jù)(DELETE FROM);數(shù)據(jù)控制語言(DCL),用于管理用戶權(quán)限等。
四、數(shù)據(jù)庫設(shè)計
需求分析:通過與用戶溝通、調(diào)研業(yè)務(wù)流程,確定系統(tǒng)需要存儲的數(shù)據(jù)及功能需求,這是數(shù)據(jù)庫設(shè)計的起點,直接影響后續(xù)設(shè)計的準(zhǔn)確性與實用性。例如,設(shè)計電商數(shù)據(jù)庫時,需了解商品信息、訂單流程、用戶資料等方面的需求。
概念設(shè)計:依據(jù)需求分析結(jié)果,構(gòu)建概念模型,通常采用 E - R 圖來描繪實體、屬性及它們之間的聯(lián)系,清晰展現(xiàn)數(shù)據(jù)的整體架構(gòu)。
邏輯設(shè)計:將概念模型轉(zhuǎn)換為關(guān)系模型,確定表結(jié)構(gòu)、主關(guān)鍵字、外關(guān)鍵字等,把 E - R 圖中的實體轉(zhuǎn)換為表,聯(lián)系轉(zhuǎn)換為表之間的關(guān)聯(lián)關(guān)系,同時考慮數(shù)據(jù)完整性約束的實現(xiàn)。
物理設(shè)計:根據(jù)所選用的數(shù)據(jù)庫管理系統(tǒng)及硬件環(huán)境,設(shè)計數(shù)據(jù)的存儲結(jié)構(gòu)、索引、存儲分配等物理細節(jié),以提高數(shù)據(jù)庫的性能與運行效率。
五、數(shù)據(jù)庫管理系統(tǒng)
功能:提供數(shù)據(jù)定義、數(shù)據(jù)操縱、數(shù)據(jù)組織與存儲、數(shù)據(jù)安全性保障、數(shù)據(jù)完整性維護、并發(fā)控制、數(shù)據(jù)庫恢復(fù)等一系列功能。例如,通過用戶權(quán)限管理確保數(shù)據(jù)安全,利用事務(wù)處理保證數(shù)據(jù)的一致性與完整性。
架構(gòu):一般分為外模式、模式、內(nèi)模式三層。外模式面向用戶應(yīng)用程序,是用戶看到的局部數(shù)據(jù)視圖;模式是對數(shù)據(jù)庫中全體數(shù)據(jù)的邏輯結(jié)構(gòu)與特征的描述,是所有外模式的基礎(chǔ);內(nèi)模式則涉及數(shù)據(jù)的物理存儲結(jié)構(gòu)與存儲方式。三層模式之間通過兩級映射(外模式 - 模式映射、模式 - 內(nèi)模式映射)實現(xiàn)數(shù)據(jù)的獨立性,當(dāng)物理存儲結(jié)構(gòu)或總體邏輯結(jié)構(gòu)發(fā)生變化時,能盡量減少對上層應(yīng)用程序的影響。
六、數(shù)據(jù)庫的安全性與完整性
安全性:采用用戶身份認(rèn)證、訪問控制、視圖機制、審計等多種措施保護數(shù)據(jù)免受非法訪問、篡改與破壞。例如,設(shè)置不同用戶的登錄密碼,為用戶分配不同的操作權(quán)限,利用視圖隱藏敏感數(shù)據(jù)等。
完整性:通過實體完整性、參照完整性、用戶定義完整性約束保證數(shù)據(jù)的正確性、有效性與一致性。實體完整性要求表中的主鍵不能為空且具有唯一性;參照完整性維護表之間關(guān)聯(lián)關(guān)系的正確性;用戶定義完整性滿足特定業(yè)務(wù)場景下的數(shù)據(jù)約束,如學(xué)生成績的取值范圍等。
七、數(shù)據(jù)庫新技術(shù)
隨著信息技術(shù)的飛速發(fā)展,涌現(xiàn)出一系列數(shù)據(jù)庫新技術(shù),如分布式數(shù)據(jù)庫,將數(shù)據(jù)分散存儲在多個節(jié)點上,實現(xiàn)數(shù)據(jù)的分布式處理與管理,提高系統(tǒng)的可靠性與擴展性;面向?qū)ο髷?shù)據(jù)庫,融合面向?qū)ο缶幊趟枷耄m合處理復(fù)雜的數(shù)據(jù)對象;數(shù)據(jù)倉庫與數(shù)據(jù)挖掘技術(shù),用于海量數(shù)據(jù)的存儲、分析與知識發(fā)現(xiàn),輔助企業(yè)決策等。這些新技術(shù)不斷拓展數(shù)據(jù)庫系統(tǒng)的應(yīng)用領(lǐng)域與功能邊界,適應(yīng)日益復(fù)雜多變的業(yè)務(wù)需求。
理解并掌握數(shù)據(jù)庫系統(tǒng)原理,是從事數(shù)據(jù)庫開發(fā)、管理及眾多相關(guān)領(lǐng)域工作的重要基礎(chǔ),為構(gòu)建高效、可靠的信息系統(tǒng)提供有力支撐。
