【數據庫系統概論】

只記錄了個人覺得的重點和難點知識,大部分是摘抄ppt,部分會給出自己的解答和擴展。

持續更新中


1. 緒論

1.1 數據庫系統概述

數據(Data) :數據庫存儲的基本對象,即數據表的一行數據,如一個學生

數據庫(Database,DB) :長期儲存在計算機內、有組織的、可共享的大量數據的集合。
基本特徵

  • 數據按一定的數據模型組織、描述和儲存
  • 可爲各種用戶共享、冗餘度較小、易擴展
  • 數據獨立性較高

數據庫管理系統 (DataBase Management System,DBMS) :位於用戶應用與操作系統之間的一層數據管理軟件,是基礎軟件,是一個大型複雜的軟件系統,能夠科學地組織和存儲數據、高效地獲取和維護數據。
主要功能:

  • 數據定義功能
    • 提供數據定義語言(DDL)
    • 定義數據庫中的數據對象
  • 數據組織、存儲和管理
    • 分類組織、存儲和管理各種數據
    • 確定數據在存儲級別上的結構和存取方式
    • 實現數據之間的聯繫
    • 提供多種存取方法提高存取效率
  • 數據操縱功能
    • 提供數據操縱語言(DML)
    • 實現對數據庫的基本操作 (查詢、插入、刪除和修改)
  • 數據庫的事務管理和運行管理
    • 數據的安全性、完整性、多用戶對數據的併發使用
    • 發生故障後的系統恢復數據庫
    • 由數據庫管理系統統一管理和控制,保證事務正確運行
  • 數據庫的建立和維護功能
    • 提供實用程序/工具,完成數據庫數據批量裝載,數據庫轉 儲,介質故障恢復,數據庫的重組織和性能監視等
  • 其它功能
    • 數據庫管理系統與網絡中其它軟件系統的通信
    • 數據庫管理系統系統之間的數據轉換
    • 異構數據庫之間的互訪和互操作

也就是說,數據庫管理系統就是我們平時說的數據庫,如mysql數據庫就是一個數據庫管理系統

八大常見數據庫管理系統

數據庫系統 ( DataBase System ,DBS ) :是指在計算機系統中引入數據庫後的系統構成。
在不引起混淆的情況下常常把數據庫系統簡稱爲數據庫。
數據庫系統的構成

  • 數據庫
  • 數據庫管理系統(及其應用開發工具)
  • 應用程序
  • 數據庫管理員(DataBase Administrator,DBA
    在這裏插入圖片描述

數據管理:對數據進行分類、組織、編碼、存儲、檢索和維護 ,數據處理和數據分析的中心問題 。

數據管理技術發展:人工管理階段、文件系統階段、數據庫系統階段。

數據庫系統的特點:

  • 數據結構化
  • 數據的共享性高,冗餘度低且易擴充
  • 數據獨立性高
  • 數據由數據庫管理系統統一管理和控制

數據獨立性:指應用程序數據結構之間相互獨立, 互不影響

  • 物理獨立性:應用程序與數據的物理存儲是相互獨立的,數據的物理存儲改變了,應用程序不變
  • 邏輯獨立性:

數據獨立性由數據庫管理系統的二級映像功能來保證。

數據庫管理系統提供的數據控制功能

  • (1)數據的安全性(Security)保護:保護數據以防止不合法的使用造成的數據的泄密和破壞。
  • (2)數據的完整性(Integrity)檢查:保證數據的正確性、有效性和相容性。
  • (3)併發控制(Concurrency Control) 對多用戶的併發操作加以控制和協調,防止相互干擾而得到錯誤的結果。
  • (4)數據庫恢復(Recovery) 將數據庫從錯誤狀態恢復到某一已知的正確狀態。

1.2 數據模型

數據模型是對現實世界數據特徵的抽象。

數據模型分爲兩類(兩個不同的層次)

  • (1) 概念模型,也稱信息模型。它是按用戶的觀點來對數據和信息建模,用於數據庫設計。
  • (2) 邏輯模型和物理模型。
    • 邏輯模型主要包括網狀模型、層次模型、關係模型、面向對象數據模型、對象關係數據模型、半結構化數據模型等。
    • 按計算機系統的觀點對數據建模,用於DBMS實現。
    • 物理模型是對數據最底層的抽象,描述數據在系統內(磁盤上)的表示方式和存取方法

概念模型

術語:

  • (1)實體(Entity) 客觀存在並可相互區別的事物稱爲實體。 可以是具體的人、事、物或抽象的概念。 (一張表)
  • (2)屬性(Attribute) 實體所具有的某一特性稱爲屬性。一個實體可以由若干個屬性來刻畫。 (字段)
  • (3)碼(Key) 唯一標識實體的屬性集稱爲碼。 (主鍵)
  • (4)實體型(Entity Type) 用實體名及其屬性名集合來抽象和刻畫同類實體稱爲實體型
  • (5)實體集(Entity Set) 同一類型實體的集合稱爲實體集
  • (6)聯繫(Relationship) 現實世界中事物內部以及事物之間的聯繫在信息世界中反映爲實體(型)內部的聯繫和實體(型)之間的聯繫。
    • 實體內部的聯繫: 是指組成實體的各屬性之間的聯繫
    • 實體之間的聯繫: 通常是指不同實體集之間的聯繫 實體之間的聯繫有一對一(1:1)、一對多(1:n)和多對多(m:n)等多種類型

實體-聯繫方法(Entity-Relationship Approach)
ER圖

數據模型的組成要素

  • 數據結構–描述系統的靜態特性
  • 數據操作–描述系統的動態特性
  • 完整性約束

數據模型 在這裏插入圖片描述
常用數據模型:

  • 層次模型:一棵樹,有且只有一個根節點;除根以外,其他節點有且只有一個父節點
    • 在這裏插入圖片描述
    • 完整性約束條件:無父則無子;強外關聯;
    • 在這裏插入圖片描述
  • 網狀模型:更傾向於連接方式
    • 在這裏插入圖片描述
  • 關係模型:更傾向於表達一張表的結構;(就是我們常用的關係數據,如同excel表)
    • 術語:
      • 關係(Relation)—— 一個關係對應通常說的一張表
      • 元組(Tuple)—— 表中的一行即爲一個元組
      • 屬性(Attribute)——表中的一列即爲一個屬性,給每一個屬性起一個名稱即屬 性名
      • 主碼(Key)——也稱碼鍵。表中的某個屬性組,它可以唯一確定一個元組
      • 域(Domain)——是一組具有相同數據類型的值的集合。 屬性的取值範圍來自某個域。 例:學生年齡屬性的域(15~45歲), 性別的域是(男,女), 系名的域是一個學校所有系名的集合;
      • 分量——元組中的一個屬性值。
      • 關係模式——對關係的描述 關係名(屬性1,屬性2,…,屬性n) 學生(學號,姓名,年齡,性別,系名,年級)
        在這裏插入圖片描述
  • 最基本的規範條件:關係的每一個分量必須是一個不可分的數據項,不允許表中還有表。
  • 關係的完整性約束:在這裏插入圖片描述
  • 在這裏插入圖片描述

1.3 數據庫系統的結構

從數據庫應用開發人員角度看:
數據庫系統採用三級模式結構,是數據庫系統內部的系統結構
從數據庫最終用戶角度看,數據庫系統的結構有:

  • 單用戶結構
  • 主從式結構
  • 分佈式結構
  • 客戶-服務器
  • 瀏覽器-應用服務器/數據庫服務器 等

數據庫系統模式
模式(Schema)

  • 是對數據庫邏輯結構和特徵的描述
  • 是型的描述,不涉及具體值
  • 模式是相對穩定的

實例(Instance)

  • 數據庫某一時刻的狀態——模式的一個具體值
  • 同一個模式可以有很多實例
  • 實例隨數據庫中的數據的更新而變動

數據庫系統的三級模式結構
在這裏插入圖片描述
理解三層模式:
內模式:記錄數據的物理結構和存儲方式,如使用堆存儲、壓縮存儲、加密等
模式: 數據庫中全體數據的邏輯結構和特徵的描述
外模式:數據庫用戶使用的局部數據的邏輯結構和特徵的描述

假設現在有一堆學生數據,存放在數據庫中,模式理解如下圖:
在這裏插入圖片描述

顯然,內模式和模式只有一種,外模式根據用戶需求,有多種。

三級模式是對數據的三個抽象級別。

數據庫管理系統內部提供二級映像

  • Map:{外模式:模式映像 }
  • Map:{模式:內模式映像 }

先舉個例子:
假設A和C認識,經常聯繫,他們直接聯繫,即A–>C。
有一天,C整容失敗了,A就不認識C了,AC就斷了。

現在加入映射。
A–>B–>C
A現在跟C聯繫,它需要通過B,這個B就是一個映射關係。
如果C現在整容了,管理員只需要讓B在認識一下C就行了(修改B),A繼續通過B找C,依舊能找到。
(爲什麼不修改A呢?因爲實際開發中,A作爲“用戶”,如果會因爲底層變動而改變,是非常不好的做法,這裏不多贅述,可以百度面向接口編程

外模式/模式映像:

  • 當模式改變時(例如增加新的關係、新的屬性、改變屬性的數據類型等),由數據庫管理員對各個外模式/模式的映像作相應改變,可以使外模式保持不變。應用程序是根據數據的外模式編寫的,從而應用程序不用修改,保證了數據與程序的邏輯獨立性,簡稱數據的邏輯獨立性。

(假設用戶想要的外模式視圖是(學號,姓名),當數據本身的模式變了,管理員就讓映射關係變一下,用戶依舊能得到(學號,姓名))

模式/內模式映像:

  • 數據庫只有一個模式,也只有一個內模式,所以模式/內模式映像是唯一的,它定義了數據全局邏輯結構與存儲結構之間的對應關係。例如,說明邏輯記錄和字段在內部是如何表示的。該映像定義通常包含在模式描述中。當數據庫的存儲結構改變時(例如選用了另一種存儲結構,即內模式變了),由數據庫管理員對模式/內模式映像作相應改變,可以使模式保持不變,從而應用程序也不必改變。保證了數據與程序之間的物理獨立性,簡稱數據的物理獨立性。

1.4 數據庫系統的組成

在這裏插入圖片描述

問題記錄

1. 如何理解數據獨立性中的邏輯獨立性

查看1.3

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章