广西快乐双彩开奖结果今晚|快乐双彩今晚开奖8231

數據庫基礎知識

 

當今人類社會已進入信息化時代,計算機早已不僅僅是用于數值計算,而是更為廣泛地應用于信息處理領域,因此,計算機在某種意義上已被人們稱之為信息處理機。數據處理問題的特點是數據量大、類型多、結構復雜,同時,對數據的貯存、檢索、分類、統計等處理的要求較高。為了適應這一需求,把數據從過去附屬于程序的做法改變為數據與程序相對獨立;對數據加以組織與管理,使之能為更多不同的程序所共享。這就是“數據庫系統“的基本特點之一。

由于數據庫技術的出現,數據處理的成本大大降低,效率越來越高,可靠性不斷增加,從而推動了計算機應用的普及。

數據庫系統有四個重要的組成部分,即經過組織,可供多方面使用的數據集合——數據庫;支持數據貯存和數據操作的計算機系統;介于數據庫和應用程序之間的數據庫管理系統;提供給用戶使用的各種數據庫應用程序。本書介紹的是一個能在Windows操作系統環境下運行的Visual FoxPro 6.0數據庫管理系統,以及如何建立數據庫與編制Visual FoxPro 6.0應用程序的方法與技巧。

1.1 計算機基礎知識

硬件

數操

庫存

圖1-1 軟、硬件的關系

    計算機系統包括兩個部分,一部分是硬件系統,一部分是軟件系統。硬件系統包括:存貯器、運算器、控制器、輸入設備和輸出設備五大部分。一臺沒有相應“軟件”支持的計算機通常稱為“裸機”。一臺裸機在功能上往往很有局限,用戶使用極不方便。所謂“軟件”是指由計算機中完成一定功能的所有程序與數據的集合。軟件能對硬件的功能加以擴充和完善。舉例來講,硬件本身只能識別由“0”和“1”組成的二進制代碼,用戶想要在裸機上輸入一個數據,自己就得編寫許多條指令組成的一段程序,而且,二進制代碼難記難學,用戶會感到十分不便。如果為裸機配上匯編程序、編譯程序、操作系統、數據管理系統及應用程序等軟件,那么輸入一個數據,即使用戶有更多更高的要求,也是非常容易實現的。圖1-1反映了硬件軟件之間的這種關系。

數據庫管理系統就是一種軟件,用戶通過它與計算機打交道,從而使得操縱數據變得極為方便與容易,大大減少了用戶的工作量。

 

 

1.2 數據庫的基本概念

數據庫技術是在20世紀60年代末興起的一種數據管理技術。數據庫在英語中稱為DataBase。

1.2.1 數據庫的發展

數據管理指的是對數據的組織、編目、存貯、檢索和維護等。它是數據處理的中心問題。隨著計算機技術的發展,數據管理也經歷了由低級向高級的發展過程。大體上,可以分為三過階段:

(1)人工管理階段(五十年代中期以前)

(2)文件管理階段(五十年代后期至六十年代后期)

(3)數據庫系統階段(七十年代初以后)

早期的數據管理是以人工處理,通過人工對數據組織、編目、存貯、檢索和維等工作,需要人對處理數據物理結構了解清楚,這個階段耗時費力,工作量非常大。

文件管理階段與人工管理階段相比,由于它通過文件系統來管理和使用各種設備介質上的信息,把信息的邏輯結構映象成設備介質上的物理結構。這樣就要以使用戶不必過多地考慮物理細節,而將精力集中于算法。

文件系統中的文件基本上是對應于一個或幾個應用程序,或者說數據是面向應用的。它仍然是一個不具有彈性的無結構信息集合,存在以下幾個方面的問題:

(1)       冗余度大

文件系統下的用戶各自建立自己的文件,相互之間數據不能共享,造成數據大量重復存儲。不僅浪費存儲空間,更嚴重的是容易造成數據的不一致性。

(2)       數據獨立性差

數據和程序相互之間的依賴仍較嚴重。

(3)       數據無集中管理

各個文件沒有統一的管理機構,其安全性和完整性等無法得到保證。

所有這些問題,文件系統本身無法解決,這嚴重地阻礙了數據處理技術的民展,同時,也成為數據庫技術產生的原動力和背景。于是數據庫系統便應運而生,并在20世紀60年代末期誕生了第一個商品化的數據庫系統——美國IBM公司的IMS系統(Information Management System)。

數據庫系統的目標首先就是克服文件系統的這些弊病,用一個軟件來集中管理所有的文件,以實現數據的共享,保證數據的完整性、安全性。

1.2.2數據庫系統的特點

與文件系統比較,數據庫系統有以下特點:

1.  數據的結構化

在文件系統中,各個文件不存在相互聯系。從單個文件來看,數據一般是有結構的;但是從整個系統來說,數據在整體上又是沒有結構的。數據庫系統則不同,在同一數據庫中的數據文件是有聯系的,且在整體上服從一定的結構形式。

2.  數據共享

共享是數據庫系統的目的,也是它的重要特點。一個庫中的數據不僅可為同一企業或機構之內的各個部門所共享,也可為不同單位、地域甚至不同國家的用戶所共享。而在文件系統中,數據一般是由特定的用戶專用的。

3.  數據的獨立性

在文件系統中,數據結構和應用程序相互依賴,一方的改變總是要影響另一方的改變。數據庫系統則力求減小這種相互依賴,實現數據的獨立性。雖然目前還未能完全做到這一點,但較之文件系統已大有改善。

4.  可控冗余度

數據專用時,每個用戶擁有并使用自己的數據,難免有許多數據相互重復,[這就是冗余。實現共享后,不必要的重復將全部消除,但為了提高查詢效率,有時也保留少量重復數據,其冗余度可由設計人員控制。

表1.1以對照表的的形式,列出了數據庫系統與一般文件應用系統的主要性能差別。

表1.1數據庫系統與一般文件應用系統性能對照表

序號

文件應用系統

數據庫系統

1

文件中的數據由特定的用戶專用

庫內數據由多個用戶共享

2

每個用戶擁有自己的數據,導致數

原則上可消除重復。為方便查詢允許少量

 

據重復存儲

數據重復存儲,但冗余度可以控制

3

數據從屬于程序,二者相互依賴

數據獨立于程序,強調數據的獨立性

4

各數據文件彼此獨立,從整體看為“無結構”

各文件的數據相互聯系,從總體看是“有結構

1.2.3數據庫系統的分代

經過30多年的發展,數據庫系統分為三代,第一代為非關系型數據庫系統,第二代為關系型數據庫系統,第三代為對象—關系型數據庫系統。

1.  非關系型數據庫系統

非關系型數據庫系統是對第一代數據庫系統的總稱,其中又包括層次型數據庫系統和網狀型數據庫系統兩種類型。這一代數據庫系統具有以下的共同特征:

(1) 采用“記錄”為基本的數據結構。在不同的“記錄型”(record  type)之間,允許存在相互聯系。圖1.2顯示了因聯系方式不同而區分的兩類數據模型。圖(a)為“層次模型”,其總體結構為“樹型”,在不同記錄型之間只允許存在單線聯系;圖(b)為“網狀模型”,其總體結構呈網形,在兩個記錄之間允許存在兩種或多于兩種的聯系。前者適用于管理具有家族形系統結構的數據庫,后者則更適于管理在數據之間具有復雜聯系的數據庫。

(2) 論層次模型或網狀模型,一次查詢只能訪問數據庫中的一個記錄,存取效率不高。對于具有復雜聯系的系統,還需用戶詳細描述對數據的訪問路徑(稱為存取路徑),增加使用的麻煩。所以自關系數據庫興起后,非關系數據庫系統已逐漸被關系數據庫系統所取代,目前僅在一些大中型計算機系統中繼續使用。

A

B

E

G

C

D

F

A

B

C

A

B

C

D

 

 

 

 

 

 

 

 

 

 

 

 

 

 


(a)層次模型                        (b)網狀模型

圖1-2

2.  關系型數據庫系統(relational database systems,簡稱RDBS)

早在1970年,科德(E.F.Codd)就在一篇論文中提出了“關系模型”(relational model)的概念。70年代中期,國外已有商品華的RDBS問世,數據庫系統進入了第二代。80年代后,RDBS在包括PC機在內的各型計算機上的紛紛實現,目前在PC機上使用的數據庫系統主要是第二代數據庫系統。

與第一代數據庫系統相比,RDBS具有下列優點:

(1)       采用人們常使用的表格作為基本的數據結構,通過公共的關鍵字段來實現不同二維表之間(或“關系”之間)的數據聯系。關系模型呈二維表形式,簡單明了,使用和學習都很方便,如圖1-3所示。

圖1-3學生情況表

(2)       一次查詢僅用一條命令或語句,即可訪問整個“關系”(或二維表),因而查詢效率較高,不像第一代數據庫那樣每次僅能訪問一個記錄。通過多表聯合操作(也稱為“多庫”操作“,還能對有聯系的若干二維表實現”關聯“查詢。

3、  對象—關型數據庫系統(object-relational  database systems, 簡稱ORDBS)

隨著多媒體應用的擴大,對數庫提出了新的需求,要求數據庫系統能存儲圖形、聲音等復雜的對象,并能實現復雜對象行為。將數據庫技術與面向對象技術相結合,便順理成章成為研究數據庫技術的新方向,構成第三代數據庫系統的基礎。

20世紀80年代中期以來,對“面向對象的數據庫系統(OODBS)”和“對象—關系數據庫系統(ORDBS)”的研究都十分活躍。1989年和平部隊90年先后發表了《面向對象數據庫系統宣言》和《第三代數據庫系統宣言》,后者主要介紹ORDBS。一批代表新一代數據庫系統的商品也陸續推出。由于ORDBS是建立在RDBS技術之上的,可以直接利用RDBS的原有技術和用戶基礎,所以發展比OODBS更順利,正在成為第三代數據庫系統的主流。

根據《第三代數據庫系統宣言》提出的原則,第三代數據庫系統除應包含第二代數據庫系統的功能外,還應支持正文、圖象、聲音等新的數據庫類型,支持類、繼承、函數/方法等豐富的對象機制,并能提供高度集成的、可支持客主客戶機/服務器應用的用戶接口。雖然ORDBS目前還處在發展的過程中,在技術和應用上都還有許多工作要做,但已經顯示出光明的發展前景,一些數據庫廠商已經推出了可供實用的ORDBS產品。

1.2.4 數據庫系統的分類

1987年,著名的美國數據庫專家厄爾曼(J.D.Ullman)教授在一篇題為《數據庫理論的過去和未來》的論文中,把數據庫理論概括為4個分支:關系數據庫理論,分布式數據庫理論,演繹數據庫和面向對象數據庫。今天,關系數據庫理論已愈趨成熟,在微機數據庫系統中獲得普遍的應用;ORDBS已發展為第三代數據庫系統的主流。其余兩個分支——分布式數據庫和智能數據庫也在近幾年取得了不小的進展,擴大了應用范圍。現將部分變化簡述如下:

1、單用戶數據庫和多用戶數據庫

早期的微機數據庫都是單用戶系統,只能供一人使用。隨著局域網應用的擴大,供網絡用戶共享的多用戶數據庫開始流行。VFP就是一種多用戶數據庫系統。在它以前,已有Dbase , Foxbase+, FoxPro等多用戶數據庫供微機用戶選用。

多用戶數據庫的關鍵是保證“并發存取”的正確執行。例如飛機訂票系統充許乘客在多個售票點訂票。當兩們乘客在不同的售票點同時向某一航班訂票時,若缺乏相應的措施,在數據庫中可能僅反映一個乘客的訂票,從而發生兩人同訂一票的錯誤。

2.、集中式數據庫和分布式數據庫

集中和分布,是對數據存放地點而言的。分布式數據庫分散存儲在網絡的多個節點上,彼此用通信線路連接。例如,一個銀行有眾多儲戶。如果他們的數據存放在一個集中式數據庫中,所有的儲戶在存、取款時都要訪問這個數據庫,通信量必然很大。若改用分布式數據庫,將眾儲戶的數據分散存儲在離各自住所最近的儲蓄所,則大多數時候數據可就近存取,僅有少數據需遠程調用,從而大大減少網上的數據傳輸量。對一個設計良好的數據庫,用戶在存取數據時不須指明怕存放地點。換句話說,它能使用戶像對集中式數據庫訪問時一樣方便。

分布式數據庫和多用戶數據庫都是在網絡上使用的。但多用戶數據庫并非都是分布存儲的。例如上述的飛機訂票系統,其售票數據通常集中存放,并不分散存放在各個售票點上。

3、傳統數據庫和智能數據庫

傳統數據庫存儲的數據都代表已知的事實,智能數據庫則除存儲事實外還能存儲用于邏輯推理的規則。所以后者也稱為“基于規則的數據庫”

例如,某智能數據庫存儲有“科長領導科員”的規則。如果它同時存有“甲是科長”、“乙是科員”等數據,它就能推理得出“甲領導乙”的新事實。隨著人工智能不斷走向實用化,對智能數據庫的研究日趨活躍,演繹數據庫、專家數據庫和知識庫系統,都屬于智能數據庫的范疇。它們的共同關鍵是邏輯推理,如果推理模式出了問題,就可能導致荒誕的結果。

1.3 關系型數據庫中表的關系

根據兩個表格連接方式的不同,關系數據庫表之間的關系可分為3種:一對一關系,一對多關系,多對多關系。下面分別介紹這3種關系:

1)一對一的關系

在一對一的關系中,兩個數據表有一相同的字段數據,此字段是一個記錄對應一個記錄的關系。也就是說,數據表A的一條記錄在數據表B中只能有一條記錄與之對應,而數據表B的一條記錄在數據表A中也只能不一條記錄與之對應。

例如:一個人對應一個唯一的身份證號,即為一對一的關系。

2)一對多關系

在一對多關系中,數據表A的一條記錄可以對應數據表B的多條記錄,但數據表B的一條記錄在數據表A中只能有一條記錄與之對應。

例如:一個班級對應多名學生,即為一對多關系。

3)多對多關系

在多對多關系中,數據表A的一條記錄可以對應數據表B的多條記錄,反之,數據表B的一條記錄也可以對應數據表A的多條記錄。

例如:一個學生可以選多門課程,而同一門課程可以被多個學生選修,彼此的對應關系即是多對多關系。

發表評論

 




 

广西快乐双彩开奖结果今晚 竞彩足球比分结果更新 法甲联赛亚眠对巴黎 秘卷软件怎么使用赚钱 湖南快乐十分开奖结果 pk10 篮球比分网即时比分直播 捕鱼游戏王 湖北快三 3d组选5码遗漏 买彩票和买的网站吗