程式設計師教程-6章-資料庫基礎知識
目錄結構:
6.1 基本概念
6.1.1 資料庫系統
6.1.2 資料庫管理技術的發展
1 人工管理階段
2 檔案系統階段
3 資料庫系統階段
6.1.3 大資料
1 大資料產生背景
2 大資料的特徵
3 理解大資料
4 大資料產生的安全風險
6.2 資料模型
6.2.1 資料模型的基本概念
6.2.2 資料模型的三要素
6.2.3 E-R模型
1 E-R方法
2 實體
3 聯絡
4 屬性
5 例項分析
6.2.4 基本的資料模型
1 層次模型
2 網狀模型
3 關係模型
6.3 DBMS的功能和特徵
6.3.1 DBMS的功能
6.3.2 DBMS的特徵與分類
1 DBMS的特徵
2 DBMS分類
6.4 資料庫模式
6.4.1 模式
1 概念模式
2 外模式
3 內模式
6.4.2 三級模式兩級對映
6.5 關係資料庫與關係運算
6.5.1 關係資料庫的基本概念
1 屬性和域
2 笛卡兒積與關係
3 主要術語
4 關係的性質
5 關係的3種類型
6.5.2 關係資料庫模式
6.5.3 完整性約束
6.5.4 關係代數運算
6.6 關係資料庫SQL語言簡介
6.6.1 SQL概述
1 SQL的特點
2 SQL支援三級模式結構
3 SQL的基本組成
6.6.2 SQL資料定義
1 建立表
2 修改表和刪除表
3 定義和刪除索引
4 定義、刪除、更新檢視
6.6.3 SQL資料查詢
1 SELECT基本結構
2 簡單查詢
3 連線查詢
4 子查詢與聚集函式
5 分組查詢
6 使用別名
7 字串操作
8 檢視的查詢
6.6.4 SQL資料更新
1 插入語句
2 刪除語句
3 修改語句
6.6.5 SQL的訪問控制
1 授權語句的格式
2 收回許可權語句格式
6.6.6 嵌入式SQL
6.7 資料庫設計
1 資料庫設計的基本步驟
2 資料庫的實施與維護
時間有限,每一點儘量一兩句話說下,挑自己熟悉的內容說下
資料庫技術是計算機軟體領域的一個重要分支
6.1 基本概念
6.1.1 資料庫系統
資料是描述事物的符號記錄,它具有多種表現形式,可以是文字、圖形、影象、聲音和語言等。資訊是對現實世界事物的存在方式或狀態的反映。資料是經過組織的位集合,而資訊是具有特定釋義和意義的資料。
資料庫系統由資料庫、硬體、軟體和人員四大部分組成
每一部分內容:略
6.1.2 資料庫管理技術的發展
資料處理是對各種資料進行收集、儲存、加工和傳播的一系列活動。資料管理是資料處理的中心問題,是對資料進行分類、組織、編碼、儲存檢索和維護
資料管理技術發展經歷了3個階段:人工管理階段、檔案系統階段和資料庫系統階段
1 人工管理階段:早期的資料處理都是通過手工進行的
特點:略
2 檔案系統階段:檔案系統是作業系統中的一個子系統,它按一定的規則將資料組織成一個檔案,應用程式通過檔案系統對檔案中的資料進行存取和加工。
特點:略
3 資料庫系統階段
資料庫系統是由計算機軟體、硬體資源組成的系統,它實現了大量關聯資料有組織地、動態地儲存,方便多使用者訪問
特點:略
6.1.3 大資料
1 大資料產生背景
(1)資料來源和承載方式的變革
(2)全球資料量出現爆炸式增長
(3)大資料已經成為一種自然資源
(4)大資料日益重要,不被利用就是成本
2 大資料的特徵:大量化,多樣化,價值密度低,快速化
3 理解大資料
(1)高併發資料存取的效能要求及資料儲存的橫向擴充套件問題
(2)實現大資料資源化、知識化、普適化的問題
(3)非結構化海量資訊的智慧化處理問題
4 大資料產生的安全風險
(1)網路攻擊的顯著目標
(2)加大了隱私洩漏風險
(3)威脅現有的儲存和安防措施
(4)成為黑客的攻擊手段
(5)成為高階可持續攻擊的載體
(6)為資訊保安提供新支撐
6.2 資料模型
6.2.1 資料模型的基本概念
模型是對現實世界特徵的模擬和抽象,資料模型是對現實世界資料特徵的抽象
最常用的資料模型分為概念資料模型和基本資料模型
(1)概念資料模型:也稱資訊模型,是按使用者的觀點對資料和資訊建模,是現實世界到資訊世界的第一層抽象
(2)基本資料模型:按計算機系統的觀點對資料建模,是現實世界資料特徵的抽象,用於DBMS的實現
從事物的客觀特性到計算機中的具體表示涉及3個數據領域:現實世界,資訊世界和機器世界
6.2.2 資料模型的三要素:資料結構,資料操作和資料的約束條件
6.2.3 E-R模型:實體聯絡模型
1 E-R方法:略
2 實體:現實世界中可以區別於其他物件的“事件”或“物體”
3 聯絡:分為實體內部的聯絡和實體與實體之間的聯絡
1)兩個不同實體之間的聯絡:一對一,一對多,多對多
2)兩個以上不同實體集之間的聯絡:略
3)同一實體集內的二元聯絡:也存在1:1,1:n,m:n的聯絡
4 屬性:屬性是實體某方面的特性
屬性的分類:簡單屬性和複合屬性,單值屬性和多值屬性,NULL屬性,派生屬性
5 例項分析:略
6.2.4 基本的資料模型
1 層次模型:樹型結構
2 網狀模型:網路結構
3 關係模型:略
6.3 DBMS的功能和特徵
6.3.1 DBMS的功能
DBMS主要實現共享資料有效的組織、管理和存取
6大功能:資料定義,資料庫操作,資料庫執行管理,資料組織、儲存和管理,資料庫的建立和維護,其他功能
6.3.2 DBMS的特徵與分類
1 DBMS的特徵:資料結構化且統一管理,有較高的資料獨立性,資料控制功能:資料庫的安全性保護,資料的完整性,併發控制,故障恢復
2 DBMS分類:關係資料庫系統,面向物件的資料庫系統,物件關係資料庫系統
6.4 資料庫模式
一般採用三級模式
6.4.1 模式:三級模式和兩級映像
1 概念模式:也稱模式,資料庫中全部資料的邏輯結構和特徵的描述
2 外模式:也稱使用者模式或子模式,是使用者與資料庫系統的介面,是使用者用到的那部分資料的描述
3 內模式:也稱儲存模式,是資料物理結構和儲存方式的描述,是資料在資料庫內部的表示方式
6.4.2 三級模式兩級對映
兩級對映:模式/內模式的映像,外模式/模式的映像
模式/內模式的映像:實現概念模式到內模式之間的相互轉換
外模式/模式的映像:實現外模式到概念模式之間的相互轉換
資料的獨立性包括資料的物理獨立性和資料的邏輯獨立性
6.5 關係資料庫與關係運算
6.5.1 關係資料庫的基本概念
1 屬性和域:屬性:事物的特徵;域:屬性的取值範圍
2 笛卡兒積與關係:略,關係:笛卡兒集的子集叫作在域上的關係,類似(D1,D2,D3,...Dn),稱關係R為n元關係
3 主要術語:
目或度:屬性個數
候選碼:即通常說的鍵
主碼:即通常說的主鍵
主屬性:成鍵的屬性
非碼屬性:不成鍵的屬性
外碼:即外來鍵
全碼:所有屬性組成關係模式的鍵,所有的屬性稱為全碼
另有第一正規化,第二正規化,第三正規化
第一正規化(無重複的列) 定義:資料庫表的每一列都是不可分割的原子資料項,而不能是集合,陣列,記錄等非原子資料項。如果實體中的某個屬性有多個值時,必須拆分為不同的屬性
第二正規化(屬性完全依賴於主鍵),在第一正規化的基礎上
第三正規化(屬性不能傳遞依賴於主屬性) 定義:滿足第二正規化前提,如果某一屬性依賴於其他非主鍵屬性,而其他非主鍵屬性又依賴於主鍵,那麼這個屬性就是間接依賴於主鍵,這被稱作傳遞依賴於主屬性。
4 關係的性質:分量必須取原子值,列是同質的,屬性不能重名,行列的順序無關,任何兩個元組不能完全相同
5 關係的3種類型:基本關係,查詢表,視圖表
6.5.2 關係資料庫模式
R(U,D,dom,F)
R:關係名;U:組成該關係的屬性名集合;D:屬性的域;dom:屬性向域的映像集合;F:屬性間資料的依賴關係集合
簡記為R(U)或R(A1,A2,A3,...,An)
6.5.3 完整性約束
完整性規則保證授權使用者對資料庫進行修改不會破壞資料的一致性
(1)實體完整性:主屬性不能取空值
(2)參照完整性:引用完整性,外來鍵約束
(3)使用者定義的完整性:使用者定義與特定資料庫有關的約束條件
6.5.4 關係代數運算
並,差,笛卡兒積,投影和選擇是5種基本的運算,其他運算可以由基本運算匯出
交,連線,
6.6 關係資料庫SQL語言簡介
6.6.1 SQL概述
1 SQL的特點:綜合統一,高度非過程化,面向集合的操作方式,兩種使用方式
核心功能:
資料查詢:SELECT
資料定義:CREATE DROP ALTER
資料操縱:INSERT UPDATE DELETE
資料控制:GRANT REVOKE
2 SQL支援三級模式結構:檢視對應外模式,基本表對應模式,儲存檔案對應內模式
3 SQL的基本組成:資料定義語言,互動式資料操縱語言,事務控制,嵌入式SQL和動態SQL,完整性控制和許可權管理
6.6.2 SQL資料定義
1 建立表:約束條件:NULL UNIQUE,另外還有主鍵和外來鍵
2 修改表和刪除表
3 定義和刪除索引
4 定義、刪除、更新檢視
6.6.3 SQL資料查詢
資料操縱功能包括SELECT INSERT DELETE UPDATE
1 SELECT基本結構
SELECT XXXX
FROM XXXX
WHERE XXXX
GROUP BY XXXX
ORDER BY XXXX
2 簡單查詢
SELECT XXXX
FROM XXXX
WHERE XXXX
3 連線查詢
查詢涉及兩個以上的表,稱為連線查詢
4 子查詢與聚集函式
子查詢也稱巢狀查詢,即嵌入SELECT子句,允許多重巢狀
聚集函式:以一個值的集合為輸入,返回單個值的函式
用聚集函式實現子查詢通常比直接用ALL或ANY查詢效率要高
5 分組查詢
1)GROUP BY子句
2)HAVING子句:用在GROUP BY之後,可以使用聚集函式
元組含有空值:
(1)空值在任何聚集操作中被忽略
(2)NULL值又可以在分組屬性中看作是一個一般的值
6 使用別名:as
7 字串操作:LIKE _ % ESCAPE
8 檢視的查詢:
6.6.4 SQL資料更新
1 插入語句
INSERT INTO ... VALUES ...
INSERT INTO ... SELECT ...
6.6.5 SQL的訪問控制
分為授權語句和收回許可權語句
1 授權語句的格式
GRANT 許可權
ON 物件型別 物件名
TO 使用者
WITH GRANT OPTION
2 收回許可權語句格式
REVOKE 許可權
ON 物件型別 物件名
FROM 使用者
6.6.6 嵌入式SQL
SQL語句嵌入某種高階語言中的使用方式:略
6.7 資料庫設計
指對於一個給定的應用環境,構造最優的資料庫模式,建立資料庫及其應用系統,使之有效地儲存資料,滿足各種使用者的需求
資料庫應用系統的生命週期:資料庫規劃,需求描述與分析,資料庫設計與應用程式設計,資料庫系統實現,測試階段,執行維護
1 資料庫設計的基本步驟
(1)使用者需求分析
(2)概念結構設計
(3)邏輯結構設計
(4)物理結構設計
2 資料庫的實施與維護
(1)資料庫實現階段的工作
(2)其他有關的設計工作
(3)執行與維護階段的工作