1、【資料庫技術】資料庫技術基礎
一、資料庫技術基礎
1、資料庫和資料庫管理系統
資料庫系統:包括資料庫、資料庫管理系統、資料庫的使用者和支撐資料管理系統執行的軟硬體。
模式是資料庫中全體資料的邏輯結構和特徵描述。資料庫系統的三級模式:內模式(物理層)、概念模式(邏輯層)、外模式(使用者層)。
概念模式:也稱模式,反映的是資料庫的結構及聯絡。
外模式:也稱使用者模式或子模式,是使用者與資料庫系統的介面。
內模式:也稱儲存模式,是資料在資料庫內部的表示方式。
資料庫系統的兩級對映:外模式/模式對映和模式/內模式對映。
(1)外模式/模式對映:當模式改變時,由資料庫管理員對各個外模式/模式的對映做出相應的改變,可以使外模式保持不變,應用程式是依據資料的外模式編寫的,從而應用程式不必修改,保證了資料與程式的邏輯獨立性,簡稱資料的邏輯獨立性。
(2)模式/內模式對映:當資料的儲存結構改變時,由資料庫管理員對模式/內模式對映做出相應的改變,可以是模式保持不變,從而應用程式也不必改變。保證了資料與程式的物理獨立性。
資料與程式之間的獨立性使得資料的定義和描述可以從應用程式分離出去。由於資料的存取由資料庫管理系統管理,從而簡化了應用程式的編制,大大減少了應用程式的維護和修改。
資料庫系統的體系結構:集中式資料庫系統、並行資料庫系統、客戶-伺服器模式結構和分散式資料庫系統。
2、資料模型
概念資料模型:按使用者的觀點對資料和資訊建模,也稱資訊模型,E—R模型,主要用於資料庫設計。
基本資料模型
資料模型的三要素:資料結構、資料操作、資料的約束條件。
E-R模型:即採用實體-聯絡方法來描述的概念模型。
(1)實體:是現實世界中,可以區別於其他物件的事件或物體。E-R模型中用矩形表示。
(2)聯絡:實體間的聯絡通常指不同實體集之間的聯絡。E-R模型中用菱形表示。分類:2個不同實體之間的聯絡;2個不同實體集之間的聯絡;同一實體集內的二元聯絡。
(3)屬性:簡單屬性和複合屬性;單值屬性和多值屬性、NULL屬性和派生屬性。一個實體可以有很多特性,每個特性稱為一個屬性,每個屬性有一個值域。
(4)碼:唯一標識實體的屬性集稱為碼。
(5)實體型:實體名以及屬性名集合來抽象和刻畫同類實體,稱為實體型。
(6)實體集:同一型別實體的集合稱為實體集。
(7)表示方法:E-R圖
(8)弱實體、特殊化、概括和聚集
弱實體:以另一個實體為前提的實體。例如:職工家屬與職工,家屬即為弱實體。
特殊化:子類、超類。
層次模型:採用樹形結構表示資料與資料之間的聯絡。每個節點表示一個記錄型別(實體),記錄之間的聯絡用節點間的連線表示。
表示多對多聯絡的方法:冗餘節點法;虛擬節點分解法。
網狀模型:採用網路結構表示資料與資料之間的聯絡,也稱DBTG模型
關係模型:目前最常用的資料模型之一;用表格結構表達實體集以及實體集之間的聯絡。描述的一致性。
面向物件模型:物件關係資料庫
物件是現實世界中實體的模型化,與記錄、元組的概念相似。每一個物件都有一個唯一的標識,稱為物件標識。
封裝:針對物件的狀態和行為;
E-R模型轉換為關係模型的規則:
(1)一個實體型轉換為一個關係,實體的屬性即關係的屬性,實體的碼就是關係的碼。
(2)一個1:1的聯絡可以轉換為一個獨立的關係模式,也可以與任意一端對應的關係模式合併。
(3)一個1:N的聯絡可以轉換為一個獨立的關係模式,也可以與N端的關係模式合併。
(4)一個M:N的聯絡只能轉換為一個獨立的關係模式。
(5)三個或三個以上的實體間的多元聯絡可以轉換為一個關係模式。
3、資料庫的控制功能
事務管理:是一個操作序列,一個程式可以包含多個事物。
事務的特點:原子性、一致性、隔離性、永續性。事務是恢復和併發的基本單元。
事務執行的五種狀態:活動狀態、部分提交狀態、失敗狀態
事務對資料庫的修改內容被嚴格的按照執行事件順序記錄在日誌中。
事務的分類:顯示事務、隱式事務、自動事務模式(SQL SERVER預設的);
顯示事務:
begin transaction --語句開始
commit transaction / commit work --事務結束 執行成功
rollback transaction / rollback work --事務結束 執行失敗
隱式事務:
所有的create語句,alert table ,所有的drop語句,Truncate,table,grant,revork,insert,delete,update,select,
open,fetch都會重新啟動一個事務。
set Implicit Transactions on --隱式事務開啟
set Implicit Transactions off --隱式事務關閉
併發操作:在使用者共享的系統中,許多使用者可能同時對同一資料進行操作。
事務併發的資料問題:丟失修改或被覆蓋、讀髒資料、不能重複讀、讀幻影。
併發控制技術:共享鎖、排它鎖
共享鎖:用於只讀操作,它允許多個事務對資源鎖定進行讀取,但禁止其它事務對鎖定資源進行修改。
排它鎖:它鎖定的資源不能在被其它的事務鎖定,所以其它事務不能讀取和修改。