天天看點

《資料庫技術原理與應用教程第2版》——2.1資料庫中的基本概念

本節書摘來自華章出版社《資料庫技術原理與應用教程第2版》一書中的第2章,第2.1節,作者 徐潔磐 操鳳萍  ,更多章節内容可以通路雲栖社群“華章計算機”公衆号檢視。

本章将介紹資料庫的基礎知識,包括基本概念、基本結構、應用平台及特點等。本章内容十分重要,它對全書具有提綱挈領的作用。

1.資料

(1)資料的概念

資料(data)是現實世界中客體在計算機中的抽象表示。具體地說,它是一種計算機内的有限個數的一組符号表示。

由于資料是一種抽象的符号表示,是以它缺少語義,在必要時須對它作出語義解釋。

(2)資料的性質分類

1)資料的持久性:從存儲時間看,資料一般分為兩部分,其中一部分與程式僅有短時間的互動關系,随着程式的結束而消亡,它們稱為臨時性(transient)資料。這類資料一般存放于計算機記憶體中。而另一部分資料則對系統起着長期持久的作用,它們稱為持久性(persistent)資料,這類資料一般存放于計算機中的次級存儲器(如磁盤)内。

2)資料的共享性:從其使用對象看,資料可分為私有性與共享性資料。為特定應用程式)服務的資料稱為私有性(private)資料,而為多個應用程式)服務的資料則稱為共享性(share)資料。

3)資料的超大規模性:從其存儲數量看,資料可分為小規模、大規模及超大規模三種。資料的量是衡量與差別資料的重要标志,這是因為資料“量”的變化可能會引起資料“質”的變化。資料量由小變大後,就需要對資料進行管理、保護與控制。目前,當資料以超大規模形式出現時,一般均需管理、保護與控制。

随着技術的進步與應用的擴大,資料的特性不斷發生變化,這些變化主要表現為:

資料的量由小規模到大規模進而到超大規模。

資料的服務範圍由私有到共享。

資料的存儲周期由揮發到持久。

資料的這些變化使得現代資料具有超大規模的、持久的和共享的特點,本書如不加特别說明,所提資料均具這三種特性。

近期來,資料特性又有了新的變化,資料的量由超大規模而到“海量”“巨量”規模,資料服務範圍由共享到全球性共享,進而出現了網際網路+與大資料分析等新技術應用。

下面我們讨論資料與軟體間的關系。

(3)資料與軟體

軟體(software)是計算機科學的一大門類,它是建立在計算機硬體之上的一種運作(或處理)實體。軟體一般由程式與資料兩部分組成,其中程式給出了運作的過程表示,而資料則給出了運作的對象與結果。

在軟體中,資料(主要指其結構)是其穩定部分,而程式則是可變部分,是以資料稱為軟體中的不動點(fixed point),它在軟體中起着基礎性的作用。它們間關系可見圖21所示。

過去,軟體是以程式為中心,而資料則以私有形式從屬于程式。在這樣的系統中,資料是分散、淩亂的,于是造成了資料管理的混亂,如資料備援大、一緻性差、結構複雜等多種弊病。但經過若幹年的發展,資料在軟體中的地位和作用發生了本質的變化,在軟體中它已占據主體地位,而程式則已退居附屬地位,進而形成了以資料為中心的結構。在這樣的結構中,需要對資料進行集中、統一的管理,并使其為多個應用程式共享。這種結構如圖22所示,它為資料庫系統的産生與發展奠定了基礎。

《資料庫技術原理與應用教程第2版》——2.1資料庫中的基本概念

2.資料庫

資料庫(database,db)是資料的集合,它具有統一的結構形式,存放于統一的存儲媒體内,并由統一機構管理。它由持久、超大規模資料內建,并可被應用所共享。

資料庫存放資料,資料按所提供的資料模式存放,它能構造複雜的資料結構以建立資料間内在聯系與複雜關系,進而構成資料的全局結構模式。

3.資料庫管理系統

資料庫管理系統(database management system,dbms)是統一管理資料庫的一種軟體(屬系統軟體),它負責如下工作:

(1)資料組織定義

資料庫管理系統負責為資料庫建構資料結構,它包括為資料庫建構全局統一資料架構稱全局模式以及局部資料架構稱局部模式。

(2)資料存取的實體構作

資料庫管理系統負責為資料模式的實體存取構作有效的存取方法與手段,如構作索引(index)、集簇(cluster)及分區(partition)等。

(3)資料操縱

資料庫管理系統為使用者使用資料提供友善,它提供資料查詢、插入、修改以及删除的功能。此外,它還具有一定的運算、轉換、統計能力以及一定的過程調用能力。

(4)資料的完整性、安全性定義與檢查

資料庫中的資料具有内在語義上的關聯性與一緻性,它們構成了資料的完整性。資料的完整性是保證資料庫中資料正确性的必要條件,是以必須經常檢查以維護資料的正确性。

資料庫中的資料具有共享性,而資料共享可能會引發資料的非法使用,是以必須要對資料正确使用做出必要的規定,并在使用時檢查,進而保證資料的安全性。

維護資料庫的完整性與安全性是資料庫管理系統的基本職能。

(5)資料的并發控制與故障恢複

資料庫是一個內建、共享的資料集合體,它能為多個應用服務,是以就會出現多個應用對資料庫的并發操作的情況。而在并發操作中,多個應用間的互相幹擾會對資料庫中的資料造成破壞,是以,必須進行必要的控制以保證資料不受破壞,這就是資料的并發控制。

同時資料庫在運作時遭受外界破壞後有能力及時進行恢複,即資料的故障恢複。

(6)資料交換

資料庫中的資料需要與外界資料主體進行交換,這種主體可以是操作員、應用程式,也可以是另一種資料體。資料庫管理系統提供了資料交換的管理功能。

(7)資料的服務

資料庫管理系統提供對資料庫中資料的多種服務功能,如數學函數、輸入/輸出函數、資料轉換函數、日期函數等,此外還提供資料複制、轉儲、重組、性能監測、分析等服務功能以及可視化界面平台服務等。這些服務可以函數、過程及元件形式出現,也可以工具及工具包等形式出現。

此外,資料服務還包括資訊服務。資訊服務主要以資料字典為主。資料字典是一組關于資料的資料(即中繼資料),它存放資料庫管理系統中的資料模式結構、資料完整性規則、安全性要求等,此外,還包括資料管理中的多種參數。資料字典是資料庫管理系統中的一個專門的系統資料庫,它具有固定的模式結構,稱為資訊模式(information schema),使用者可用查詢語言對其操作,以擷取資料庫的結構性資訊。

為完成以上功能,資料庫管理系統一般提供以下統一的資料語言(data language):

1)資料定義語言(data definition language,ddl):該語言負責資料的模式定義、表定義、視圖定義與資料的實體存取構作。

2)資料操縱語言(data manipulation language,dml):該語言負責資料的操縱,包括查詢及增、删、改等操作。

3)資料控制語言(data control language,dcl):該語言負責資料完整性、安全性的定義與檢查以及事務、并發控制、故障恢複等功能。

以上三種語言都是非過程性語言,它們可以有多種表示形式。随着資料庫系統發展,這三種語言已逐漸合并成為一種語言。

此外,資料庫管理系統還提供與資料交換有關的語言與接口函數,同時還提供為使用者服務的服務性軟體,如程式包、函數庫、類庫、存儲過程以及專用工具等。

4.開發性資料庫管理

由于資料庫的共享性,是以對資料庫生成、維護等工作需要管理,其主要工作如下:

1)資料庫生成:在資料庫設計基礎上建立資料模式,生成資料庫。

2)資料庫運作維護:在資料庫運作過程中需對資料庫進行監督以保證其運作效率。同時對資料庫中資料的安全性、完整性、并發控制及系統恢複進行維護。此外,還須不斷調整内部結構及參數,以改善資料庫性能。

開發性資料庫管理中的運作維護由資料庫管理者(database administrator,dba)負責實施。而資料庫系統則由資料庫程式員負責實施。

5.資料庫系統

資料庫系統(database system,dbs)是一種采用資料庫技術的計算機系統,它是一個實際可運作的,向應用系統提供支撐的系統。

資料庫系統由五個部分組成:

資料庫(資料)

資料庫管理系統(軟體)

資料庫管理者(人員)

系統平台之一——硬體平台(硬體)

系統平台之二——軟體平台(軟體)

這五個部分構成了一個以資料庫為核心的完整的運作實體。

在資料庫系統中,硬體平台包括以下兩類:

1)計算機:它是系統中硬體的基礎平台,目前常用的有微型機、小型機、中型機、大型機及巨型機。近期還有移動終端、智能手機等。

2)網絡:過去,資料庫系統一般建立在單機上,但是近年來多建立在網絡上,包括區域網路、廣域網及網際網路,而其結構形式又以客戶/伺服器(c/s)方式與浏覽器/伺服器(b/s)方式為主。

在資料庫系統中,軟體平台包括三類:

1)作業系統:它是系統的基礎軟體平台,目前常用的有windows與unix(包括linux)兩種,近期還有android及ios等。

2)資料庫系統開發工具:為開發資料庫應用提供的工具,包括過程化程式設計語言(如java、c、c++等)、可視化開發工具(vb、pb、delphi等),還包括近期與網際網路有關的asp、jsp、php、html及xml等工具以及一些專用開發工具。

3)中間件:在網絡環境下,資料庫系統中的資料庫與應用間需要有一個提供标準接口與服務的統一平台,它們稱為中間件(middleware)。目前使用較普遍的中間件有微軟的 net、odmg的corba以及基于java的j2ee等。它們為支援資料庫應用開發、友善使用者使用提供了基礎性的服務。

6.資料庫應用系統

資料庫應用系統(database applied system,dbas)是以資料庫為核心,以資料處理為内容的應用系統,它利用資料庫系統作應用開發,可構成一個資料庫應用系統。資料庫應用系統是由資料庫系統、應用軟體及應用界面三部分組成,具體組成包括:

圖2.3資料庫應用系統層次結構示意圖

資料庫

資料庫管理系統

資料庫管理者

硬體平台

軟體平台

應用軟體

應用界面

其中,應用軟體是由資料庫接口工具及應用開發工具編寫而成,應用界面大都由相關的可視化工具開發而成。

資料庫應用系統有八個部分,它們以一定的邏輯層次結構方式組成一個以資料庫系統為核心的應用實體,其層次結構如圖2-3所示。

《資料庫技術原理與應用教程第2版》——2.1資料庫中的基本概念

資料庫應用系統是根據需求開發的,其開發内容有四個部分:

資料庫生成

應用程式編寫

界面開發

接口組成

目前很多的流行的應用系統都屬于此種系統,它們一般也稱為資訊系統(information system),例如管理資訊系統(mis)、企業資源規劃(erp)、辦公自動化系統(oa)、情報檢索系統(irs)、客戶關系管理(crm)、财務資訊系統(fis)等均為資訊系統。