第二章-基礎知識_第1頁
第二章-基礎知識_第2頁
第二章-基礎知識_第3頁
第二章-基礎知識_第4頁
第二章-基礎知識_第5頁
已閱讀5頁,還剩19頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

第二章數(shù)據(jù)庫基礎知識數(shù)據(jù)管理技術的發(fā)展概況人工管理階段(20世紀50年代)

數(shù)據(jù)與處理數(shù)據(jù)的程序密切相關,互相不獨立,數(shù)據(jù)不做長期保存,而且依賴于計算機的程序或軟件。文件系統(tǒng)階段(20世紀60年代)

程序與數(shù)據(jù)有一定的獨立性,程序和數(shù)據(jù)分開存儲,程序文件和數(shù)據(jù)文件具有各自的屬性。數(shù)據(jù)文件長期保存,但冗余度大,缺乏數(shù)據(jù)獨立性,做不到集中管理。數(shù)據(jù)庫系統(tǒng)階段(20世紀60年代后期)

數(shù)據(jù)共享,減少數(shù)據(jù)冗余,數(shù)據(jù)庫采用特定的數(shù)據(jù)模型,較高的數(shù)據(jù)獨立性,數(shù)據(jù)庫系統(tǒng)有統(tǒng)一的數(shù)據(jù)控制和數(shù)據(jù)管理。數(shù)據(jù)庫系統(tǒng)的組成數(shù)據(jù)庫就是與某個特定主題或目的有關的數(shù)據(jù)的集合,換言之,數(shù)據(jù)庫就是用來存儲一定條件的數(shù)據(jù)的“器具”。終端用戶終端用戶終端用戶數(shù)據(jù)庫應用系統(tǒng)應用開發(fā)工具數(shù)據(jù)庫管理系統(tǒng)數(shù)據(jù)庫應用程序員數(shù)據(jù)庫管理員數(shù)據(jù)庫應用系統(tǒng)

數(shù)據(jù)庫應用系統(tǒng)是指系統(tǒng)開發(fā)人員利用數(shù)據(jù)庫系統(tǒng)資源開發(fā)出來的,面向某一類實際應用的應用軟件系統(tǒng)。例如:財務管理系統(tǒng),人事管理系統(tǒng)等等。

數(shù)據(jù)庫管理系統(tǒng)(DBMS)數(shù)據(jù)庫管理系統(tǒng)通常指Access、SQLServer、Oracle等軟件。數(shù)據(jù)庫應用系統(tǒng)是在這些軟件中開發(fā)的系統(tǒng),如財務電算化軟件、學校信息管理系統(tǒng)等。數(shù)據(jù)庫管理系統(tǒng)是位于用戶與操作系統(tǒng)之間的一個數(shù)據(jù)管理軟件,它的基本功能包括以下幾個方面:數(shù)據(jù)定義功能用戶通過數(shù)據(jù)定義語言對數(shù)據(jù)庫中的數(shù)據(jù)對象進行定義。數(shù)據(jù)操縱功能用戶可以使用數(shù)據(jù)操縱語言操縱數(shù)據(jù),如查詢、插入、刪除和修改。數(shù)據(jù)庫的運行管理功能數(shù)據(jù)庫在建立、運行和維護時由數(shù)據(jù)庫管理系統(tǒng)統(tǒng)一管理和控制。數(shù)據(jù)庫的建立和維護功能它包括數(shù)據(jù)庫初始數(shù)據(jù)的輸入、轉換功能,數(shù)據(jù)庫的轉儲、恢復功能等。第一代數(shù)據(jù)庫系統(tǒng):網(wǎng)狀、層次數(shù)據(jù)庫系統(tǒng)第二代數(shù)據(jù)庫系統(tǒng):關系型數(shù)據(jù)庫系統(tǒng)第三代數(shù)據(jù)庫系統(tǒng):面向對象關系型數(shù)據(jù)庫系統(tǒng)數(shù)據(jù)庫管理的實現(xiàn)現(xiàn)實世界數(shù)據(jù)庫管理的對象存在于現(xiàn)實世界中,現(xiàn)實世界中的事物存在著各種各樣的聯(lián)系。這種聯(lián)系是客觀存在的,是由事物本身的性質決定的。例如,學??紕展芾硐到y(tǒng)中有老師、學生、課程、教室等構成元素。概念世界概念世界也叫做信息世界,是現(xiàn)實世界在人們頭腦中的反映,是對客觀事物及其聯(lián)系的一種抽象描述。從現(xiàn)實世界到概念世界是通過概念模型來表達的。如對學生的描述可分為:學號、姓名、班級、籍貫、性別等概念。數(shù)據(jù)世界存入計算機系統(tǒng)的數(shù)據(jù)是將概念世界中的事物數(shù)據(jù)化的結果。為準確地反映事物本身及事物之間的各種聯(lián)系,數(shù)據(jù)庫中的數(shù)據(jù)一定存在一個結構,數(shù)據(jù)模型可用來準確描述這種結構。在實現(xiàn)數(shù)據(jù)庫管理,也就是三個世界的轉化過程中,概念模型和數(shù)據(jù)模型是實現(xiàn)現(xiàn)實世界數(shù)據(jù)化的橋梁,是對現(xiàn)實世界中的事物進行抽象的工具。

三個世界的轉化過程示意圖

概念模型和數(shù)據(jù)模型概念模型—用戶和數(shù)據(jù)庫設計人員之間進行交流的工具,主要用于數(shù)據(jù)庫設計。實體:客觀存在并相互區(qū)別的事物。如學生,學生選課實體的屬性:學號、年齡等實體集和實體型:屬性值的集合表示一個實體,屬性的集合表示一種實體類型即實體型。同類型的實體的集合為實體集。如學生(學號,姓名,性別…,照片)是實體型,全體學生是一個實體集。數(shù)據(jù)模型—客觀事物及其聯(lián)系的數(shù)據(jù)描述,具有描述數(shù)據(jù)和數(shù)據(jù)聯(lián)系兩方面的功能。由數(shù)據(jù)結構、數(shù)據(jù)操作和數(shù)據(jù)的約束組成。是數(shù)據(jù)庫系統(tǒng)的核心和基礎。常見的數(shù)據(jù)模型l

層次模型l

網(wǎng)狀模型l

關系模型l

面向對象模型層次模型示意圖學校藝術學院行政部門美術系工作人員音樂系教師教師EBACGFD網(wǎng)狀模型示意圖ACBD學生學生課程課程關系模型示意圖編號姓名性別生日婚否工資121張三男09/01/76已婚1234.50123顧小四男12/23/83未婚908.00122李大成男11/09/64已婚1706.00211王河東男03/23/78已婚1200.12212王丹丹女09/12/81未婚700.00213趙文革男10/30/75已婚1600.00字段(屬性)主鍵記錄(元組)教師基本情況表關系名稱層次模型、網(wǎng)狀模型及關系模型的優(yōu)缺點數(shù)據(jù)模型占用內存空間處理效率設計彈性數(shù)據(jù)設計復雜度界面親和力層次模型高高低高低網(wǎng)狀模型中中—高低—中高低—適度關系模型低低高低高關系模型中的相關術語

以二維表的形式表示實體和實體之間聯(lián)系的數(shù)據(jù)模型稱為關系數(shù)據(jù)模型。從模型的三要素角度看,關系模型的內容為:數(shù)據(jù)結構:一張二維表格。數(shù)據(jù)操作:數(shù)據(jù)表的定義,檢索、維護、計算等。數(shù)據(jù)約束條件:表中列的取值范圍即域值的限制條件。關系模型中的相關術語關系—表關系名(屬性名1,屬性2,…n)

表名(字段名1,字段名2,…n)

eg.教師(教師id,姓名,性別…,簡歷)元組水平方向每一行是一個元組,對應表中的一個具體記錄

eg.“教師”表和“課程”表兩個關系各包括多條記錄或多個元組屬性垂直方向的每一列有一個屬性名,即字段名。域屬性的取值范圍主鍵外鍵表之間的關系通過外鍵來建立,如果兩個表之間呈現(xiàn)“一對多”關系,則“一”表中的主鍵字段必然出現(xiàn)在“多”表中,成為聯(lián)系兩個表的紐帶,“多”表中出現(xiàn)的這個字段就是外鍵。關系模型的完整性

關系模型對數(shù)據(jù)一般都具有一定的限制,這種限制稱為完整性或完整性約束。關系模型的完整性是保證關系數(shù)據(jù)表正確的關鍵。關系模型支持實體完整性約束、參照完整性約束和域約束3種完整性約束。(1)實體完整性約束假設A是一個表R的主鍵,則A不能接收空值,即單列主鍵的值不能為空,復合主鍵的任何列也不能接收空值。例如,在學生信息表中,“學號”為該表的主鍵,那么在數(shù)據(jù)庫的任何記錄中,“學號”列的值都不能為空。這樣的約束稱為實體完整性約束。(2)參照完整性約束參照完整性約束關心的是邏輯相關的表中值與值之間的關系。假設X是一個表A的主鍵,在表B中是外鍵,那么若K是表B中一個外部鍵值,則表A中必然存在在X上的值為K的記錄。例如,“系編碼”是院系信息表的主鍵,而在學生信息表中是相對于院系信息表的外鍵(學生信息表中的主關鍵字是由“學號”和“系編碼”組合而成),對于學生信息表的任何記錄,其所包含的“系編碼”的值,在院系信息表的“系編碼”列中必然存在一個相同的值。這樣的約束稱為參照完整性約束。(3)域約束(取值范圍)域是邏輯相關的值的集合,從域中可以得出特定列的值。例如,在學生信息表中:●“出生日期”域的值必須按照特定的統(tǒng)一格式存放,而不能有時用:1986.12.23格式,有時用:12/23/1986格式,造成數(shù)據(jù)混亂;●“學生名字”、“院系名稱”等域的值必須屬于字符集合;●對于“性別”,該域中的值必須局限于男、女等。

關系運算關系的基本運算有兩類:傳統(tǒng)的集合運算和專門的關系運算。

傳統(tǒng)的集合運算(1)并(Union):設有兩個關系R和S,它們具有相同的結構。R和S的并是由屬于R或屬于S的元組組成的集合,運算符為∪。例如:設每個班有一個學生關系R1,R2,R3,…則全校學生關系T是:

T=R1∪R2∪R3∪…(2)差(Difference):設有兩個關系R和S,它們具有相同的結構。R和S的差是由屬于R但不屬于S的元組組成的集合。運算符為-。例如:設有參加計算機小組的學生關系R,參加橋牌小組的學生關系S。求參加了計算機

小組但沒有參加橋牌小組的學生。結果放在關系T1中,則T1=R-S。(3)交(Intersection):設有兩個關系R和S,它們具有相同的結構。R和S的交是由既屬于R又屬于S的元組組成的集合,運算符為∩。交運算的結果是R和S的共同元組。例如:設有參加計算機小組的學生關系R,參加橋牌小組的學生關系S。求既參加了計算機小組又參加橋牌小組的學生。結果放在關系T2中,則T2=R∩S。關系的交可以用關系的差來表示。即R∩S=R-(R–S),所以,上式也可以寫成:T2=R-(R–S)。專門的關系運算(1)選擇(Selection):按照給定條件從指定的關系中挑選出滿足條件的元組構成新的關系,其關系模式不變,但其中元組的數(shù)目小于等于原來的關系中元組的個數(shù),它是原關系的一個子集。這是從行的角度進行的運算,即水平方向抽取元組。(2)投影(projection):從指定的關系中挑選出某些屬性構成新的關系,其關系模式所包含的屬性個數(shù)往往比原關系少,或者屬性的排列順序不同。投影的結果將取消由于取消了某些列而產生的重復元組。例如:設有讀者關系,讀者(借書證號,姓名,性別,單位,職稱,地址)。按照單位在前,姓名在后的次序列出讀者名單。此運算結果包括元組數(shù)目不變,但減少了列的數(shù)目,同時改變了列的顯示順序(3)聯(lián)接(join):聯(lián)接是將兩個和多個關系模式通過公共的屬性名拼接成一個更寬的關系模式,生成的新關系包含滿足聯(lián)接條件的元組。例如:設有三個關系:學生(學號,姓名,所在系,性別,現(xiàn)住址);課程(課程號,課程名,學分);選修(學號,課程號,成績)。若想查詢成績90分以上的學生姓名。聯(lián)接結果包括學生、課程、選修三個關系中屬性的并集。自然聯(lián)接:是去掉重復屬性的等值連接。它屬于聯(lián)接運算的一個特例。關系的種類(1)一對一聯(lián)系(1:1)如果對于實體集A中的每一個實體,實體集B中至少有一個(也可以沒有)實體與之聯(lián)系,反之亦然,則稱實體集A與實體集B具有一對一聯(lián)系,記為1:1。例如,一個學生只能有一個學號,而一個學號只能指向一個學生,則學生與學號之間具有一對一聯(lián)系。(2)一對多聯(lián)系(1:n)

如果對于實體集A中的每一個實體,實體集B中有個n實體(n≥0)之聯(lián)系,反之,對于實體集B中的每一個實體,實體集A中至多只有一個實體與之聯(lián)系,則稱實體集A與實體集B有一對多聯(lián)系,記為1:n。例如,一個班級中有若干名學生,而每個學生只在一個班級中學習,則班級與學生之間具有一對多聯(lián)系。(3)多對多聯(lián)系(m:n)

如果對于實體集A中的每一個實體,實體集B中有n個實體(n≥0)與之聯(lián)系,反之,對于實體集B中的每一個實體,實體集A中也有m個實體(m≥0)與之聯(lián)系,則稱實體集A與實體集B具有多對多聯(lián)系,記為m:n。例如,一門課程同時有若干個學生選修,

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論