- 數據庫原理及應用(Access版)第3版
- 吳靖
- 4199字
- 2020-04-07 16:33:28
1.2 數據庫系統
本節討論數據庫系統的構成,數據庫系統的特點,數據庫的發展過程以及數據管理技術的發展。
1.2.1 數據庫系統的構成
數據庫技術所要解決的基本問題如下。
1)如何抽象現實世界中的對象,如何表達數據以及數據之間的聯系。
2)如何方便、有效地維護和利用數據。
通常意義下,數據庫是數據的集合。一個數據庫系統的主要組成部分是數據、數據庫、數據庫管理系統、應用程序及用戶。數據存儲在數據庫中,用戶和用戶應用程序通過數據庫管理系統對數據庫中的數據進行管理和操作。
1.數據
數據(Data)是對客觀事物的抽象描述。數據是信息的具體表現形式,信息包含在數據之中。數據的形式或者說數據的載體是多種多樣的,它們可以是數值、文字、圖形、圖像、聲音等。例如,用會計分錄描述企業的經濟業務,會計分錄反映了經濟業務的來龍去脈。會計分錄就是其所描述的經濟業務的抽象,并且是以文字和數值的形式表現的。
數據的形式還不能完全表達數據的內容,數據是有含義的,即數據的語義或數據解釋。所以數據和數據的解釋是不可分的。例如,(983501011,張捷,女,1978,北京,信息學院)就僅僅是一組數據,如果沒有數據解釋,讀者就無法知道這是一名學生還是一名教師的數據,1978應該是一個年份,但它是出生年份還是參加工作或入學的年份就無法了解了。在關系數據庫中,上述數據是一組屬性值,屬性是它們的語義。
通過對數據進行加工和處理,從數據中獲取信息。數據處理通常包括數據采集、數據存儲、數據加工、數據檢索和數據傳輸(輸出)等環節。
數據的3個范疇分為現實世界、信息世界和計算機世界。數據庫設計的過程,就是將數據的表示從現實世界抽象到信息世界(概念模型),再從信息世界轉換到計算機世界(數據世界)。
2.數據庫
數據庫(DataBase)是存儲數據的容器。通常,數據庫中存儲的是一組邏輯相關的數據的集合,并且是企業或組織經過長期積累保存下來的數據集合,是組織的重要資源之一。數據庫中的數據按一定的數據模型描述、組織和存儲。人們從數據中提取有用信息,信息的積累成為知識,豐富的知識創造出智慧。
3.數據庫管理系統
數據庫管理系統(DataBase Management System,DBMS)是一類系統軟件,提供能夠科學地組織和存儲數據、高效地獲取和維護數據的環境。其主要功能包括數據定義、數據查詢、數據操縱、數據控制、數據庫運行管理、數據庫的建立和維護等。DBMS一般由軟件廠商提供,如Microsoft公司的SQL Server和Access等。
4.數據庫系統
一個完整的數據庫系統(DataBase System,DBS)由保存數據的數據庫、數據庫管理系統、用戶應用程序和用戶組成,如圖1-1所示。DBMS是數據庫系統的核心。用戶以及應用程序都是通過數據庫管理系統對數據庫中的數據進行訪問的。

圖1-1 數據庫系統組成
通常一個數據庫系統應該具備如下功能。
1)提供數據定義語言,允許使用者建立新的數據庫并建立數據的邏輯結構(Logical Structure)。
2)提供數據查詢語言。
3)提供數據操縱語言。
4)支持大量數據存儲。
5)控制并發送訪問。
1.2.2 數據庫系統的特點
數據庫系統具有如下特點。
1.數據結構化
數據庫中的數據是結構化的。這種結構化就是數據庫管理系統所支持的數據模型。使用數據模型描述數據時,不僅描述了數據本身,同時描述了數據之間的聯系。按照應用的需要,建立一種全局的數據結構,從而構成了一個內部緊密聯系的數據整體。關系數據庫管理系統支持關系數據模型,關系模型的數據結構是關系——滿足一定條件的二維表格。
2.數據高度共享、低冗余度、易擴充
數據的共享度直接關系到數據的冗余度。數據庫系統從整體角度看待和描述數據,數據不再面向某個應用,而是面向整個系統。因此,數據庫中的數據可以高度共享。數據的高度共享本身就減少了數據的冗余,同時確保了數據的一致性,同一數據在系統中的多處引用是一致的。
3.數據獨立
數據的獨立性是指數據庫系統中的數據與應用程序之間是互不依賴的。數據庫系統提供了兩方面的映像功能,從而使數據既具有物理獨立性,又具有邏輯獨立性。
數據庫系統的一個映像功能是數據的總體邏輯結構與某類應用所涉及的局部邏輯結構之間的映像或轉換功能。這一映像功能保證了當數據的總體邏輯結構改變時,通過對映像的相應改變可以保持數據的局部邏輯結構不變。由于應用程序是依據數據的局部邏輯結構編寫的,所以應用程序不必修改。這就是數據與程序的邏輯獨立性,簡稱數據的邏輯獨立性。
數據庫系統的另一映像功能是數據的存儲結構與邏輯結構之間的映像或轉換功能。這一映像功能保證了當數據的存儲結構(或物理結構)改變時,通過對映像的相應改變可以保持數據的邏輯結構不變,從而應用程序也不必改變。這就是數據與程序的物理獨立性,簡稱數據的物理獨立性。
4.數據由數據庫管理系統統一管理和控制
DBMS提供以下幾方面的數據管理與控制功能。
(1)數據安全性
數據安全性(Security)是指保護數據,防止不合法使用數據造成數據的泄密和破壞,使每個用戶只能按規定權限對某些數據以某種方式進行訪問和處理。例如,部分用戶對學生成績只能查閱不能修改。
(2)數據完整性
數據完整性(Integrity)是指數據的正確性、有效性、相容性和一致性,即將數據控制在有效的范圍內,或要求數據之間滿足一定的關系。
(3)并發控制
當多用戶的并發(Concurrency)進程同時存取、修改數據庫時,可能會發生相互干擾而得到錯誤的結果,并使得數據庫的完整性遭到破壞,因此必須對多用戶的并發操作加以控制和協調。
(4)數據庫恢復
計算機系統的硬件故障、軟件故障、操作員的失誤以及故意的破壞都會影響數據庫中數據的正確性,甚至造成數據庫部分或全部數據的丟失。DBMS必須具有將數據庫從錯誤狀態恢復到某一已知的正確狀態(也稱為完整狀態或一致狀態)的能力,這就是數據庫的恢復(Recovery)功能。
1.2.3 數據庫的發展過程
美國學者詹姆斯·馬丁在其《信息工程》和《總體數據規劃方法論》中,將數據環境分為4種類型,闡述了數據管理即數據庫的發展過程。
(1)數據文件
在數據庫管理系統出現之前,程序員根據應用的需要,用程序語言分散地設計應用所需要的各種數據文件。數據組織技術相對簡單,但是隨著應用程序的增加,數據文件的數量也在不斷增加,最終會導致很高的維護成本。數據文件階段,會為每一個應用程序建立各自的數據文件,數據是分離的、孤立的,并且隨著應用的增加,數據被不斷地重復,數據不能被應用程序所共享。
(2)應用數據庫
意識到數據文件帶來的各種各樣的問題,于是就有了數據庫管理系統。但是各個應用系統的建立依然是“各自為政”,每個應用系統建立自己的數據庫文件。隨著應用系統的建立,孤立的數據庫文件也在增加,“數據孤島”產生,數據仍然在被不斷地重復,數據不能共享,并且導致了數據的不一致和不準確。
(3)主題數據庫
主題數據庫是面向業務主題的數據組織存儲方式,即按照業務主題重組有關數據,而不是按照原來的各種登記表和統計報表來建立數據庫。它強調信息共享(不是信息私有或部門所有)。主題數據庫是對各個應用系統“自建自用”數據庫的徹底否定,強調各個應用系統“共建共用”的共享數據庫;所有源數據一次、一處輸入系統(不是多次、多處輸入系統)。同一數據必須一次、一處進入系統,保證其準確性、及時性和完整性,經由網絡-計算機-數據庫系統,可以多次、多處使用;主題數據庫由基礎表組成,基礎表具有如下特性:原子性(表中的數據項是數據元素)、演繹性(可由表中的數據生成全部輸出數據)和規范性(表中數據結構滿足三范式要求)。
(4)數據倉庫
數據倉庫是將從多個數據源收集的信息進行存儲,存放在一個一致的模式下。數據倉庫通過數據清理、數據變換、數據集成、數據裝入和定期數據刷新來構造。建立數據倉庫的目的是進行數據挖掘。
數據挖掘是從海量數據中提取出知識。數據挖掘是以數據倉庫中的數據為對象,以數據挖掘算法為手段,最終以獲得的模式或規則為結果,并通過展示環節表示出來。
1.2.4 數據管理技術的發展
計算機數據管理隨著計算機硬件、軟件技術和計算機應用范圍的發展而不斷發展,經歷了人工管理階段、文件系統階段和數據庫技術階段3個階段。對數據管理是為了對數據進行處理,數據處理的過程包括數據收集、存儲、加工和檢索等過程。
1.人工管理階段
20世紀50年代中期以前,計算機主要用于數值計算。從硬件系統看,當時的外存儲設備只有紙帶、卡片、磁帶,沒有直接存取設備;從軟件系統看,沒有操作系統以及管理數據的軟件;從數據看,數據量小,數據無結構,由用戶直接管理,且數據間缺乏邏輯組織,數據依賴于特定的應用程序,缺乏獨立性。人工管理數據階段的特點如下。
●數據不能保存:一個目標計算完成后,程序和數據都不能被保存。
●應用程序管理數據:應用程序與數據之間缺少獨立性。
●數據不能共享:數據是面向應用的,一組數據只能對應一個程序。
●數據不具有獨立性:數據結構改變后,應用程序必須修改。
2.文件系統階段
20世紀50年代后期到60年代中后期,計算機應用從科學計算發展到科學計算和數據處理。1954年出現了第一臺商業數據處理的電子計算機UNIVACI,標志著計算機開始應用于以加工數據為主的事務處理階段。基于計算機的數據處理系統也就從此迅速發展起來。這個階段,硬件系統出現了磁鼓、磁盤等直接存取數據的存儲設備;軟件系統有了文件系統,處理方式也從批處理發展到了聯機實時處理。文件系統階段的數據管理特點如下。
●數據可以長期保存:數據能夠保存在存儲設備上,可以對數據進行各種數據處理操作,包括查詢、修改、增加、刪除操作等。
●文件系統管理數據:數據以文件形式存儲在存儲設備上,有專門的文件系統軟件對數據文件進行管理,應用程序按文件名訪問數據文件,按記錄進行存取,可以對數據文件進行數據操作。應用程序通過文件系統訪問數據文件,使得程序與數據之間具有一定的獨立性。
●數據共享差、數據冗余大:仍然是一個應用程序對應一個數據文件(集),即便是多個應用程序需要處理部分相同的數據時,也必須訪問各自的數據文件,由此造成數據的冗余,并可能導致數據不一致;數據不能共享。
●數據獨立性不好:數據文件與應用程序一一對應,數據文件改變時,應用程序就需要改變;同樣,應用程序改變時,數據文件也需要改變。
3.數據庫技術階段
20世紀70年代開始有了專門進行數據組織和管理的軟件—數據庫管理系統,特別在20世紀80年代后期到20世紀90年代,由于金融和商業的需求,數據庫管理系統得到了迅猛的發展。數據庫管理系統管理數據具有如下特點。
●數據結構化。
●數據共享性高,冗余度低,易擴充。
●數據獨立性高。
●數據由DBMS統一管理,DBMS具有完備的數據管理和控制功能。
- ClickHouse性能之巔:從架構設計解讀性能之謎
- Java系統分析與架構設計
- NLTK基礎教程:用NLTK和Python庫構建機器學習應用
- MongoDB for Java Developers
- Getting Started with PowerShell
- 編寫高質量代碼:改善C程序代碼的125個建議
- Java深入解析:透析Java本質的36個話題
- GeoServer Beginner's Guide(Second Edition)
- JavaScript:Moving to ES2015
- 微信小程序全棧開發技術與實戰(微課版)
- 從零開始學C#
- Microsoft 365 Certified Fundamentals MS-900 Exam Guide
- 大學計算機基礎實驗指導
- Android Development Tools for Eclipse
- ASP.NET求職寶典