資料庫複習-1.前言

資料庫複習-1.前言

引子

資料是資料庫中儲存的基本物件。
資料的定義:描述事物的符號記錄。
資料種類:文字、圖形、影象、聲音。

影象著重於有畫面,圖象特指數學上的函式圖象。

資料的特點:資料與其語義是不可分的。
資料的含義稱為資料的語義,資料與語義不可分的。
例如 93是一個資料

  • 語義1:學生某門課的成績
  • 語義2:某人的體重
  • 語義3:計算機系某一級的學生人數

資訊是指現實世界實物的存在或運動的反映。
資料是將現實世界中的各種資訊記錄下的、可以識別的符號,是資訊的載體,資訊的具體表示形式。
資訊與資料的聯絡:

  • 資料是資訊的符號表示,或稱載體;
  • 資訊是資料的內涵,時資料的語義解釋;
  • 資料是符號化的資訊;
  • 資訊是語義化的資料。

資料處理實際上就是利用計算機進行資料處理的過程。
資料庫的定義:資料庫是長期儲存在計算機內、有組織的 、可共享的大量資料集合。
資料庫的特徵:

  • 資料按一定的資料模型(之後提到)、描述和儲存。
  • 可為各種使用者共享
  • 冗餘度較小
  • 資料獨立性較高
  • 易擴充套件

相關概念

  所謂資料庫是長期儲存在計算機內的、有組織的、可共享的資料集合。資料庫中的資料按一定的資料模型組織。儲存和描述,由DBMS同一管理,多使用者共享。
  資料庫系統是指一個計算機儲存記錄的系統。即,它是一個計算機系統,該系統的目標是儲存資訊並支援檢索和更新所需要的資訊。它通常由資料庫,軟體,硬體,使用者幾個部分組成。
  資料庫管理系統是一個通用的軟體系統,由一組計算機程式組成。它能夠對資料進行有效的管理,併為使用者提供一個軟體環境,方便使用者使用資料庫中的資訊。

資料處理的三大階段

  1. 人工處理階段
  2. 檔案系統階段
  3. 資料庫系統階段

人工智慧階段

背景:

  • 計算機主要用於科學計算
  • 外存只有磁帶、卡片、紙袋等,沒有磁碟等直接存取裝置。
  • 沒有作業系統,沒有資料觀看軟體。

特點:

  • 資料不儲存
  • 應用程式管理資料
  • 資料不共享
  • 資料不具有獨立性

檔案系統階段

背景:

  • 計算機不但用於科學計算,還用於管理。
  • 外存有了磁碟、磁鼓等直接存取裝置。
  • 有了專門管理資料的軟體,一般稱為檔案系統。

特定:

  • 資料以檔案的形式長期儲存。
  • 一個資料檔案對應一個或幾個使用者程式,還是面向應用的,具有一定的共享性。
  • 由檔案系統管理資料。
  • 資料與程式有一定的獨立性,因為檔案的邏輯結構與儲存結構由系統進行轉換,資料儲存 上的改變不一定反野在程式上。

檔案系統的缺點:

  • 資料冗餘和不一致
  • 資料訪問困難
  • 資料孤立
  • 完整性問題
  • 原子性問題
  • 併發訪問異常
  • 安全性問題

資料庫系統階段

背景:

  • 大規模資料管理。計算機管理的資料量大,關係複雜,共享性要求高(多種應用、不同語言共享資料)。
  • 外存有了大容量磁碟,光碟。
  • 軟體價格上升,硬體價格下降,編制和維護軟體及應用程式成本相對增加,其中維護的成本更高。
    資料庫觀點:資料不是依賴於處理過程的附屬品,而是現實世界中獨立存在的物件。
    資料獨立

資料庫的工作模式

特點:
1.面向全組織的結構化。

  • 支援全企業的應用而不是某一個引用。
  • 通過統一的結構來描述資料及資料之間客觀存在的本質聯絡,這是資料庫系統的主要特徵之一,是與檔案系統的根本差別。

2.資料整合與共享,可控冗餘度

  • 資料面向整個系統,而不是面向某一應用,資料集中管理,並可以被多個使用者和多個應用程式共享。
  • 資料共享可以減少資料冗餘,節省儲存空間,減少存取時間,並避免資料之間的不相容性和不一致性。
  • 每一個應用選用資料庫的一個子集,只是重新選取不同子集或者加上一小部分資料,就可以滿足新的應用要求,這就是易擴充套件性。
  • 根據應用的需要,可以控制資料的冗餘度。

3.資料獨立性好

  • 資料與程式相對獨立,把資料庫的定義和描述從應用程式中分離出去。描述又是分級的(全域性邏輯、區域性邏輯、儲存),資料的存取由系統管理,使用者不必考慮去路徑等細節,從而簡化了應用程式。
  • 資料獨立性:當資料的結構發生變化時,通過系統提供的映像(轉換)功能,使應用程式不必改變。它包括資料物理獨立性和邏輯獨立性。

4.統一的控制機制

  • 資料的安全性控制。
    • 保護資料以防止不合法的使用所造成的資料洩漏和破壞。
    • 措施:使用者標識與鑑定,存取控制。
  • 資料的完整性控制
    • 資料的完整性、有效性、相容性。
    • 措施:完整性約束條件定義和檢查。
  • 併發控制
    • 對多使用者的併發操作加以控制、調,防止其互相干擾而得到錯誤的結果並使資料庫完整性遭到破壞。
    • 措施:封鎖。
  • 資料庫恢復
    • 將資料庫從錯誤狀態恢復到某一個已知正確狀態,防止資料丟失和損壞,保證資料的正確性。

資料模型

模型是現實世界特徵的模擬和抽象。資料模型是現實世界資料特徵的抽象。

資料模型應滿足三個方面的要求:

  • 能比較真實地模擬現實世界;
  • 容易為人理解;
  • 便於在計算機上實現。

典型的資料模型:

  • 網狀模型
  • 層次模型
  • 網狀模型
  • 關係模型
  • 物件導向模型

資料庫管理系統

什麼是DBMS?
– 位於使用者與作業系統之間的一層資料管理軟體。
– 是基礎軟體,是一個大型複雜的軟體系統。

DBMS的用途
科學地組織和儲存資料、高效地獲取和維護資料。
資料定義功能:

  • 提供資料定義語言(DDL)
  • 定義資料庫中的資料物件

資料組織、儲存和管理:

  • 分類組織、儲存和管理各種資料
  • 確定組織資料的檔案結構和存取方式
  • 實現資料之間的聯絡
  • 提供多種存取方式調高存取效率

資料操縱功能:
– 提供資料操縱語言(DML)
– 實現對資料庫的基本操作(查詢、插入、刪除和修改)

資料庫的事務管理和執行管理
資料庫在建立、執行和維護時由DBMS統一管理和控制保證資料的安全性、完整性、多使用者對資料的併發使用發生故障後的系統恢復。
資料庫的建立和維護工程:
– 資料庫初始資料裝載轉換
– 資料庫轉儲
– 介質故障恢復
– 資料庫的重組織
– 效能監視分析等

資料庫的重組織:資料庫執行一段時間後,由於記錄的不斷增、刪、改,會使資料庫的物理儲存變壞,降低了資料庫儲存空間的利用率和資料的存取效率。資料庫管理員就要進行資料庫的重組織。在重組織過程中,按原設計要求重新安排記錄的儲存位置。

DML、DDL、DCL區別
總體解釋:
DML(data manipulation language):
它們是SELECT、UPDATE、INSERT、DELETE,就象它的名字一樣,這4條命令是用來對資料庫裡的資料進行操作的語言。
DDL(data definition language):
DDL比DML要多,主要的命令有CREATE、ALTER、DROP等,DDL主要是用在定義或改變表(TABLE)的結構,資料型別,表之間的連結和約束等初始化工作上,他們大多在建立表時使用。
DCL(Data Control Language):
是資料庫控制功能。是用來設定或更改資料庫使用者或角色許可權的語句,包括(grant,deny,revoke等)語句。在預設狀態下,只有sysadmin,dbcreator,db_owner或db_securityadmin等人員才有權力執行DCL。

其他功能:
– DBMS與網路中其它軟體系統的通訊
– 兩個DBMS系統的資料轉換
– 異構資料庫之間的互訪和互操作

資料庫系統

定義:1.資料庫系統是指在計算機系統中引入資料庫後的系統構成。
2.在不引起混淆的情況下常常把資料庫系統簡稱為資料庫。
資料庫系統的構成:
– 資料庫
– 資料庫管理系統(及其開發工具)
– 資料庫管理員

![資料庫系統結構圖]

資料結構化

整體資料結構化是資料庫的主要特徵之一。
整體結構化:
– 不再僅僅針對某一個應用,而是面向全組織。
– 不僅資料內部結構化,整體是結構化的,資料之間具有聯絡。

資料庫中實現的是真正的結構化。

  • 資料的結構化用的資料模型描述,無需程式定義和解釋。
  • 資料變長。
  • 資料的最小存取單位是資料項。

資料獨立性

  • 物理獨立性:指使用者的應用程式儲存在磁碟上的資料庫中的資料是相互獨立的。當資料的物理儲存變了,應用程式不會改變。
  • 邏輯獨立性:指使用者的應用程式與資料庫的邏輯結構是相互獨立的。資料的邏輯結構改變了,使用者程式也可以不變。
    PS:資料獨立性是由DBMS的二級對映功能來保證的。

資料庫的二級對映

DBMS對資料的控制功能

  • 資料的安全性保護:使每一個使用者只能指定方式使用和處理指定資料,保護資料以防止不合法的使用造成的資料的洩漏和破壞。
  • 資料的完整性檢查:將資料控制在有效的範圍內,或保證資料之間滿足一定的關係。
  • 併發控制:對多使用者的併發操作加以控制和協調,防止相互干擾而得到錯誤的結果。
  • 資料庫恢復:將資料庫從錯誤狀態恢復到某一已知的正確的狀態。

應用程式和資料的對應關係

資料模型

在資料庫中用資料模型這個工具來抽象、表示和處理現實世界重的資料和資訊。

通俗地講資料模型就是現實世界的模擬。
資料模型應滿足以下要求:

  • 能比較真實地描述模擬顯示世界
  • 容易為人所理解
  • 便於在計算機上實現

兩大類資料模型

資料型別分為兩類(分屬兩個不同的層次):

1.概念模型(資訊模型):按使用者的觀點來對資料和資訊建模,用於資料庫設計。
2.邏輯模型和物理模型:

  • 邏輯模型主要包括網狀模型、層次模型、關係模型、物件導向模型等,按計算機系統的觀點對資料建模,用於DBMS實現。
  • 物理模型是對資料最底層的抽象,描述資料在系統內部的表示方式和存取方法,在磁碟或磁帶上的儲存方法和存取方法。

客觀物件的抽象過程–兩步抽象
1. 顯示世界中的客觀物件為概念模型;
2. 把概念模型轉換為某一DBMS支援的資料模型。
現實世界中客觀物件的抽象過程

資料模型的組成要素

資料結構

資料結構定義:是所研究物件型別的集合。

  • 二維表是關係模型中的資料結構,一個關係就是一個二維表。
  • 層次模型是指用一顆“有向樹”的資料結構來表示表示各類實體以及實體間的聯絡,樹中每一個節點代表一個記錄型別,樹狀結構表示實體型之間的聯絡。

可以分兩類物件:

  • 與資料型別、內容、性質有關的物件
  • 與資料之間聯絡有關的物件

資料結構是對系統靜態特性的描述
按資料結構的型別命名資料庫。

資料操作

對資料庫中各種物件(型)的例項(值)允許執行的操作的集合(包括操作及有關的操作規則)。
資料操作的型別:

  • 查詢
  • 插入
  • 刪除
  • 修改

PS:插入、刪除和修改合稱為更新

資料模型對操作的含義:

  • 操作的確切含義
  • 操作符號
  • 操作規則(如優先順序)
  • 實現操作的語言

資料操作是對系統動態特性的描述。(資料結構是靜態描述)

資料控制就是會修改到資料字典表的操作,例如drop table ,create tablespace等操作,都會修改資料字典的,這些稱為DDL操作;資料操作就是DML,只會修改表的資訊,不會涉及到資料字典的資訊。此外,DML操作在沒有commit前都可以rollback,DDL操作時不可以rollback的。

資料的完整性約束條件

資料的約束條件的概念:

  • 一組完整性規則的集合。
  • 完整性規則是給定的資料模型中資料及其 聯絡所具有的制約和依存關係。
  • 用以限定符合資料結構的資料庫狀態以及狀態的變化,以保證資料的正確、有效、相容。

資料模型對完整性約束條件的定義:

  • 反映和規定本資料模型必須遵守的基本的通用的完整性約束條件。例如在關係模型中,任何關係必須滿足實體完整性和參照完整性兩條。
  • 提供定義完整性約束條件的機制,以反映具體應用所設計的資料必須遵守的特定的語義約束條件。