1. 程式人生 > >資料庫學習——1.基礎知識

資料庫學習——1.基礎知識

宣告:本文為個人學習心得體會,部分內容非原創。

一、認識資料庫

1.資料管理技術的發展

1.1資料庫的基本概念
(1)資料(Data)
資料就是對客觀事物反映的一種物理符號,可以是數字、文字、圖形、影象、聲音、語言和視訊等。這些多種形式的資料都需經過數字化後才能存入計算機。 –符號
(2)資料處理(Data Processing)
資料處理是指對各種形式的資料進行收集、整理、儲存、分類、排序、檢索、加工、統計和傳輸等一系列活動的總和。
(3)資料庫(DataBase,DB)
資料庫是長期儲存在計算機裝置上結構化的、可共享的相關資料的集合。它不僅包括描述事物的資料本身,而且還包括相關事物之間的聯絡。 –集合
(4)資料庫系統(DataBase System,DBS)
資料庫系統是指計算機系統引入資料庫後,利用資料庫技術進行資料管理的計算機系統。他一般由資料庫、資料庫管理系統(及開發工具)、應用系統、資料庫管理員(DataBase Administrator,DBA)和使用者構成。在不引起混淆的情況下人們常常把資料庫系統簡稱為資料庫。
(5)資料庫管理系統(DataBase Management System,DBMS)
資料庫管理系統是一個介於使用者和作業系統之間的一層資料管理軟體,是資料庫系統中的一個重要組成部分,可以幫助使用者建立、使用和維護資料庫。目前廣泛使用的大型資料庫管理系統有Oracle、Sybase等,小型資料庫管理系統有SQLserver、VisualFoxPro、Access等。

1.2資料庫系統
資料庫系統是指帶有資料庫並利用資料庫技術進行資料管理的計算機系統。一般有5部分組成:資料庫、資料庫管理系統(及其開發工具)、應用系統、資料庫管理員(DataBase Administrator,DBA)和使用者。

1.3資料庫系統的模式結構
資料庫系統的模式結構
(1)外模式(External Schema)
定義:也稱子模式(Subschema)或使用者模式,是資料庫使用者(包括應用程式設計師和終端使用者)能夠看見和使用的區域性資料的邏輯結構和特徵的描述,是資料庫使用者的資料檢視,是與某一應用有關的資料的邏輯表示。
理解:
1. 一個數據庫可以有多個外模式
2. 外模式就是使用者檢視
3. 外模式是保證資料安全性的一個有力措施

(2)模式(Schema)
定義:也稱邏輯模式,是資料庫中全體資料的邏輯結構和特徵的描述,是所有使用者的公共資料檢視。
理解:
1. 一個數據庫只有一個模式;
2. 是資料庫資料在邏輯級上的檢視;
3. 資料庫模式以某一種資料模型為基礎;
4. 定義模式時不僅要定義資料的邏輯結構(如資料記錄由哪些資料項構成,資料項的名字、型別、取值範圍等),而且要定義與資料有關的安全性、完整性要求,定義這些資料之間的聯絡。

(3)內模式(Internal Schema)
定義:也稱儲存模式(Storage Schema),它是資料物理結構和儲存方式的描述,是資料在資料庫內部的表示方式(例如,記錄的儲存方式是順序儲存、按照B樹結構儲存還是按hash方法儲存;索引按照什麼方式組織;資料是否壓縮儲存,是否加密;資料的儲存記錄結構有何規定)。
理解:
1. 一個數據庫只有一個內模式;
2. 一個表可能由多個檔案組成,如:資料檔案、索引檔案。它是資料庫管理系統(DBMS)對資料庫中資料進行有效組織和管理的方法
其目的有:
① 為了減少資料冗餘,實現資料共享;
② 為了提高存取效率,改善效能。

1.4資料庫系統的體系結構
隨著計算機體系結構的發展,資料庫系統的外部體系結構出現瞭如下5種結構:單使用者結構、主從式結構、分散式結構、客戶機/伺服器(C/S)結構、瀏覽器/伺服器(B/S)結構。
(1)單使用者結構
單使用者結構的整個資料庫系統(應用程式、DBMS、資料)裝在一臺計算機上,為一個使用者獨佔,不同機器之間不能共享資料,資料冗餘度大,是早期的最簡單的資料庫系統。例如,一個企業的各個部門都使用本部門的機器來管理本部門的資料,各個部門間的機器是相互獨立的。由於不同部門之間不能共享資料,因此企業內部存在大量的冗餘資料。
(2)主從式結構
主從式結構也稱為集中式結構,是一個主機帶多個終端使用者結構的資料庫系統,如圖1-10所示。在這種結構中,包括應用程式、DBMS、資料,都集中存放在主機上,所有處理任務都由主機來完成。各個使用者通過主機的終端可同時或併發地存取資料庫,共享資料資源。主從式結構的優點是結構簡單,易於管理、控制與維護,缺點是當終端使用者數目增加到一定程度後,主機的任務會過分繁重,成為瓶頸,使系統性能下降。系統的可靠性依賴主機,當主機出現故障時,整個系統都不能使用。
(3)分散式結構
分散式資料庫是資料庫技術與網路技術相結合的產物。在實際應用中,一些大型企業和連鎖店等經常是在物理位置上分散式存在的,單位中各個部門都維護著自身的資料,整個單位的資訊被分解成了若干資訊分塊,分散式資料庫正是針對這種情形建立起來的資訊橋樑。
分散式資料庫中的資料在邏輯上相互關聯,是一個整體,但物理地分佈在計算機網路的不同結點上,如圖1-11所示。網路中的每個結點都可以獨立處理本地資料庫中的資料,執行區域性應用,同時也可以通過網路通訊系統執行全域性應用。
分散式結構的優點是適應了地理上分散的公司、團體和組織對於資料庫應用的需求,缺點是資料的分佈存放給資料的處理、管理與維護帶來困難。當用戶需要經常訪問遠端資料時,系統效率會明顯地受到網路傳輸的制約。
(4)客戶機(Client)/伺服器(Server)結構
客戶機/伺服器結構也稱為C/S結構。它將資料庫系統看作由兩個非常簡單的部分組成,一個伺服器(後端)和一組客戶(前端)。伺服器指DBMS本身,客戶指在DBMS上執行的各種應用程式,包括使用者編寫的應用程式和內建的應用程式(由DBMS廠商或第三方廠商提供)。
在C/S結構的資料庫系統中,客戶端具有一定的資料處理、資料表示和資料儲存能力,伺服器端完成資料庫管理系統的核心功能。客戶機和伺服器兩者都參與一個應用程式的處理,可以有效地降低網路通訊量和伺服器運算量,從而降低系統的通訊開銷,可以稱之為一種特殊的協作式處理模式。在該體系結構中,客戶機向伺服器傳送請求,伺服器響應客戶機發出的請求並返回客戶機所需要的結果。
C/S結構的優點是充分利用兩端硬體環境的優勢,發揮客戶端的處理能力,很多工作可以在客戶端處理後再提交給伺服器,可以有效降低系統的通訊開銷,缺點是隻適用於區域網,客戶端需要安裝專用的客戶端軟體,升級維護不方便,並且對客戶端的作業系統一般也會有一定限制。
目前大多數應用軟體系統都是C/S形式的兩層結構,這種結構中客戶機和伺服器直接相連,伺服器要消耗資源用於處理與客戶機的通訊。當大量客戶機同時提交資料請求時,伺服器很有可能無法及時響應資料請求,導致系統執行效率降低甚至崩潰,而且客戶機應用程式的分發和協調難於處理。為此,三層結構的C/S模式應運而生。
(5)瀏覽器(Browser)/伺服器(Server)結構
瀏覽器/伺服器結構也稱為B/S結構,實質是一個三層結構的客戶機/伺服器體系。該結構是一種以Web技術為基礎的新型資料庫應用系統體系結構。它把傳統C/S模式中的伺服器分解為一個數據伺服器和多個應用伺服器(Web伺服器),統一客戶端為瀏覽器。
在B/S結構的資料庫系統中,作為客戶端的瀏覽器並非直接與資料庫相連,而是通過應用伺服器(Web伺服器)與資料庫進行互動。這樣減少了與資料庫伺服器的連線數量,而且應用伺服器(Web伺服器)分擔了業務規則、資料訪問、合法校驗等工作,減輕了資料庫伺服器的負擔,如圖1-13所示。
B/S結構的優點,首先是簡化了客戶端,客戶端只要安裝通用的瀏覽器軟體即可。因此,只要有一臺能上網的計算機就可以在任何地方進行操作而不用安裝專門的客戶應用軟體,節省客戶機的硬碟空間與記憶體,實現客戶端零維護。其次是簡化了系統的開發和維護,使系統的擴充套件非常容易。系統的開發者無須再為不同級別的使用者設計開發不同的應用程式,只需把所有的功能都實現在應用伺服器(Web伺服器)上,並就不同的功能為各個級別的使用者設定許可權即可。
B/S結構的缺點,首先是應用伺服器(Web伺服器)端處理了系統的絕大部分事務邏輯,從而造成應用伺服器執行負荷較重。其次是客戶端瀏覽器功能簡單,許多功能不能實現或實現起來比較困難。例如,通過瀏覽器進行大量的資料輸入就比較困難和不便。
基於上述三層B/S結構存在的問題,目前又提出多層B/S體系結構。多層B/S體系結構是在三層B/S體系結構中間增加了一個或多箇中間層,來提高整個系統的執行效率和安全性。

1.5資料庫管理系統
資料庫管理系統(DBMS)的主要功能有以下幾項:
(1)資料定義功能。DBMS提供相應資料語言來定義(DDL)資料庫結構,它們是刻畫資料庫框架,並被儲存在資料字典中。
(2)資料存取功能。DBMS提供資料操縱語言(DML),實現對資料庫資料的基本存取操作:檢索,插入,修改和刪除。
(3)資料庫執行管理功能。DBMS提供資料控制功能,即是資料的安全性、完整性和併發控制等對資料庫執行進行有效地控制和管理,以確保資料正確有效。
(4)資料庫的建立和維護功能。包括資料庫初始資料的裝入,資料庫的轉儲、恢復、重組織,系統性能監視、分析等功能。
(5)資料庫的傳輸。DBMS提供處理資料的傳輸,實現使用者程式與DBMS之間的通訊,通常與作業系統協調完成。