- 關系數據庫與SQL Server(2019版)
- 段利文 龔小勇主編
- 3263字
- 2021-12-17 17:41:01
項目1.1 認識數據庫系統
數據庫系統涉及很多基本概念,作為數據庫系統的初學者,有必要從一些最基本的概念開始學習。這里先介紹數據庫系統相關的基本概念。其他概念將根據需要在后續相應模塊中介紹。
任務1.1.1 了解基本概念
1.數據
數據(Data)是數據庫中存儲的基本對象。數據在大多數人頭腦中的第一印象就是數字。其實,數字只是最簡單的一種數據,是數據的一種傳統和狹義的理解。從廣義上理解,數據的種類很多,文字、圖形、圖像、聲音、學生的檔案記錄、貨物的運輸情況等都是數據。
可以對數據做如下定義:描述事物的符號記錄稱為數據。描述事物的符號可以是數字,也可以是文字、圖形、圖像、聲音、視頻等,數據有多種表現形式,它們都可以經過數字化后存入計算機。
為了解世界、交流信息,人們需要描述這些事物。在日常生活中直接用自然語言(如中文)描述。在計算機中,為了存儲和處理這些事物,就要選擇出這些事物的特征組成一個記錄來描述。例如:在學生檔案中,如果人們最感興趣的是學生的姓名、性別、年齡、出生年月、籍貫、所在系別、入學時間,那么可以這樣描述:(李明,男,18,2002,重慶,數字媒體學院,2020)。
這里的學生記錄就是數據。對于上面這條學生記錄,了解其含義的人會得到如下信息:李明是個大學生,2002年出生,男,重慶人,2020年考入數字媒體學院;而不了解其語義的人則無法理解其含義。可見,數據的形式還不能完全表達其內容,需要經過解釋。所以數據和數據的解釋是不可分的,數據的解釋是指對數據含義的說明,數據含義即為數據的語義,數據與其語義是不可分的。
2.數據庫
顧名思義,數據庫(DataBase,DB)是存放數據的倉庫。只不過,這個倉庫是在計算機存儲設備里的,且數據是按一定的格式存放的。
在科學技術飛速發展的今天,人們的視野越來越廣,數據量急劇增加。過去,人們把數據存放在文件柜里,現在人們借助計算機的數據庫技術科學地保存和管理大量復雜的數據,以便能方便而充分地利用這些寶貴的信息資源。
所謂數據庫,是長期存儲在計算機內、有組織的、可共享的數據集合。數據庫中的數據按一定的數據模型組織、描述和存儲,具有較小的冗余度、較高的數據獨立性和易擴展性,并可為各種用戶共享。
3.數據庫管理系統
既然數據庫能存放數據,人們自然就會提問:數據庫是如何科學地組織和存儲數據,并高效地獲取和維護數據的呢?為此,人們開發了一個稱為數據庫管理系統(DataBase Management System,DBMS)的軟件。
數據庫管理系統是位于用戶與操作系統之間的一層數據管理軟件。它的主要功能包括以下幾個方面。
(1)數據定義功能
DBMS提供數據定義語言(Data Definition Language,DDL),用戶可以通過DDL方便地對數據庫中的數據對象進行定義。
(2)數據操縱功能
DBMS還提供數據操縱語言(Data Manipulation Language,DML),用戶可以使用DML操縱數據實現對數據庫的基本操作,如查詢、插入、刪除和修改等。
(3)數據庫的運行管理
數據庫在建立、運用和維護時由數據庫管理系統統一管理、統一控制,以保證數據的安全性、完整性、多用戶對數據的并發使用及發生故障后的系統恢復。
(4)數據庫的建立和維護功能
它包括數據庫初始數據的輸入、轉換功能,數據庫的轉儲、恢復功能,數據庫的重組織功能和性能監視、分析功能等。這些功能通常由一些實用程序完成。
數據庫管理系統是數據庫系統的一個重要組成部分。
4.數據庫系統
數據庫系統(DataBase System,DBS)是指在計算機系統中引入數據庫后的系統構成,一般由硬件、軟件(操作系統、數據庫管理系統、開發工具、數據庫應用系統等)、數據庫管理員和用戶構成。應當指出的是,數據庫的建立、使用和維護等工作只靠DBMS遠遠不夠,還要有專門的人員,這些人被稱為數據庫管理員(DataBase Administrator,DBA)。
在不引起混淆的情況下,常常把數據庫系統簡稱為數據庫。
數據庫系統的層次可以用如圖1-1所示的示意圖來表示。

圖1-1 數據庫系統層次示意圖
任務1.1.2 了解數據庫系統的特點
與人工管理和文件系統相比,數據庫系統主要有以下特點。
1.數據結構化
數據結構化是數據庫與文件系統的根本區別。
在文件系統中,相互獨立的文件記錄內部是有結構的。傳統文件的最簡單形式是等長同格式的記錄集合。例如:一個學生人事記錄文件,每個記錄都有如表1-1所示的記錄格式。
表1-1 學生人事記錄

在文件系統中,盡管記錄內部已有某些結構,但記錄之間沒有聯系。
數據庫系統可以實現整體數據的結構化,這是數據庫的主要特征之一,也是數據庫系統與文件系統的本質區別。
在數據庫系統中,數據不再針對某一應用,而是面向全組織,具有整體的結構化;而且存取數據的方式也很靈活,可以存取數據庫中的某一個數據項、一組數據項、一個記錄或一組記錄。而在文件系統中,數據的最小存取單位是記錄。
2.數據的共享性高,冗余度低,易擴充
數據庫系統從整體角度描述數據,數據不再面向某個應用而是面向整個系統,因此數據可以被多個用戶、多個應用共享使用。數據共享可以極大減少數據冗余,節約存儲空間。數據共享還能夠避免數據之間的不相容性與不一致性。
數據的不一致性是指同一數據不同副本的值不一樣。采用人工管理或文件系統管理時,由于數據被重復存儲,當不同的應用使用和修改不同的副本時就很容易造成數據的不一致。在數據庫中實現數據共享,減少了數據冗余造成的不一致現象。
由于數據面向整個系統,是結構化的,不僅可以被多個應用共享使用,而且容易增加新的應用,這就使得數據庫系統彈性大,易于擴充,可以適應各種用戶要求。可以取整體數據的各種子集應用于不同的系統,當應用需求改變或增加時,只要重新選取不同的子集或加上一部分數據便可以滿足新的需求。
3.數據獨立性高
數據獨立性是數據庫領域中的常用術語,包括數據的物理獨立性和數據的邏輯獨立性。
數據的物理獨立性是指用戶的應用程序與存儲在磁盤上的數據庫中的數據是相互獨立的。也就是說,數據在磁盤上的存儲是由DBMS管理的,用戶程序不需要了解,應用程序要處理的只是數據的邏輯結構,這樣當數據的物理存儲改變了,應用程序不用改變。
數據的邏輯獨立性是指用戶的應用程序與數據庫的邏輯結構是相互獨立的,也就是說,數據的邏輯結構改變了,用戶程序也可以不變。
數據與程序的獨立,把數據的定義從程序中分離出去,加上數據的存取又由DBMS負責,從而簡化了應用程序的編制,大大減少了應用程序的維護和修改。
4.數據由DBMS統一管理和控制
數據庫的共享是并發的共享,即多個用戶可以同時存取數據庫中的數據,甚至可以同時存取數據庫中的同一數據。
為此,DBMS還必須提供以下幾方面的數據控制功能。
(1)數據的安全性(Security)保護
數據的安全性是指保護數據以防止不合法的使用造成數據的泄密和破壞。每個用戶只能按規定對某些數據以某些方式進行使用和處理。
(2)數據的完整性(Integrity)檢查
數據的完整性是指數據的正確性、有效性和相容性。完整性檢查將數據控制在有效的范圍內,或保證數據之間滿足一定的關系。
(3)并發(Concurrency)控制
當多個用戶的并發進程同時存取、修改數據庫時,可能會發生相互干擾而得到錯誤結果或使得數據庫的完整性遭到破壞,因此必須對多用戶的并發操作加以控制和協調。
(4)數據庫恢復(Recovery)
計算機系統的硬件故障、軟件故障、操作員的失誤及故意破壞也會影響數據庫中數據的正確性,甚至會造成數據庫部分或全部數據的丟失。DBMS必須具有將數據庫從錯誤狀態恢復到某一已知的正確狀態(亦稱為完整狀態或一致狀態)的功能,這就是數據庫的恢復功能。
數據庫管理階段,應用程序與數據庫之間的關系可使用圖1-2表示。

圖1-2 應用程序與數據庫之間的關系
數據庫是長期存儲在計算機內有組織的、大量的、共享的數據集合。它可供各種用戶共享,具有最小冗余度和較高的數據獨立性。DBMS在數據庫建立、運用和維護時對數據庫進行統一控制,以保證數據的完整性、安全性,并在多用戶同時使用數據庫時進行并發控制,在發生故障后對系統進行恢復。
數據庫系統的出現使信息系統從以加工數據的程序為中心轉向以共享的數據庫為中心的新階段。這樣既便于數據的集中管理,又有利于應用程序的研制和維護,提高了數據的利用率和相容性,保證了決策的可靠性。
目前,數據庫已經成為現代信息系統不可分離的重要組成部分,并普遍應用于科學技術、工業、農業、商業、服務業和政府部門的信息系統。