1.1 資料庫系統概述: 1.1.1資料庫的4個基本概念 資料庫的四個基本概念 - 數據 - 資料庫 - 資料庫管理系統 - 資料庫系統 數據:數據是資料庫中存儲的基本對象 數據是描述事物的一個符號,可以描述數字、圖形、聲音、語言等待,但都要經過數字化後存入計算器 資料庫(簡稱DB):資料庫是長期存 ...
1.1 資料庫系統概述:
-
1.1.1資料庫的4個基本概念
- 資料庫的四個基本概念 - 數據 - 資料庫 - 資料庫管理系統 - 資料庫系統
- 數據:數據是資料庫中存儲的基本對象
- 數據是描述事物的一個符號,可以描述數字、圖形、聲音、語言等待,但都要經過數字化後存入計算器
- 資料庫(簡稱DB):資料庫是長期存儲在電腦內,有組織、可共用的大量數據的集合
- 有組織:統一存放,如全部在D盤,全部在E盤
- 可共用:可以多個程式員使用,共同使用
- 資料庫管理系統(簡稱DBMS):資料庫管理系統的作用就是,科學地組織和存儲數據,高效地獲取和維護數據
- 資料庫管理系統的主要功能:
- 數據的定義:DMBS提供數據定義語言(簡稱DML),用戶可以通過它方便地對數據中的數據對象進行定義
- 數據組織、存儲和管理:DBMS要分類組織、存儲和管理各種數據,包括數據字典、數據、數據的存儲路徑
- 數據操縱功能:用戶可以使用DMBS提供的DML對資料庫進行增刪改查等基本操作
- 資料庫的事務管理和運行管理:資料庫中建立、運用和維護時由資料庫管理系統統一管理、統一控制,以保證數據的安全性、完整性、多用戶數據併發性以及發生故障後的系統恢復
- 資料庫的建立和維護功能:資料庫初始數據輸入、轉換功能,資料庫的存儲、資料庫的重組織功能和性能監視、分析功能等
- 資料庫管理系統的主要功能:
- 資料庫系統(簡稱DBS ):資料庫系統一般由於資料庫,資料庫管理系統、應用系統、資料庫管理員構成
- 資料庫系統在電腦中屬於在:基礎軟體普通
-
1.1.2數據管理技術的產生和發展
- 資料庫管理技術經歷了:人工管理、文件系統、資料庫系統3個階段
- 為什麼會有不同的數據管理階段? 因為依據的電腦的發展階段,從沒有電腦操作系統到有文件系統在到資料庫管理系統
- 人工管理特點:
- 數據不保存(因為當初是用紙帶來表示0和1,電腦讀取完就完了,怎麼可能保存)
- 應用程式管理數據(程式和數據綁定,程式沒了數據就沒了,不是分開執行)
- 數據不共用(都不能保存,怎麼共用)
- 數據不具有獨立性(因為數據和程式是綁定在一起的)
- 人工管理缺點:數據的邏輯結構或管理結構發生變化後,必須對程式做向右的修改,加最了程式員的負擔
- 文件系統特點:
- 數據可以長期保存(可以保存到電腦的文件裡面)
- 由文件系統管理數據
- 文件系統缺點:
- 數據共用差,冗餘度大(如:可能一個文件系統只能一個程式員使用,文件和文件中不能共用,冗餘:文件中的相同欄位過度重覆)
- 數據獨立性性差
- 資料庫系統特點:
- 數據結構化(如:學生管理系統,學生的個人信息按一定的結構保存起來,學生的選課按一定的結構保存起來)
- 數據共用性高,冗餘低,易擴充
- 數據獨立性高
- 數據由DBMS統一管理和控制
1.2數據模型
什麼是數據模型?對現實世界數據特征的抽象(如:觀察某個事物的特征,按照它的特征去建立一個模型,在按照整個模型去創建資料庫)
- 1.2.1兩類數據模型
- 資料庫模型應滿足三個方面要求:
- 能比較真實地模擬現實世界
- 容易為人理解(如:技術的模型的欄位,要看了就知道,姓名就是姓名,不用用abc去使用)
- 便於在電腦上實現(如:二維表就容易實現,二維表拆分了就不容易實現)
- 根據模型應用的不同目的,可以分為兩類:
- 第一類概念模型:
- 概念模型也稱信息模型,它是按用戶的觀點來對數據和信息建模,主要用於資料庫設計
- (這一階段,就是按照用戶對信息的理解來建設資料庫)
- 第二類是邏輯模型和物理模型:
- 邏輯模型:邏輯模型保包含了層次模型(樹一樣的)、網狀模型、關係模型、面向對象模型和對象關係模型等。它是按電腦系統的觀點的數據建模,主要用於DBMS的實現
- 物理模型:物理模型是對數據最底層的抽象,它描述數據在系內部的表示方式和採取方法,在磁碟或磁帶上的存儲方式和採取是面向電腦系統的
- 第一類概念模型:
-
1.2.2數據模型的組成要素
- 數據模型通常由數據結構、數據操作和完整性約束三部分組成
- 數據結構:數據結構描述數據的組成對象以及對象之間的聯繫,數據結構是所描述的想類型的集合,是對系統靜態特征的描述
- 數據操作:資料庫主要由查詢和更新(插入、刪除、修改)兩大類操作。數據操作是都對系統動態特征的描述
- 完整性約束:數據的完整性約束條件是一組完整性規則
- 例:在某表中,張三的id是001,就不能在另一個表001是李四
- 例:在關係模型中,任何關係必須滿足實體完整性和參照完整性兩個條件*(實體完整性是:唯一標識(key))
-
1.2.3概念模型
- 概念模型是現實世界到機器世界的一個中間層,表現為:(機器世界 == 電腦)
- 概念模式用於信息世界的建模
- 現實世界到信息世界的第一層抽象
- 資料庫設計人員進行資料庫設計的有力工具
- 資料庫設計人員和用戶之間進行交流的語言
- 概念模型要求:
- 具有較強的語義表述能力
- 能夠方便、直接的表述應用中的各種語義知識
- 簡單、清晰、易於用戶理解
- 信息世界中的基本概念:
- 實體:客觀存在並相互區別的事物稱為實體。實體可以是具體的事、物,也可以是抽象的概念或聯繫
- 例:一個學生、一個部門、一門課、選擇等都是實體
- 屬性:實體所具有的某一個特征稱為屬性,一個實體有若幹個屬性
- 例:一個學生實體,它是由,學號、姓名、性別等屬性組合構成
- 碼(關鍵字):唯一標識實體的屬性集稱為碼
- 例:通過該碼能確定一條信息,如身份證就能確定某個人
- 域:域是一組具有相同數據類型的值的集合。屬性的取值範圍來自某個域
- 例:學號的域為8位整數,學生年齡的域為整數,性別的域是男和女
- 實體型:具有相同屬性的實體,必然具有共同的特征和性質,用實體名及其屬性名集合來抽象和刻畫同類實體,稱為實體型
- 例:學生都有姓名、年齡、學號,張三有李四有,把它們都有的特征歸納,為學生就是一個實體型
- 說白了就是把公共的取出來,形成一個共同有的實體
- 例:學生都有姓名、年齡、學號,張三有李四有,把它們都有的特征歸納,為學生就是一個實體型
- 實體集:同一類型的集合稱為實體集
- 例:全體學生就是一個實體集
- 聯繫:在現實世界中,事物內部以及事物之間是有聯繫的,這些聯繫在信息世界在反映為實體(型)內部的聯繫和實體(型)之間的聯繫
- 實體內部的聯繫通常是指組成實體的各屬性之間的聯繫,實體之間的聯繫通常是指不同實體集之間的聯繫
- 例:老師教學生是一種聯繫(不同實體集的聯繫),班長管學生是一種聯繫(同一類的聯繫)
- 實體:客觀存在並相互區別的事物稱為實體。實體可以是具體的事、物,也可以是抽象的概念或聯繫
- 兩個實體型之間的聯繫:
- 一對一聯繫:
- 實體集(A)中每一個實體,實體集B中至多有一個(也可以沒有),實體之間的聯繫
- 例:一個班只有一個班長 就是一對一(實體A就是班級 實體B就是班長)
- 一對多聯繫(1:n):
- 實體集(A)中的每一個實體,和實體集(B)中的多個實體(也可以沒有)與之聯繫
- 例:一個班有多個學生 就是一對多(實體A就是班級 實體B就是學生)
- 多對多聯繫(m:n):
- 實體集(A)中的每一個實體,實體集(B)中有n個實體與之聯繫,分之實體集(B)中每一個實體和實體集(A)中有n個實體與之聯繫
- 例:一門課程有若幹個學生選修,而每一個學生可以同時選修多門課程 (實體A就是課程 實體B就是學生,反之)
- 一對一聯繫:
- 兩個以上的實體型之間的聯繫:
- 兩個以上的實體型之間也存在一對一,一對多,多對多聯繫
- 一對一:
- 一對多:
-
單個實體型內的聯繫:
-
同一個實體集內的各實體也存在一對一、一對多、多對多
-
一對一:
-
-
-
概念模型的一表示方法:實體-聯繫圖(E-R圖):
-
E-R圖就是把現實世界中的需求和實體之間的聯繫通過E-R圖表示出來,在根據E-R圖設計出二維表
-
E-R圖提供了表示實體、屬性和聯繫的方法
-
實體型:用矩形表示
-
屬性:用橢圓形表示
-
聯繫:用菱形表示
-
-
-
-
1.2.4最常用的數據模型:
- 最常用的數據模型有:層次模型、網狀模型、關係模型、面向對象模型、對象關係模型。關係模型用的最多
-
1.2.5關係模型:
- 關係數據模型的數據結構:
- 關係:一個關係通常說的是一張表
- 元組:表中一行,為一個元組
- 屬性:表中的一列,為一個屬性。給每一個屬性起一個名稱即屬性名
- 例:
- 碼:表中的某個屬性組,它可以唯一確定一個元組(如:學號、身份證號,通過該值去確定一行元組)
- 在概念模型的時候也有碼:但是概念模式的碼指的是,通過一個碼去確定一個實體(如:學生實體通過學號去確定該實體)
- 域:屬性的取值範圍
- 分量:元組中的一個屬性值
- 關係模型:對關係的描述,一般表示為:關係名(屬性1,屬性2,屬性3...)
- 關係數據模型的操縱與完整性約束:
- 關係數據模型的操作主要包括查詢、插入、刪除和更新數據,但這些操作必須滿足關係的完整性約束條件
- 關係的完整性約束條件包括三大類:
- 實體完整性(實體可指的是一個人)
- 參照完整性(選課表就要參照學號,專業)
- 用戶定義的完整性(像教師65退休,就是用戶自己定義的)
- 關係的完整性約束條件包括三大類:
- 關係數據模型的操作主要包括查詢、插入、刪除和更新數據,但這些操作必須滿足關係的完整性約束條件
- 關係數據模型的優點:
- 關係模型與格式化模型不同,它是建立在嚴格的數據概念的基本上
- 關係模型的概念單一(就是我操作的二維表,得出來的結果還是二維表)
- 關係模型的存取路徑對用戶透密,從而有跟高的數據獨立性、安全保密性,也簡化了程式員的資料庫開發
- 用戶透明:用戶只管用,不用管數據從哪來,例:如去查成績,用就行了
1.3資料庫的系統結構:
- 1.3.1資料庫系統模式的概念:
- 模式是資料庫中全體數據的邏輯結構和特征的描述,同一個模式可以有很多實例
- 例:一個學校有100個學生,都有身高、體重、年齡(這就是一個模式),但它們的身高、體重、年齡都不一樣(很多實例)
- 1.3.2資料庫系統的三級模式結構:
- 模式:模式也稱邏輯模式,是資料庫中全體數據的邏輯結構和特征的描述是所有用戶的公共數據視圖
- 外模式:外模式也稱子模式或用戶模式,它是資料庫用戶能夠看見和使用的局部數據的邏輯結構和特征的描述,是資料庫用戶的數據視圖
- 內模式:內模式也稱存儲模式,一個資料庫只有一個內模式。它是數據物理結構和存儲方式的描述,是數據在資料庫內部的組織方式
- 註意:
- 外模式通常是模式的子集,一個資料庫可以有多個外模式
- 例:我在查詢成績時只是查詢到了一部分,這是一個外模式,還有很多沒看到的有是一個外模式
- 同一個外模式可以為某一用戶的多個應用系統使所使用,一個應用程式只能使用一個外模式
- 例:查詢成績用的是一個外模式,列印成績用的是同一個外模式
- 例:只能用一個外模式:查詢成績,說白了就是按鈕一定的規則去訪問
- 外模式是保證資料庫按性的一個有力措施,每個用戶只能看到和訪問所對應的外模式中的數據,資料庫中的其餘數據是看不到的
- 例:外模式是想讓你看見的,其餘的數據你是看不到的也不到存儲在哪
- 外模式通常是模式的子集,一個資料庫可以有多個外模式
-
1.3.3資料庫的二級映像概念與數據獨立性
-
外模式/模式映像
-
模式/內模式映像
-
兩層映像保證了資料庫系統中的數據能夠具有較高的李連傑獨立性和物理獨立性
-
物理獨立性:例:當資料庫的存儲結構改變(如:增加新的關係)由資料庫管理員對模式/內模式映像作相當於的改變,可以使模式保存補不變,從而應用程式也不必改變。白痴了數據和程式的物理獨立性
-
-
1.4資料庫系統的組成:
- 資料庫系統一般由資料庫、資料庫管理系統(及其開發工具)應用系統和資料庫管理員構成
- 硬體平臺及資料庫:
- 硬體要求:
- 要由足夠大的記憶體,存放支持系統、資料庫管理系統的核心模塊、數據緩衝區和應用程式
- 由足夠的大的磁碟或磁碟陣列等設備存放資料庫,有足夠的磁帶(或光碟)作數據備份
- 系統有較高的通道能力,以提高數據傳輸效
- 軟體要求:
- 資料庫管理系統,資料庫管理系統是為資料庫的建立,使用和維護配置的系統軟體
- 組成資料庫管理系統的運行的操作系統
- 具有與資料庫介面的高級語言及編譯系統,便於開發應用程式
- 以資料庫管理系統為核心的應用開發工具
- 為特定應用環境開發的資料庫應用系統
- 硬體要求:
- 人員:
- 資料庫管理員、系統分析員、資料庫設計人員、應用程式員、用戶
- 用戶 - 使用
- 應用程式 - 使用(如:java開發寫程式去訪問資料庫)
- 資料庫管理員 - 管理
- 資料庫管理員職責:
- 決定資料庫的內容和邏輯結構、存儲結構
- 確定數據的安全性要求和完整性約束性條件
- 監控資料庫的使用和運行,維護資料庫
- 決定資料庫的存儲結構和存儲策略
- 發負責資料庫的改進和重組重構
- 資料庫管理員職責:
-