資料庫原理分析(第四版)

2020-09-23 13:00:43

電腦科學之資料庫原理及應用教學之我見(第四版)

    1. 資訊、資料、資料處理與資料管理

資訊的定義:資訊是人腦對現實世界事物的存在方式、運動狀態以及事物之間聯絡的抽象反應,資訊是客觀存在的,人類有意識對資訊進行採集和加工

資訊的特徵:

  1. 源於物質和能量
  2. 可以感知
  3. 可以儲存、傳遞、再生和加工

資料的定義

資料是用來記錄資訊的可識別的符號組合,是資訊的具體表現形式,例某個同學的資訊就可以用一組資料來表示:S1、趙毅、女、計算機來表示。

(在這裡我認為的是資料和它的語意是無法分割的,同樣的數位在不同的場景下則代表不同的含義,單純地拿出一組資料則沒有任何意義。資訊則是對資料的語意解釋,即上面的資料在不形容人之前是沒有任何意義的,只有在形容人才被賦予了本來的意義,即解釋這些資料在不同場景下代表的含義。)

資料的表現形式:

可以用多種不同的資料形式來表示同一資訊,而資訊則不隨資料形式的不同而改變。

例 我今天買了10本書,在這裡的10可以改成十或ten都可以,不改變資訊。

資料的表現形式有數位、文字、圖形、影象、聲音等

資料與資訊的關係可以簡單地用一個公式來表達:

 資訊=資料+語意

(語意在這裡我簡單的理解為資料用來描述現實世界的事物並讓他有存在價值,即描述一個人高矮胖瘦和他的基本近況,這時資料就有語意了變成了資訊)

1.2資料庫技術的產生、發展

資料庫的發展經歷了三個階段,分別是人工管理、檔案系統和資料庫系統。

人工管理階段特點:資料沒有專門的存取裝置,也沒有專門的管理軟體,資料不共用也沒有獨立性

檔案系統階段特點:資料以檔案形式長期儲存,由檔案系統管理資料,程式與資料間有一定的獨立性,檔案的形式多樣化,資料具有一定的共用性

資料庫系統階段特點:

資料結構化、共用度高,冗餘低、獨立性高有統一的資料管理和控制功能

在這裡資料獨立性高即二級映像的兩個獨立加以理解

三個階段的管理主體:

人工管理階段:由人管理

檔案系統階段:由檔案系統管理

資料庫系統階段:由DBMS管理

重點!!!!!!!資料獨立性

資料獨立性高:即資料庫中的資料和應用程式之間相互獨立,即資料的邏輯結構、儲存結構以及存取方式的改變不影響應用程式

(在資料庫系統中,整個資料庫的結構可分為三級:使用者邏輯結構、資料庫邏輯結構、和物理結構。資料的獨立性分為兩級:物理獨立性和邏輯獨立性)

資料的物理獨立性:

當資料庫的物理結構(如儲存結構、存取方式、外部儲存裝置)發生改變時通過修改對映,使資料庫邏輯結構不受影響。進而使用者邏輯結構及應用程式不用改變

(資料庫管理系統來管理資料)

資料的邏輯獨立性:

當資料庫的邏輯結構發生改變時,通過修改對映使用者邏輯結構以及應用程式不用改變

資料庫管理系統提供下述四個方面的資料控制功能:

資料的安全性控制:防止不合法使用資料庫造成資料的洩露和破壞

資料的完整性控制:系統通過設定一些完整性規則等約束條件,確保資料的正確性、有效性和相容性

並行控制:

多個使用者同時存取或修改資料時系統可防止由於相互干擾而提供給使用者不正確的資料,並防止資料庫遭到破壞

資料恢復:

由於計算機系統的硬體故障和其他故意的破壞原因,造成資料庫中的資料不正確或資料丟失時,系統有能力將資料庫從錯誤狀態恢復至最近某一時刻的正確狀態

 

 

1.3資料庫系統的組成

資料庫系統(DBS)是指在計算機系統中引入資料庫後的系統

它主要由資料庫、資料庫使用者、計算機硬體系統和計算機軟體系統組成有時人們將資料庫系統簡稱為資料庫

資料庫(DB):是指儲存在計算機內的、有組織的,可共用的資料和資料物件的集合(這種集合按一定的資料模型組織,描述並長期儲存,同時能以安全和可靠地方法進行資料的檢索和儲存)

資料庫的特點

  1. 有組織
  2. 整合性
  3. 共用性

使用者:

資料庫使用者分為三類,分別是第一類使用者、第二類使用者、第三類使用者

第一類使用者:

即終端使用者,主要是使用資料庫的各級管理人員,工程技術人員和科研人員,一般為非計算機專業人員

第二類使用者:

即應用程式設計師,應用程式設計師負責為終端使用者設計和編寫應用程式,並進行偵錯和安裝.

第三類使用者:

即資料庫管理員,資料庫管理員是負責設計建立管理和維護資料庫以及協呼叫戶對資料庫要求的個人或工作團隊

計算機軟體系統

計算機軟體系統主要包括作業系統、資料庫管理系統及應用開發工具和應用系統

  1. 作業系統OS
  2. 資料庫管理系統DBMS:

是對資料進行管理的大型系統軟體,它是資料庫系統的核心組成部分。把抽象邏輯資料處理換成計算機中的具體物理資料的處理軟體

主要功能則是:

  1. 資料定義功能
  2. 資料操縱功能
  3. 資料庫執行管理功能
  4. 資料庫的建立和維護功能
  5. 資料通訊介面
  6. 資料組織儲存管理功能

DBMS的組成

  1. 語言編譯處理程式

1又細分為資料定義語言DDL編譯程式,資料操縱語言DML編譯程式實現對資料庫的基本操作。

它的型別細分為兩類,分別是自主型或自含型和宿主型。

  1. 系統執行控制程式
  2. 系統建立維護程式
  3. 資料字典:

描述資料庫中有關資訊的資料目錄。

  1. 應用開發工具
  2. 應用系統

1.4資料庫系統的內部體系結構

資料庫系統的三級模式結構:

概念;模式是資料庫中全體資料的邏輯結構和特徵的描述

內部體系結構則分為三級模式結構和二級映像(從邏輯上分,對使用者而言,外模式、模式和內模式分別對應一般使用者模式、概念模式、物理模式)

三級模式結構又再分為:

  • 外模式

一個資料庫中可以含有多個外模式,是資料庫使用者能看到並允許使用的那部分資料的邏輯結構和特徵的描述(它又被稱為子模式或使用者模式,並且它是三級結構的最外層,外模式一般是模式的子集,外模式也是保證資料庫安全性的一個有力措施)

  • 模式

一個資料庫只有一個模式,是資料庫中全體資料的邏輯結構和特徵的描述(是三級模式結構的中間層,不涉及資料的物理儲存細節和硬體環境,與具體的應用程式、所使用的應用開發工具及高階程式設計語言無關,僅涉及型的描述即(學號、姓名、年齡、系別))

  • 內模式

一個資料庫中只能含有一個,是對資料庫儲存結構的描述(它是三級結構的最內層,也是靠近物理儲存的一層,即與實際儲存資料方式有關的一層。例記錄以什麼儲存方式儲存的(順序儲存、b+樹儲存)、索引按照什麼方式組織、資料是否壓縮、是否加密。它不涉及任何儲存裝置的特定約束,如磁碟磁軌容量和物理塊大小)

我見:通過對資料庫三級模式結構的分析可以看出,一個資料庫系統,實際存在的只是物理級資料庫即內模式,事實上,DBMS的中心工作之一就是完成三級資料庫模式之間的轉換。

在資料庫系統中,外模式可以有多個,而模式和內模式只能各有一個,內模式是整個資料庫實際儲存的表示,而模式是整個資料庫實際儲存的抽象表示,外模式是邏輯模式的某一部分的抽象表示

二級映像:

二級映像是由DBMS在三級結構之間提供,正是二級映像保證了資料庫系統中的較高的資料獨立性,即邏輯獨立性和物理獨立性

  • 外模式/模式映像

外模式/模式映像保證了資料與程式之間的邏輯獨立性(模式描述的是資料的全域性邏輯結構,而外模式描述的則是資料的區域性邏輯結構,資料庫中的統一模式可以有任意多個外模式,對於每一個外模式,都存在一個外模式/模式映像,它確定了資料的區域性邏輯結構與全域性邏輯結構之間的對應關係,例 在學生的邏輯結構(學號、姓名、性別)中新增新的屬性 出生日期時,學生的邏輯結構變為(學號、姓名、性別、出生日期)

有資料庫管理員對各個外模式/模式映像作相應改變,這一映像功能保證了資料的區域性邏輯結構不變(外模式不變)即加上出生日期但如果沒有新增資料,出來的還是之前新增資料的原邏輯結構,並且實現資料與應用程式之間的獨立性)

(二)模式/內模式映像

模式/內模式映像確保了資料的物理獨立性(模式/內模式映像是唯一的,它確定了資料的全域性邏輯結構與儲存結構之間的對應關係,並且保證了資料儲存結構的變化不影響資料的全域性邏輯結構的改變,從而不必修改應用程式)

資料庫系統的三級模式和兩級映像的優點

  1. 保證資料的獨立性
  2. 簡化了使用者介面
  3. 有利於資料共用
  4. 有利於資料的安全保密

1.5資料庫系統的外部體系結構

  1. 單使用者結構的資料庫系統
  2. 主從式結構的資料庫系統
  3. 分散式結構的資料庫系統
  4. 客戶機/伺服器結構的資料庫系統
  5. 瀏覽器/伺服器結構的資料庫系統

1.6資料庫管理系統

1.6.1 DBMS的主要功能

  1. 資料定義功能
  2. 資料操縱功能
  3. 資料庫的執行管理

DBMS對資料庫的控制主要通過四個方面實現:資料的安全性控制、資料的完整性控制、多使用者環境下的資料並行性控制和資料庫的恢復

  1. 資料庫的建立和維護功能
  2. 資料通訊介面
  3. 資料的組織儲存和管理

1.6.2DBMS的組成(瞭解)

1.6.3DBMS的資料存取的過程(重點)

DBMS對資料的存取通常需要以下幾個步驟

  1. 使用者使用某種特定的資料操作語言向DBMS發出存取請求
  2. DBMS接收請求並將該請求解釋轉換成機器程式碼指令
  3. DBMS依次檢查外模式、外模式/模式映像、模式、模式/內模式映像及儲存結構定義
  4. DBMS對儲存資料庫執行必要的存取操作
  5. 從對資料庫的存取操作中接收結果
  6. 對得到的結果進行必要的處理,如格式轉換
  7. 將處理的結果返回給使用者