資料庫學習(一):資料庫導論

📢 本文由 gemini-3-flash-preview 翻譯

引言

之前資料庫筆記寫得不太好看,重新複習編寫一下 (雖然這個也挺亂的就是了)

SQL Series

資料庫學習(一):資料庫導論: 本文
資料庫學習(二):關聯模型: https://blog.yexca.net/archives/87
資料庫學習(三):SQL 語言: https://blog.yexca.net/archives/88
資料庫學習(四):關聯資料庫理論: https://blog.yexca.net/archives/89
資料庫學習(五):範式: https://blog.yexca.net/archives/90
資料庫學習(六):資料庫設計: https://blog.yexca.net/archives/91
資料庫學習(七):資料庫的控制功能: https://blog.yexca.net/archives/92

資料庫的四個基本概念

資料 (Data)

描述事物的符號記錄。

資料庫 (Database)

概括地講,資料庫資料具有永久儲存、有組織和可共享的三個基本特點。

嚴格地講,資料庫是長期儲存在電腦內、有組織的、可共享的大量資料的集合。資料庫中的資料按一定的資料模型組織、描述和儲存,具有較小的冗餘度、較高的資料獨立性和易拓展性,並可為各種使用者共享。

資料庫管理系統 (DBMS)

是位於使用者和作業系統之間的一層資料管理軟體。和作業系統一樣是電腦的基礎軟體。

主要功能:

  1. 資料定義功能

  2. 資料組織、儲存和管理

  3. 資料操作功能

  4. 資料庫的交易管理和執行管理

  5. 資料庫的建立和維護功能

  6. 其他功能(通訊功能,資料轉換功能,互訪和互操作功能等)

資料庫系統 (DBS)

是由資料庫、資料庫管理系統(及其應用開發工具)、應用程式和資料庫管理員(DBA)組成的儲存、管理、處理和維護資料的系統。

電腦資料管理的發展

  • 人工管理階段 (20 世紀 50 年代中期以前)

資料不保存、不共享,不具有獨立性。

  • 檔案系統階段 (20 世紀 50 年代後期至 60 年代中後期)

可保存,但共享性差,冗餘度大,獨立性差。

  • 資料庫系統階段 (20 世紀 60 年代 後期開始)

資料庫系統的出現使資訊系統從以「加工資料的程式為中心」轉向圍繞「共享的資料庫為中心」的新階段,實現整體資料的結構化。

資料的共享性高、冗餘度低且易擴充:資料可以大大減少資料冗餘,節約儲存空間,資料獨立性高。

資料模型的分類

根據模型應用的不同目的,可將模型分成兩類或者兩個層次:從資訊世界中抽象出的資料模型稱為概念資料模型;從電腦世界中抽象出的 DBMS (資料庫管理系統) 支援的資料模型稱為結構資料模型 (或者邏輯模型)。

概念資料模型 (概念模型)

概念資料模型是獨立於電腦系統的模型,完全不涉及資訊在系統中的表示,只是用來描述某個特定組織所關心的資訊結構,即按照使用者的觀點來對資料和資訊建模,用於資訊世界建模,一般採用實體-關聯方法 (E-R 方法) 表示。主要用於資料庫設計。

概念資料模型中的幾個常用術語如下:

  • 實體:客觀存在並可以相互區別的事物稱為實體。

  • 屬性:描述實體的特性稱為屬性。

  • 鍵 (Key):唯一識別實體的屬性集稱為鍵。

  • 實體型態:用實體名及其屬性集合來抽象和刻畫同類實體。

  • 實體集:同一類型實體的集合。

  • 值域 (Domain):屬性的取值範圍稱為該屬性的值域。

  • 關聯 (Relationship):實體之間的對應關係稱為關聯。

    兩個實體之間的關聯有三種類型:

    • 一對一關聯
    • 一對多關聯
    • 多對多關聯

實體-關聯方法表示的概念資料模型稱為 E-R 圖。實體用矩形,屬性用橢圓,並用無向邊將其與有關實體連接。

結構資料模型 (邏輯模型)

結構資料模型是直接面向資料庫的邏輯結構,任何一個 DBMS 都以某個結構資料模型為基礎。主要用於資料庫管理系統的實現。

結構資料模型主要包括:階層、網狀、關聯和物件導向模型。

  • 階層模型 (Hierarchical Model)

階層模型是用「樹狀結構」來表示資料之間的關聯,它的資料結構是一棵「有向樹」。

  • 網狀模型 (Network Model)

網狀模型是用「圖形結構」來表示資料之間的關聯。

  • 關聯模型 (Relational Model)

關聯模型是一種用二維表格結構來表示實體以及實體之間關聯的資料模型。每個二維表由列 (Row)、欄 (Column) 組成,又可稱為關聯 (Relation),關聯綱要是對關聯的描述。因此可以說,關聯模型是由關聯綱要組成的集合。

實體模型 (Physical Model)

是對資料最底層的抽象,它描述資料在系統內部的表示方法和存取方法,或在硬碟或磁帶上的儲存方式和存取方法,是面向電腦系統的。

資料庫系統的結構

資料庫產品很多,儲存結構也各不相同,但體系結構基本上都具有相同的特徵,採用「三級綱要和兩級映射」。

8aglbk7q6tk

三級綱要 (Three-level Schema)

  1. 概念綱要 (基本表)

也稱為綱要或邏輯綱要,是資料庫中全部資料的邏輯結構和特徵的描述,是所有使用者的公共資料視圖。

  1. 外綱要 (視圖)

也稱為使用者綱要或子綱要,是使用者與資料庫系統的介面,是使用者用到那部分資料的描述。

  1. 內綱要 (儲存檔案)

也稱儲存綱要,一個資料庫只有一個內綱要。它是資料實體結構和儲存方式的描述,是資料在資料庫內部的組織方式。

兩級映射

資料庫系統在三級綱要之間提供了兩級映射:綱要/內綱要映射、外綱要/綱要映射。

正因為這兩級映射保證了資料庫中的資料具有較高的邏輯獨立性和物理獨立性。

  1. 綱要/內綱要映射 (儲存)

存在於概念級和內部級之間,實現了概念綱要和內綱要之間的相互轉換。

當資料庫的儲存結構改變時,由資料庫管理員對綱要 / 內綱要映射作相應改變,可以使綱要保持不變,從而應用程式也不用改變。保證了資料與程式的物理獨立性

  1. 外綱要/綱要映射 (視圖)

存在於外部級和概念級之間,實現了外綱要和概念綱要之間的相互轉換。

當綱要改變時,由資料庫管理員對各個外綱要 / 綱要映射作相應改變,可以使外綱要保持不變。應用程式不必修改。保證了資料與程式的邏輯獨立性

資料的獨立性是指資料與程式獨立,將資料的定義從程式中分離出去。資料的獨立性是由 DBMS 的二級映射功能來保證的。資料的獨立性包括資料的物理獨立性和資料的邏輯獨立性。

  1. 資料的物理獨立性:指使用者的應用程式與資料庫中資料的實體儲存是相互獨立的。

  2. 資料的邏輯獨立性:指使用者的應用程式與資料庫中的邏輯結構是相互獨立的。

資料與程式之間的獨立性使得資料的定義和描述可以從應用程式中分離出去。另外,由於資料的存取由資料庫管理系統管理,從而簡化了應用程式的編寫,大大減少了應用程式的維護和修改。

資料庫系統的組成

  1. 硬體平台及資料庫

足夠大的記憶體、硬碟或磁碟陣列等設備,較高的通道能力以提高資料的傳送率。

  1. 軟體

資料庫管理系統,支持資料庫管理系統運行的作業系統,具有與資料庫介面的高階語言及其編譯系統,以資料庫管理系統為核心的應用開發工具,為特定應用環境開發的資料庫應用系統。

  1. 人員

開發、管理和使用資料庫的人員主要包括資料庫管理員、系統分析師和資料庫設計人員、應用程式設計師和最終使用者。


資料庫管理員職責:決定資料庫中資訊內容和結構、決定資料庫的儲存結構和存取策略、定義資料的安全性要求和完整性約束條件、監控資料庫的使用和運行、資料庫的改進和重組、重構。

This post is licensed under CC BY-NC-SA 4.0 by the author.