SQL
導航專用
- 第一部分 資料庫簡介
- 1.資料庫管理技術的發展
- 2.三個模式,兩級映射
- 3.概念模型
- 4.資料模型
- 5.關系模型的基本概念
- 第二部分 資料庫的原理及應用
- 1.術語
- 2.參照完整性
- 3.用戶定義的完整性規則
- 4.關系代數的運算
- 5.資料庫設計階段
- 6. E-R 圖
- 7.設計 E-R 圖
- 8. E-R 圖向關系模型的轉換
第一部分 資料庫簡介
- 概括:
(1)資料庫由若干張相互關聯的表格組成,
(2)資料庫管理系統是一個管理資料庫的軟體,
(3)資料庫系統的組成,
- 資料(Data)是資料庫中存盤的基本物件,在計算機領域內,資料這個概念已經不局限于普通意義上的資料,還包括文字、圖形、影像、聲音等等,凡是計算機中用來描述事物的記錄,都可以通稱為資料,
資料的概念包括資料內容和資料形式兩個方面:
資料內容是指所描述客觀事物的具體特性,也就是資料的 “ 值 ” ,
資料形式是指資料內容存盤在媒體上的具體形式,也就是通常所說的資料的 “ 型別 ” ,
-
資訊 ( Information ) 就是經過加工處理后有用的資料,它具有實效性、有用性和知識性,是客觀世界的反映,
-
資料處理( Data Processing )是指使用計算機系統對各種資料進行收集、存盤、加工和傳播的一系列活動的總和,或者是將資料轉換為資訊的程序,
1.資料庫管理技術的發展
1.人工管理階段
① 資料不保存;② 用戶自行管理資料;③ 資料不能共享;④ 資料不具有獨立性,
2.檔案系統階段
①由檔案系統管理資料;②程式與資料有一定獨立性;③資料可以以多種形式的檔案長期保留;④ 資料基本上以記錄為單位進行存取,
3.資料庫系統階段
① 資料結構化;② 資料的共享性高,冗余度小,易擴充;③ 資料獨立性高,包括物理獨立性和邏輯獨立性;④ 統一的資料控制功能; ⑤ 資料的存盤單元為資料項(一個欄位、一條記錄、一組欄位、一組記錄等),
2.三個模式,兩級映射
三個模式
外模式(external schema)又稱為用戶模式,是資料庫用戶和資料庫系統的介面,是資料庫用戶的資料視圖( view ),是資料庫用戶可以看見和使用的區域資料的邏輯結構和特征的描述,是與某一應用有關的資料的邏輯表示,一個資料庫通常都有多個外模式,
模式( schema )又可細分為概念模式和邏輯模式,是所有資料庫用戶的公共資料視圖,是資料庫中全部資料的邏輯結構和特征的描述,反映了資料庫系統的整體觀,一個資料庫只有一個模式,
內模式(internal schema)又稱為存盤模式,是資料庫物理結構和存盤方式的描述,是資料在資料庫內部的表示方式,一個資料庫只有一個內模式,
二級映射
外模式/模式映射 ,定義和建立某個外模式與模式之間的對應關系,將外模式與模式聯系起來,有了外模式/模式映射,保證了資料與程式之間的邏輯獨立性,也就是資料的邏輯獨立性,
模式/內模式映射 ,定義建立資料的邏輯結構(模式)與存盤結構(內模式)間的對應關系,當內模式改變時,比如資料的存盤結構發生變化,只需改變模式/內模式映射,就能保持模式不變,保證了資料與程式之間的物理獨立性,也就是資料的物理獨立性,
3.概念模型
- 將現實世界中的客觀物件抽象為某一種資訊結構稱為概念模型,
物體——客觀事物在資訊世界中稱為物體,它是現實世界中客觀存在且可相互區別的事物,
屬性——物體的某一方面特征的抽象表示稱為屬性,一個物體可以用多個屬性來描述,
碼——能惟一標識一個物體的屬性或屬性集稱為碼,
域—— 某個屬性的取值范圍稱為域,
物體型——用物體名及其屬性名的集合來抽象和刻畫同類物體,稱為物體型,相當于資料結構,
物體集——性質相同的同類物體的集合稱為物體集,相當于記錄體,
物體聯系——在現實世界中,事物與事物之間是有聯系的,這些聯系在資訊世界中反映為物體與物體之間的聯系,即物體聯系,
- 兩個物體間的聯系型別
▲ 一對一聯系(1:1)
對于物體集 A 中的每一個物體,物體集 B 中至多有一個與之聯系,反之一樣,稱物體集 A 與物體集 B 是一對一的聯系,
▲ 一對多聯系(1:n)
對于物體集 A 中的每一個物體,物體集 B 中有 n(n>1)個物體與之聯系,反之對于物體集 B 中的每一個物體,物體集A中至多有一個與之聯系,稱物體集A與物體集B是一對多的聯系,
▲ 多對多聯系(m:n)
對于物體集A中的每一個物體,物體集B中有n(n> 1)個物體與之聯系,反之對于物體集B中的每一個物體,物體集A中有m(m>1)個與之聯系,稱物體集A與物體集B是多對多的聯系,
圖解
4.資料模型
- 層次模型
層次模型是資料庫系統中最早出現的資料模型,其采用樹形結構表示物體和物體之間的聯系,
特點:①有且僅有一個結點無父結點,稱其為根結點;②其他結點有且只有一個父結點,
- 網狀模型
用網狀結構表示物體和物體之間聯系的資料模型稱為網狀模型,網狀模型是層次模型的拓展,能夠表示各種復雜的聯系,
特點:① 允許一個以上的結點沒有雙親結點;② 一個結點可以有多于一個的雙親結點,
- 關系模型
用二維表來表示物體和物體間聯系的資料模型稱為關系模型,關系不僅可以表示物體間一對多的聯系,也可以方便地表示多對多的聯系,
5.關系模型的基本概念
▲關系
關系就是一張二維表,通常將一個沒有重復行、重復列的二維表看成一個關系,每個關系都有一個關系名,
▲元組
二維表的每一行在關系中稱為元組,
▲屬性
二維表的每一列在關系中稱為屬性,每個屬性都有一個屬性名,屬性值則是各個元組在該屬性上的取值,
▲關系模式
對關系的描述,一般表示為:
關系名( 屬性1,屬性2,…)
例如,課程表的關系模式表示為:
課程( 課程號,課程名,課程性質,學分 )
第二部分 資料庫的原理及應用
1.術語
碼(鍵)或候選碼(候選鍵):能夠唯一確定一個元組的最小屬性集合,
主鍵(Primary Key):表中可能有多個候選鍵,在應用中被選用的候選鍵稱為主鍵,
外鍵(Foreign Key):若屬性集合 S 存在于關系 R1 中,但不是關系 R1 的主鍵;它同時也存在于關系 R2 中,而且是關系 R2 的主鍵,則 S 是關系 R1 相對于 R2 的外鍵,
2.參照完整性
在關系資料庫中有下列兩個關系模式:
S(S#,SNAME,AGE,SEX)
SC(S#,C#,GRADE)
這里標記文本為主鍵,S# 為關系 SC 的外鍵,據規則要求關系 SC 中的 S# 值應該在關系 S 中出現,如果關系 SC 中有一個元組(S7, C4, 80),而學號 S7 卻在關系 S 中找不到,那么我們就認為在關系 SC 中參考了一個不存在的學生物體,這就違反了參照完整性規則,
☆ 另外,在關系 SC 中 S# 不僅是外鍵,也是主鍵的一部分,因此這里 S# 值不允許空,
3.用戶定義的完整性規則
在建立關系模式時,對屬性定義了資料型別,即使這樣可能還滿足不了用戶的需求,此時,用戶可以針對具體的資料約束,設定完整性規則,由系統來檢驗實施,以使用統一的方法處理它們,不再由應用程式承擔這項作業,
例如學生的年齡定義為兩位整數,范圍還太大,我們可以寫如下規則把年齡限制在15–30歲之間:
CHECK(AGE BETWEEN 15 AND 30)
4.關系代數的運算
關系代數所用到的運算子是:
- 集合運算子:∪(并)、∩(交)、-(差)、×(廣義笛卡爾積);
- 專門的關系運算子:σ(選擇)、π(投影)、?(連接)、÷(除);
- 算術比較符:>、≥、<、≤、=、<>;
- 邏輯運算子:∧( AND 與)、∨( OR 或)、┐( NOT 非),
關系并運算(Union)
關系 R 和關系 S 的所有元組合并,再刪去重復的元組,組成一個新關系,稱為 R 與 S 的并,記為 R∪S,

關系交運算(Intersection)
關系 R 和關系 S 的交是由既屬于 R 又屬于S 的元組組成的集合,即在兩個關系 R 與 S 中取相同的元組,組成一個新關系,記為 R∩S,
- 兩個關系的交由它們相同的元組組成,如果兩個關系沒有相同的元組,那么它們的交為空,

關系差運算(Difference)
關系 R 和關系 S 的差是由屬于關系 R 的元組組成,而不必考慮關系 S 中的元組組成,即在關系 R 中刪去與 S 關系中相同的元組,組成一個新關系,記為 R-S,

廣義笛卡爾積(Extended Cartesian Product)
參加運算的兩個關系不要求屬性個數一致,
設關系R的屬性個數為n,關系S的屬性個數為m,關系R和S的笛卡爾積記為: R×S
R×S由R和S的所有元組連接而成的具有(n+m)個屬性的元組組成,

選擇(Selection)
選擇是在關系R中選擇滿足給定條件的諸元組,構成一個新關系,
選擇是從行的角度進行的運算,
σ是選擇運算子,選擇條件是邏輯運算式
語法格式: σ<選擇條件>(<關系名>)

投影(Projection)
關系 R 上的投影是從 R 中選擇出若干屬性列組成新的關系,
投影操作是從列的角度進行的運算,
π 是投影運算子,屬性集可以由多個屬性組成,中間用逗號隔開,
注意:投影結果中要去掉相同的行
語法格式:π<屬性集>(<關系名>)

連接(Join)
按給定條件,把滿足條件的兩個關系所有元組,按一切可能的拼接后形成的新關系,記為R∞S,
即 R∞<連接條件>S=σ<連接條件>(R × S)
連接條件為:=,<, ≤,>,≥,≠
當連接條件不為 “ = ” 時,稱非等值連接,
當連接條件為 “ = ” 時,稱等值連接,
非等值連接也稱為 θ 連接,它是從兩個關系的笛卡爾積中選取屬性間滿足一定條件的元組,記作:
連接運算從 R 和 S 的笛卡爾積 R×S 中選取(R關系)在A屬性組上的值與(S關系)在B屬性組上值滿足比較關系 θ 的元組,
等值連接
從關系 R 和 S 的笛卡爾積中選取 A, B 屬性值相等的元組


自然連接
特殊的等值連接,從兩個關系的廣義笛卡兒積中選取在相同屬性列上取值相等的元組,在結果中去掉重復的屬性列,并去掉重復的行,
當 R 與 S 無相同屬性時,R∞S = R×S
注:自然連接完成三件事:
① 作 R × S;(笛卡兒積)
② 在 R × S上選擇同時滿足 R.Ai = S.Ai 的所有元組;
③ 去掉重復屬性,

除
記為:R÷S
R 與 S 的除運算得到一個新的關系 P(X), P 是 R 中滿足下列條件的元組在 X 屬性列上的投影:
- 關系R( X, Y )和S( Y, Z ),其中X,Y,Z為屬性組(R 中的 Y 與 S 中的 Y 可以有不同的屬性名,但必須出自相同的域集)
- 元組在 X 上分量值 x 的象集 Yx 包含 S 在 Y 上的投影
- 除操作是同時從行和列的角度進行運算,

5.資料庫設計階段
需求分析階段
需求分析的重點是調查、收集與分析用戶在資料管理中的資訊要求、處理要求、安全性與完整性要求,得到設計系統所必須的需求資訊,建立系統說明檔案,包括:需求的調查;需求的收集;需求的分析等內容,
需求分析階段的成果是系統需求說明書,此說明書主要包含資料流圖、資料字典、系統功能結構圖和必要的說明,系統需求說明書是資料庫設計的基礎檔案,
概念結構設計階段
概念結構設計是整個資料庫設計的關鍵,它通過對用戶的需求進行綜合、歸納與抽象,形成一個獨立于具體DBMS的概念模型,一般都以 E-R 模型為工具來描述概念結構
最常采用的設計策略是:自底向上,即首先定義各區域應用的概念結構,然后將它們集成起來,得到全域的概念結構,
邏輯結構設計階段
邏輯結構設計的任務就是將概念模型( E-R 模型 )轉換成特定的 DBMS 系統所支持的資料庫的邏輯結構,
關系資料庫邏輯結構設計可按以下步驟進行:
① 將 E-R 圖轉換為關系模式;
② 將轉換后的關系模式向特定的 RDBMS 支持的資料模型轉換;
③ 對資料模型進行優化,
物理結構設計階段
資料庫的物理設計是為邏輯資料模型選取一個最適合的應用環境的物理結構,包括存盤結構和存取方法,
資料庫實施階段
根據邏輯設計和物理設計的結果建立資料庫,編制與除錯應用程式,組織資料入庫,并進行試運行 ,
資料庫運行和維護階段
對系統進行評價、調整與修改,不斷完善系統,
6. E-R 圖
▲矩形
用來表示物體型,矩形框內寫上物體名,
▲ 橢圓
用來表示物體的屬性,橢圓內寫上屬性名,并用無向線把物體與屬性連接起來,
▲ 菱形
用來表示物體與物體的聯系,菱形框內寫上聯系名,
▲ 無向線
用于物體與屬性、物體與聯系之間的連接,
E-R 圖的表示方法
– 物體:用矩形框表示,框內標明物體名,
– 屬性:用橢圓框或圓角矩形框表示,框內標明屬性名,
– 聯系:用菱形框表示,框內標明聯系名,
– 物體與其屬性之間以無向邊連接,菱形框及相關物體之間也用無向邊連接,并在無向邊旁標明聯系的型別,

7.設計 E-R 圖
- 設計一個資料庫系統的 E-R 模型,可按以下步驟進行:
(1)設計區域 E-R 模型,
① 確定物體型別;
② 確定物體間聯系的型別;
③ 確定物體型別的屬性;
④ 確定聯系型別的屬性;
⑤ 根據物體型別畫出 E-R 圖,
(2)設計全域 E-R 模型,
- 將所有的區域 E-R 圖集成為全域 E-R 模型,
(3)全域 E-R 模型的優化,
- 分析全域 E-R 模型,看能否反映和滿足用戶的需求,盡量減少物體的個數,減少物體型別所含的屬性個數,物體間的型別聯系無冗余,
8. E-R 圖向關系模型的轉換
1)(1∶1)聯系的 E-R 圖到關系模式的轉換
轉換原則:
? 每個物體集各對應一個關系模式;
? 對于(1:1)的聯系:
1)可以單獨對應一個關系模式,其屬性由聯系屬性、參與聯系的各物體集的主碼構成,其主碼可選參與聯系的物體集的任一的主碼,
2)也可以由聯系屬性及一方的主碼加入到另一方物體集對應的關系模式,

2)(1∶n)聯系的 E-R 圖到關系模式的轉換
轉換原則:
? 每個物體集各對應一個關系模式;
? 對于(1:n)的聯系
1)可以單獨對應一個關系模式:其屬性由聯系屬性、參與聯系的各物體集的主碼構成,但 n 端的主碼為該關系模式的主碼,
2)也可以由聯系屬性及 1 端的主碼加入到 n 端物體集對應的關系模式中,主碼仍為 n 端的主碼,

3)(m∶n)聯系的 E-R 圖到關系模式的轉換
轉換原則:
? 每個物體集各對應一個關系模式;
? 對于(m:n)的聯系,單獨對應一個關系模式,其屬性包括聯系的屬性、參與聯系的各物體集的主碼屬性,該關系模式的主碼由各物體集的主碼屬性共同組成,

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/240053.html
標籤:其他


