官术网_书友最值得收藏!

1.1 數據庫概述

數據庫是按照數據結構來組織、存儲和管理數據的倉庫。在日常工作中,常常需要把某些相關的數據放進倉庫,并根據管理的需要進行相應的處理。

1.1.1 數據庫基本概念

數據庫是數據管理的新手段和技術,是計算機學科的重要分支。數據庫具有數據結構化、最低冗余度、較高的程序與數據獨立性、易于擴充、易于編制應用程序等優點,目前應用非常廣泛。

1.數據與信息

信息是客觀事物屬性的反映,是經過加工處理并對人類客觀行為產生影響的數據表現形式。

數據是反映客觀事物屬性的記錄,是信息的具體表現形式。數據包括文字、聲音、圖形等一切能被計算機接收且能被處理的符號。數據是事物特性的反映和描述,是符號的集合,是各種抽象信息的具體化。

下面我們以“學生信息表”為例,通過學號、姓名、性別、年齡、系別、專業和年級,來描述學生在校的特征:

(0411002 鄭曉明 女 25 歷史系 文學歷史 04專升本)

這里的學生記錄就是信息。在數據庫中,記錄與事物的屬性是對應的關系,其表現如下圖所示。

2.數據庫(Database,DB)

從上述內容中,可以將數據庫理解為存儲在一起的相互有聯系的數據集合。

嚴格地說,數據庫應具備以下特點。

?存儲在一起的相關數據的集合。

?這些數據是結構化的,無有害的或不必要的冗余,并為多種應用服務。

?數據的存儲獨立于使用它的程序。

?對數據庫插入新數據,修改和檢索原有數據均能按一種公用的和可控制的方式進行。

當某個系統中存在結構上完全分開的若干個數據庫時,則該系統包含一個“數據庫集合”。這是J.Martin給數據庫下的一個比較完整的定義。

因此,在Access數據庫中,可以將這個“數據倉庫”以表的形式表現出來。其中,每條記錄中存儲的內容即所指的信息。例如,在“圖書信息表”中,“借閱記錄”數據表存儲了圖書情況的數據內容。

3.數據庫管理系統(Database Management System,DBMS)

數據庫管理系統是一種操縱和管理數據庫的大型軟件,用于建立、使用和維護數據庫。它對數據庫進行統一的管理和控制,以保證數據庫的安全性和完整性。

用戶通過DBMS訪問數據庫中的數據,數據庫管理員也通過DBMS進行數據庫的維護工作。它提供多種功能,可使多個應用程序和用戶用不同的方法在同時或不同時刻去建立,修改和詢問數據庫。DBMS主要包括以下4方面的功能。

?數據定義功能

DBMS提供數據定義語言(Data Definition Language,DDL),用戶通過它可以方便地對數據庫中的數據對象進行定義。例如,在Access數據表中,可以定義數據的類型、以及數據的屬性(如字段大小、格式)等。

?數據操縱功能

DBMS還提供數據操縱語言(Data Manipulation Language,DML),用戶可以使用DML操縱數據實現對數據庫的基本操作,如查詢、插入、刪除和修改等。

例如,在“圖書信息表”中,可以右擊記錄,執行【刪除記錄】命令,即可刪除數據內容。

?數據庫的運行管理

數據庫在建立、運用和維護時,由數據庫管理系統統一管理、統一控制,以保證數據的安全性和完整性。

?數據庫的建立和維護功能

它包括數據庫初始數據的輸入、轉換功能,數據庫的轉儲、恢復功能,數據庫的管理重組織功能和性能監視、分析功能等。這些功能通常是由一些實用程序完成的。例如,執行【數據庫工具】|【分析】|【分析性能】命令,即可彈出【性能分析器】對話框,分析數據庫系統中各對象的性能。

4.數據庫系統(DataBase System,DBS)

數據庫系統是一個實際可運行的存儲、維護和應用系統提供數據的軟件系統,是存儲介質、處理對象和管理系統的集合體。它通常由軟件、數據庫和數據管理員組成。

其中,軟件主要包括操作系統、各種宿主語言、實用程序以及數據庫管理系統。數據庫由數據庫管理系統統一管理,數據的插入、修改和檢索均要通過數據庫管理系統進行。數據管理員(DataBase Administrator,DBA)負責創建、監控和維護整個數據庫,使數據能被任何有權使用的人有效使用。數據庫管理員一般是由業務水平較高、資歷較深的人員擔任。

1.1.2 數據管理技術的發展

數據庫技術是應數據管理任務的需要而生的。數據的處理是指對各種數據進行收集、存儲、加工和傳播的一系列活動的總和。

數據管理則是指對數據進行分類、組織、編碼、存儲、檢索和維護,它是數據處理的中心問題。

隨著計算機技術的發展,數據庫與計算機相結合。數據管理技術的發展經歷了三個階段。

1.人工管理階段

在20世紀50年代中期前,計算機主要用于科學計算。當時的硬件中外存儲器沒有磁盤這類可以隨機訪問、直接存取的設備,軟件上沒有專門的管理數據的軟件,數據由計算或處理數據的程序自行攜帶,所以數據管理任務由人工完成。

這樣數據與程序不具有獨立性,一組數據對應一組程序。數據不能進行長期保存,一個程序中的數據無法被其他程序利用,程序與程序間存在大量的重復數據,稱為數據冗余。在人工管理階段,程序與數據之間的對應關系如下圖所示。

2.文件系統階段

在20世紀50年代后期至20世紀60年代中后期,大量的數據存儲、檢索和維護成為當時緊迫的需求,可直接存取的磁盤成為聯機的主要外存,軟件上也出現了高級語言和操作系統。

操作系統中的文件系統是專門管理外存儲器的數據管理軟件。在文件系統階段,程序與數據有了一定的獨立性,程序和數據分開,有了程序文件和數據文件的區別。

但是這一時期的文件系統的數據文件,主要是服務于某一特定的應用程序,數據和程序相互依賴,而且同一數據項可能重復出現在多個文件中,數據冗余量大,浪費空間,增加更新開銷。由于冗余多,不能統一修改數據,造成數據的不一致性。在文件系統階段,程序與數據之間的關系如下圖所示。

3.數據庫系統階段

到20世紀60年代后期,計算機用于管理的規模越來越大,應用也越來越廣泛。同時多種應用、多種語言互相覆蓋地共享數據集合的要求越來越強烈。在處理方式上,聯機實時處理要求更多,并開始提出和考慮分布處理。

在這種背景下,以文件系統作為數據管理手段已經不能滿足應用的需求,于是為解決多用戶、多應用共享數據的需求,使數據為盡可能多的應用服務,數據庫技術便應運而生,出現了統一管理數據的專門軟件系統——數據庫管理系統。

用數據庫系統來管理數據比文件系統具有明顯的優點,從文件系統到數據庫系統,標志著數據管理技術的飛躍。

1.1.3 數據庫系統的特點

與人工管理和文件系統相比,數據庫系統的特點主要有以下幾個方面。

1.數據結構化

數據結構化是數據庫與文件系統的根本區別。在文件系統中,相互獨立的文件的記錄內部是有結構的。傳統文件的最簡單形式是等長同格式的記錄集合。例如一個學生人事記錄文件,每個記錄都有記錄格式。

其中,前幾項數據是學生具有的共同信息。如果采用等長記錄形式存儲學生數據,為了建立完整的學生檔案文件,每個學生記錄的長度必須等于信息量最多的記錄的長度,導致浪費大量的存儲空間。

因此,可以將較長記錄格式,再進行拆分操作,以結合的形式建立新文件。

這樣可以節省許多存儲空間,靈活性也相對提高。但這樣建立的文件還有局限性,因為這種結構上的靈活性只是針對一個應用而言的。

而數據結構化的目的在于數據不再針對某一應用,而是面向全組織,具有整體的結構化。不僅數據是結構化的,而且存取數據的方式也很靈活,可以存取數據庫中的某一個數據項、一組數據項、一個記錄或一組記錄。而在文件系統中,數據的最小存取單位是記錄。

因此,將學生不同的信息,按照表格的屬性輸入相關的內容。例如,在“學生信息”表中,輸入學號、姓名、性別、出生日期、住址等內容。

2.數據的共享性高,冗余度低,易擴充

數據可以被多個用戶、多個應用共享使用。數據共享可以大大減少數據冗余,節約存儲空間。數據共享還能夠避免數據之間的不相容性與不一致性。

原來采用人工管理或文件系統管理時,由于數據被重復存儲,當不同的應用使用和修改不同的復制時,極易造成同一數據復制的值不一樣。所以,在數據庫中數據共享,減少了由于數據冗余造成的不一致現象。

由于數據面向整個系統,具有結構化的數據,不僅可以被多個應用共同使用,而且容易增加新的應用。這樣數據庫系統就具有較大的彈性,也易于擴充,并且可以適應不同用戶的要求。

3.數據獨立性高

數據獨立性是指建立在數據的邏輯結構和物理結構分離的基礎上,用戶以簡單的邏輯結構操作數據而無須考慮數據的物理結構,轉換工作由數據庫管理系統實現。數據獨立性分為數據的物理獨立和數據的邏輯獨立。

?數據的物理獨立

物理獨立是指數據存取與程序的分離。也就是說,數據在磁盤上的數據庫中怎樣存儲是由DBMS管理的,用戶程序不需要了解,應用程序要處理的只是數據的邏輯結構,這樣當數據的物理存儲改變了,應用程序不用改變。

?數據的邏輯獨立

數據的使用與數據的邏輯結構相分離。也就是說,數據的邏輯結構改變了,用戶程序也可以不變。

4.數據由DBMS統一管理和控制

數據庫是長期存儲在計算機內,并且有結構的共享式數據集合。它可以供多個用戶使用,并且具有較小的冗余度和較高的數據獨立性。

而DBMS在數據庫建立、運用和維護時對數據庫進行統一控制,以保證數據的完整性和安全性。另外,在多用戶同時使用數據庫時,進行并發控制,發生故障后也可以對系統進行恢復。

所以,在DBMS中,提供了以下4方面的數據控制功能。

?數據的安全性(Security)保護

數據的安全性是指保護數據以防止不合法的使用造成的數據泄露和破壞。每個用戶只能按規定,對某些數據以某些方式進行使用和處理。

?數據的完整性(Integrity)檢查

數據的完整性指數據的正確性、有效性和相容性。完整性檢查將數據控制在有效的范圍內,或保證數據之間滿足一定的關系。

?并發(Concurrency)控制

當多個用戶的并發進程同時存取、修改數據庫時,可能會造成數據之間相互沖撞,而得到錯誤的結果或使得數據庫的完整性遭到破壞。因此,必須對多用戶的并發操作加以控制和協調。

?數據庫恢復(Recovery)

計算機系統的硬件故障、軟件故障、操作員的失誤操作,都會影響到數據庫中數據的正確性,甚至造成數據庫部分或全部數據的丟失。

因此,DBMS必須具有將數據庫從錯誤狀態恢復到正確狀態的功能。而數據庫管理階段應用程序與數據之間的對應關系如下圖所示。

主站蜘蛛池模板: 济源市| 广饶县| 阳东县| 凌源市| 宜春市| 隆安县| 南投市| 乃东县| 石景山区| 石阡县| 吕梁市| 济南市| 黄平县| 汕尾市| 贵港市| 太保市| 眉山市| 淮滨县| 德令哈市| 中卫市| 广汉市| 分宜县| 昆明市| 胶南市| 邢台县| 阿城市| 成都市| 武邑县| 将乐县| 手机| 宁陕县| 宁南县| 平顶山市| 平武县| 广元市| 黄冈市| 安福县| 阿坝| 道孚县| 达日县| 永平县|