資料庫前戲__你首先要會的資料庫基礎知識都在這(權且可用做期末複習備考)
SQL
導航專用
第一部分 資料庫簡介
- 概括:
(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 中的 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)的聯絡,單獨對應一個關係模式,其屬性包括聯絡的屬性、參與聯絡的各實體集的主碼屬性,該關係模式的主碼由各實體集的主碼屬性共同組成。
相關文章
- MySQL 資料庫基礎知識點複習MySql資料庫
- C++期末複習資料 備考C++
- 資料庫基礎知識整理與複習總結資料庫
- 資料庫基礎知識資料庫
- 資料庫期末複習小結資料庫
- GEO資料庫基礎知識資料庫
- 資料庫基礎重要知識資料庫
- 基礎知識梳理~資料庫資料庫
- mysql資料庫學習基礎知識整理MySql資料庫
- 學習資料庫的基礎知識的書籍資料庫
- 資料庫基礎知識介紹!資料庫
- 資料庫學習筆記 - MySQL基礎知識資料庫筆記MySql
- MySQL?資料庫的基礎知識撩磅MySql資料庫
- 資料庫安裝以及基礎知識資料庫
- 小白系列:資料庫基礎知識解析資料庫
- 達夢資料庫基礎知識(二)資料庫邏輯結構資料庫
- mysql資料庫基礎知識--一分鐘讓你資料庫入門(sql基礎語法篇)MySql資料庫
- mysql資料庫sql語句基礎知識MySql資料庫
- 軟體測試--資料庫基礎知識資料庫
- MySQL資料庫基礎知識及優化MySql資料庫優化
- MySQL 基礎知識梳理學習(一)—-系統資料庫MySql資料庫
- 達夢資料庫基礎知識(一)資料庫物理儲存結構資料庫
- 資料庫學習:許可權管理資料庫
- 【編測編學】MySQL資料庫基礎知識MySql資料庫
- 達夢資料庫基礎知識(三)達夢資料庫記憶體結構資料庫記憶體
- 資料庫複習資料庫
- 七、許可權管理和資料庫備份資料庫
- 資料庫的許可權管理資料庫
- 夯實基礎系列三:資料庫知識總結資料庫
- 【編測編學】MySQL資料庫基礎知識2MySql資料庫
- 知識分享--資料庫資料庫
- MySQL資料庫知識MySql資料庫
- 再有誰說還不會資料庫基礎知識點!就把這個直接甩過去資料庫
- 聊聊圖資料庫和圖資料庫的小知識資料庫
- 資料庫基礎資料庫
- 資料庫 基礎資料庫
- 資料庫開發必備知識介紹資料庫
- 資料庫複習(一)資料庫