A1數(shù)據(jù)庫基礎(chǔ)與應(yīng)用課件_第1頁
A1數(shù)據(jù)庫基礎(chǔ)與應(yīng)用課件_第2頁
A1數(shù)據(jù)庫基礎(chǔ)與應(yīng)用課件_第3頁
A1數(shù)據(jù)庫基礎(chǔ)與應(yīng)用課件_第4頁
A1數(shù)據(jù)庫基礎(chǔ)與應(yīng)用課件_第5頁
已閱讀5頁,還剩79頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

數(shù)據(jù)庫基礎(chǔ)與應(yīng)用河南工業(yè)大學(xué)電氣工程學(xué)院2007年5月

...1教材:

李春葆,清華大學(xué)出版社,

《數(shù)據(jù)庫原理與應(yīng)用-基于VisualFoxpro》2005.1參考教材:

1.劉於勛,中國鐵道出版社,

《數(shù)據(jù)庫原理及應(yīng)用-VisualFoxpro6.0版》2005.8

2.王珊,薩師煊,高等教育出版社,

《數(shù)據(jù)庫系統(tǒng)概論(第四版)》2006.5...2成績組成:1、平時成績;(到課率、書面作業(yè)、上機(jī)練習(xí))2、期末閉卷考試;先修基礎(chǔ):《C語言程序設(shè)計(jì)》、《軟件技術(shù)基礎(chǔ)》

...3課時安排:總學(xué)時數(shù):36課時講課學(xué)時:約20課時上機(jī)學(xué)時:約16課時...4注意!1、本課程是大學(xué)工科非計(jì)算機(jī)類專業(yè)的一門必修課。課程時間緊、任務(wù)重,上課務(wù)必提高效率;珍惜上機(jī)時間;課下注意復(fù)習(xí)。2、PPT中部分內(nèi)容屬于補(bǔ)充提高部分(帶**),注意分清重點(diǎn)!...5內(nèi)容安排:基礎(chǔ)篇第一章:數(shù)據(jù)庫基本理論應(yīng)用篇第二章:

VFP系統(tǒng)初步第三章:VisualFoxPro語言基礎(chǔ)第四章:表的基本操作第五章:SQL語言第六章:建立和操作數(shù)據(jù)庫第七章:結(jié)構(gòu)化程序設(shè)計(jì)第八章:表單及內(nèi)部控件第九章:查詢與視圖設(shè)計(jì)...6第一章數(shù)據(jù)庫基本理論...71.1數(shù)據(jù)庫系統(tǒng)概述1.2數(shù)據(jù)庫系統(tǒng)的組成與結(jié)構(gòu)1.3數(shù)據(jù)模型1.4關(guān)系數(shù)據(jù)庫1.5VisualFoxPro系統(tǒng)簡介...81.1數(shù)據(jù)庫系統(tǒng)概述1.1.1信息、數(shù)據(jù)和數(shù)據(jù)處理1.“信息”與“數(shù)據(jù)”

數(shù)據(jù)是人們用于記錄事物情況的物理符號。為了描述客觀事物而用到的數(shù)字、字符以及所有能輸入到計(jì)算機(jī)中并能被計(jì)算機(jī)處理的符號都可以看作數(shù)據(jù)。...9信息是數(shù)據(jù)中所包含的意義。通俗地講,信息是經(jīng)過加工處理并對人類社會實(shí)踐和生產(chǎn)活動產(chǎn)生決策影響的數(shù)據(jù)。

數(shù)據(jù)與信息既有區(qū)別,又有聯(lián)系。數(shù)據(jù)是表示信息的,但并非任何數(shù)據(jù)都能表示信息,信息只是加工處理后的數(shù)據(jù),是數(shù)據(jù)所表達(dá)的內(nèi)容。另一方面信息不隨表示它的數(shù)據(jù)形式而改變,它是反映客觀現(xiàn)實(shí)世界的知識,而數(shù)據(jù)則具有任意性,用不同的數(shù)據(jù)形式可以表示同樣的信息。...10數(shù)據(jù)處理是指將數(shù)據(jù)轉(zhuǎn)換成信息的過程。它包括對數(shù)據(jù)的收集、存儲、分類、計(jì)算、加工、檢索和傳輸?shù)纫幌盗谢顒?。其基本目的是從大量的、雜亂無章的、難以理解的數(shù)據(jù)中整理出對人們有價值、有意義的數(shù)據(jù)(即信息),作為決策的依據(jù)。

數(shù)據(jù)是信息的載體,而信息是數(shù)據(jù)的內(nèi)涵。2.數(shù)據(jù)處理...111.1.2數(shù)據(jù)管理技術(shù)的發(fā)展(包括三個階段):1.人工管理階段20世紀(jì)50年代中期以前,計(jì)算機(jī)主要應(yīng)用于科學(xué)計(jì)算,數(shù)據(jù)量較少,一般不需要長期保存數(shù)據(jù)。硬件方面,沒有磁盤等直接存取的外存儲器。軟件方面,沒有對數(shù)據(jù)進(jìn)行管理的系統(tǒng)軟件。人工管理階段的特點(diǎn):這一時期的數(shù)據(jù)由于是面向應(yīng)用程序的,應(yīng)用程序與其處理的數(shù)據(jù)結(jié)合成一個整體。(1)數(shù)據(jù)不保存;(2)應(yīng)用程序管理數(shù)據(jù);(3)數(shù)據(jù)不能共享;(4)數(shù)據(jù)不具有獨(dú)立性;...12人工管理階段的程序與數(shù)據(jù)的關(guān)系:數(shù)據(jù)的組織面向應(yīng)用程序,不同的程序之間不能共享數(shù)據(jù)。...13

2.文件系統(tǒng)階段(專門管理數(shù)據(jù)的計(jì)算機(jī)軟件)20世紀(jì)50年代后期至60年代中期,計(jì)算機(jī)開始大量用于數(shù)據(jù)管理。硬件上出現(xiàn)了直接存取的大容量外存儲器,如磁盤、磁鼓等,這為計(jì)算機(jī)系統(tǒng)管理數(shù)據(jù)提供了物質(zhì)基礎(chǔ)。軟件方面,出現(xiàn)了操作系統(tǒng),其中包含文件系統(tǒng),這又為數(shù)據(jù)管理提供了技術(shù)支持。文件系統(tǒng)提供了在外存儲器上長期保存數(shù)據(jù)并對數(shù)據(jù)進(jìn)行存取的手段。文件的邏輯結(jié)構(gòu)與存儲結(jié)構(gòu)有一定區(qū)別,即程序與數(shù)據(jù)有一定的獨(dú)立性。數(shù)據(jù)的存儲結(jié)構(gòu)變化,不一定影響到程序,因此程序員可集中精力進(jìn)行算法設(shè)計(jì),并大大減少了維護(hù)程序的工作量。...14文件系統(tǒng)階段的特點(diǎn):(1)數(shù)據(jù)可以長期保存;(2)文件系統(tǒng)管理數(shù)據(jù);(3)數(shù)據(jù)的共享性差,冗余度大;(4)數(shù)據(jù)獨(dú)立性差;...15文件系統(tǒng)階段程序與數(shù)據(jù)的關(guān)系:...16

3.?dāng)?shù)據(jù)庫系統(tǒng)階段20世紀(jì)60年代后期,計(jì)算機(jī)在管理中應(yīng)用規(guī)模更加龐大、數(shù)據(jù)量急劇增加,數(shù)據(jù)共享性更強(qiáng)。硬件價格下降,軟件價格上升,編制和維護(hù)軟件所需成本相對增加,其中維護(hù)成本更高。這些成為數(shù)據(jù)管理在文件系統(tǒng)的基礎(chǔ)上發(fā)展到數(shù)據(jù)庫系統(tǒng)的原動力。在數(shù)據(jù)庫系統(tǒng)中,由一種叫做數(shù)據(jù)庫管理系統(tǒng)(DBMS:DatabaseManagementSystems)的系統(tǒng)軟件來對數(shù)據(jù)進(jìn)行統(tǒng)一的控制和管理,從而有效地減少了數(shù)據(jù)冗余,實(shí)現(xiàn)了數(shù)據(jù)共享,解決了數(shù)據(jù)獨(dú)立性問題,并提供統(tǒng)一的安全性、完整性和并發(fā)控制功能。...17數(shù)據(jù)庫系統(tǒng)階段的特點(diǎn):(1)數(shù)據(jù)結(jié)構(gòu)化;(2)數(shù)據(jù)共享性高,冗余度小,具有高度的物理獨(dú)立性和邏輯獨(dú)立性;(3)具有良好的用戶接口;(4)對數(shù)據(jù)實(shí)行統(tǒng)一管理和控制;...18數(shù)據(jù)庫系統(tǒng)階段程序與數(shù)據(jù)的關(guān)系:...191.2.1數(shù)據(jù)庫系統(tǒng)(DateBaseSystem,簡稱DBS):

數(shù)據(jù)庫系統(tǒng)是把有關(guān)計(jì)算機(jī)硬件、軟件、數(shù)據(jù)和人員組合起來為用戶提供信息服務(wù)的系統(tǒng)。因此,數(shù)據(jù)庫系統(tǒng)是由計(jì)算機(jī)系統(tǒng)、數(shù)據(jù)庫及其描述機(jī)構(gòu)、數(shù)據(jù)庫管理系統(tǒng)和有關(guān)人員組成,是由這幾個方面組成的具有高度組織性的總體。數(shù)據(jù)庫系統(tǒng)(DBS)的四要素:數(shù)據(jù)庫、軟件系統(tǒng)、硬件系統(tǒng)、數(shù)據(jù)庫系統(tǒng)有關(guān)人員。1.2數(shù)據(jù)庫系統(tǒng)的組成與結(jié)構(gòu)...20“數(shù)據(jù)庫系統(tǒng)”(DBS)的組成:1.數(shù)據(jù)庫(DateBase,簡稱DB)存儲在計(jì)算機(jī)外部存儲介質(zhì)(包括磁帶、磁盤、光盤或其他外存介質(zhì))上的結(jié)構(gòu)化的數(shù)據(jù)集合。2.硬件系統(tǒng)數(shù)據(jù)庫系統(tǒng)對計(jì)算機(jī)硬件的要求除要求CPU的處理速度高、內(nèi)存容量大以外,還要求有足夠的外存空間以存儲數(shù)據(jù)庫中的數(shù)據(jù)。...21

3.軟件系統(tǒng)數(shù)據(jù)庫系統(tǒng)中的軟件包括數(shù)據(jù)庫管理系統(tǒng)(DBMS)、操作系統(tǒng)、數(shù)據(jù)庫應(yīng)用程序及相關(guān)軟件等。數(shù)據(jù)庫管理系統(tǒng)(DBMS)是數(shù)據(jù)庫系統(tǒng)的核心軟件之一。它提供數(shù)據(jù)定義、數(shù)據(jù)操作、數(shù)據(jù)庫管理、數(shù)據(jù)庫建立和維護(hù)以及通信等功能。如:VisualFoxPro、SQLServer等。

...22

4.數(shù)據(jù)庫系統(tǒng)的有關(guān)人員(1)數(shù)據(jù)庫管理員(DataBaseAdministrator,簡稱DBA):大型數(shù)據(jù)庫通常由專業(yè)人員設(shè)計(jì),還要有專職的數(shù)據(jù)庫管理員(DBA)進(jìn)行管理。(2)用戶:數(shù)據(jù)庫系統(tǒng)的用戶分為以下兩類:最終用戶:分為:偶然用戶、簡單用戶和復(fù)雜用戶。專業(yè)用戶:這類用戶主要是應(yīng)用系統(tǒng)開發(fā)人員。...23數(shù)據(jù)庫系統(tǒng)(DBS)...241.2.2數(shù)據(jù)庫系統(tǒng)的三級模式結(jié)構(gòu)

為了有效地組織、管理數(shù)據(jù),提高數(shù)據(jù)庫的邏輯獨(dú)立性和物理獨(dú)立性,人們?yōu)閿?shù)據(jù)庫設(shè)計(jì)了一個嚴(yán)謹(jǐn)?shù)捏w系結(jié)構(gòu),數(shù)據(jù)庫領(lǐng)域公認(rèn)的標(biāo)準(zhǔn)結(jié)構(gòu)是三級模式結(jié)構(gòu),它包括外模式、模式和內(nèi)模式。...25

美國國家標(biāo)準(zhǔn)委員會(ANSI:AmericanNationalStandardsInstitute)的數(shù)據(jù)庫管理系統(tǒng)研究小組于1975年提出了標(biāo)準(zhǔn)化的建議,將數(shù)據(jù)庫結(jié)構(gòu)分為3級:外模式:對應(yīng)用戶級數(shù)據(jù)庫,面向用戶或應(yīng)用程序員。模式(概念模式):對應(yīng)概念級模式,面向數(shù)據(jù)庫管理員。內(nèi)模式(存儲模式):對應(yīng)物理級數(shù)據(jù)庫,面向系統(tǒng)程序員。**使不同級別的用戶對數(shù)據(jù)庫形成不同的視圖。...26數(shù)據(jù)庫分級結(jié)構(gòu)圖...27...281.模式模式也稱為邏輯模式或概念模式,是對數(shù)據(jù)庫的整體邏輯結(jié)構(gòu)和特征的描述,是數(shù)據(jù)庫系統(tǒng)模式結(jié)構(gòu)的中間層。一個數(shù)據(jù)庫只有一個模式。模式并不涉及數(shù)據(jù)的物理存儲細(xì)節(jié)和硬件環(huán)境。2.內(nèi)模式內(nèi)模式也稱為存儲模式,它是數(shù)據(jù)庫在物理存儲器上具體存儲實(shí)現(xiàn)的描述,是數(shù)據(jù)在數(shù)據(jù)庫內(nèi)部的表示方法,也是數(shù)據(jù)物理結(jié)構(gòu)和存儲方式的描述。一個數(shù)據(jù)庫只有一個內(nèi)模式。...293.外模式外模式也稱為子模式或用戶模式,它是數(shù)據(jù)和用戶能夠看見和使用的局部數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述,是數(shù)據(jù)和用戶的數(shù)據(jù)視圖,是與某一應(yīng)用有關(guān)的數(shù)據(jù)的邏輯表示。外模式一般是模式的子集。一個模式可以有多個外模式。一個應(yīng)用程序只能使用一個外模式。外模式是保證數(shù)據(jù)庫安全性的一個有力措施。...30在一個數(shù)據(jù)庫系統(tǒng)中,只有惟一的數(shù)據(jù)庫,因而作為定義、描述數(shù)據(jù)庫存儲結(jié)構(gòu)(物理級)的內(nèi)模式和定義、描述數(shù)據(jù)庫邏輯結(jié)構(gòu)(總體觀)的模式,也是惟一的,但建立在數(shù)據(jù)庫系統(tǒng)之上的應(yīng)用則是非常廣泛、多樣的,所以對應(yīng)的外模式(用戶觀)不是惟一的,也不可能惟一。...311.2.3模式之間的映射

(1)“外模式/模式”之間的映射這種映射將用戶數(shù)據(jù)庫與概念數(shù)據(jù)庫聯(lián)系起來;實(shí)現(xiàn)了數(shù)據(jù)與程序的邏輯獨(dú)立性,簡稱數(shù)據(jù)的邏輯獨(dú)立性。

(2)“模式/內(nèi)模式”之間的映射這種映射把概念數(shù)據(jù)庫與物理數(shù)據(jù)庫聯(lián)系起來。模式與內(nèi)模式的映射使全局邏輯數(shù)據(jù)獨(dú)立于物理數(shù)據(jù),保證了數(shù)據(jù)與程序的物理獨(dú)立性,簡稱數(shù)據(jù)的物理獨(dú)立性。...321.2.4數(shù)據(jù)庫系統(tǒng)的特點(diǎn)1.?dāng)?shù)據(jù)共享2.減少數(shù)據(jù)冗余3.具有較高的數(shù)據(jù)獨(dú)立性4.增強(qiáng)了數(shù)據(jù)安全性和完整性保護(hù)

1.4“數(shù)據(jù)庫管理系統(tǒng)”請同學(xué)們課下自學(xué)。...331.3數(shù)據(jù)模型1.3.1什么是數(shù)據(jù)模型1.模型的分類(2類)一種模型是概念模型(信息模型),它是按照用戶的觀點(diǎn)進(jìn)行數(shù)據(jù)信息建模,主要用于數(shù)據(jù)庫的設(shè)計(jì)。另一種模型是數(shù)據(jù)模型,這種模型是按計(jì)算機(jī)系統(tǒng)的觀點(diǎn)對數(shù)據(jù)建模,主要用于DBMS的設(shè)計(jì)。數(shù)據(jù)模型是對客觀事物及其聯(lián)系的數(shù)據(jù)描述,反映實(shí)體內(nèi)部和實(shí)體之間的聯(lián)系。數(shù)據(jù)模型是信息模型在數(shù)據(jù)世界中的表示形式。可將數(shù)據(jù)模型分為三類:網(wǎng)狀模型、層次模型和關(guān)系模型。詳見后面的1.3.3。

...342.?dāng)?shù)據(jù)模型的三要素*:(1)數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)是所研究對象類型的集合,這些對象組成數(shù)據(jù)庫。按照數(shù)據(jù)結(jié)構(gòu)類型的不同,將數(shù)據(jù)模型劃分為層次模型、網(wǎng)狀模型和關(guān)系模型。(2)數(shù)據(jù)操縱數(shù)據(jù)操縱是指對數(shù)據(jù)庫中各種對象實(shí)例的操作。(3)數(shù)據(jù)的完整性約束數(shù)據(jù)的完整性約束是指在給定的數(shù)據(jù)模型中,數(shù)據(jù)及其數(shù)據(jù)關(guān)聯(lián)所遵守的一組規(guī)則。用以保證數(shù)據(jù)庫中數(shù)據(jù)的正確性、一致性。...351.3.2概念模型概念模型也稱為“信息模型”。信息模型就是人們?yōu)檎_直觀地反映客觀事物及其聯(lián)系,對所研究的信息世界建立的一個抽象的模型。是現(xiàn)實(shí)世界到信息世界的第一層抽象,是數(shù)據(jù)庫設(shè)計(jì)人員和用戶之間進(jìn)行交流的語言。...36現(xiàn)實(shí)世界客觀對象的抽象過程:...371.概念模型的名詞術(shù)語(1)實(shí)體(Entity):客觀存在并可相互區(qū)別的事物稱為實(shí)體。實(shí)體既可以是實(shí)際的事物,也可以是抽象的概念或聯(lián)系。(2)屬性(Attribute):屬性就是實(shí)體所具有的特性,一個實(shí)體可以由若干個屬性描述。(3)域(Domain):屬性的取值范圍稱為該屬性的域。(4)實(shí)體集(EntitySet):具有相同屬性的實(shí)體的集合稱為實(shí)體集。(5)碼(鍵)(Key):鍵是能夠惟一地標(biāo)識出一個實(shí)體集中每一個實(shí)體的屬性或?qū)傩越M合,鍵也被稱為關(guān)鍵字或碼。(6)聯(lián)系(Relationship):聯(lián)系分為兩種:一種是實(shí)體內(nèi)部各屬性之間的聯(lián)系,另一種是實(shí)體之間的聯(lián)系。...38...39在VisualFoxPro中,用“表”來表示同一類實(shí)體,即實(shí)體集,用“記錄”來表示一個具體的實(shí)體,用“字段”來表示實(shí)體的屬性。顯然,字段的集合組成一個記錄,記錄的集合組成一個表。相應(yīng)于實(shí)體型,則代表了表的結(jié)構(gòu)。...402.實(shí)體間的聯(lián)系實(shí)體之間的對應(yīng)關(guān)系稱為聯(lián)系,它反映了現(xiàn)實(shí)世界事物之間的相互關(guān)聯(lián)。例如,圖書和出版社之間的關(guān)聯(lián)關(guān)系為:一個出版社可出版多種書,同一種書只能在一個出版社出版。實(shí)體間的聯(lián)系是指一個實(shí)體集中可能出現(xiàn)的每一個實(shí)體與另一實(shí)體集中多少個具體實(shí)體存在聯(lián)系。兩個實(shí)體之間有各種各樣的聯(lián)系,歸納起來有3種類型:...41(1)一對一聯(lián)系(1:1)。如果對于實(shí)體集A中的每一個實(shí)體,實(shí)體集B中有且只有一個實(shí)體與之聯(lián)系,反之亦然,則稱實(shí)體集A與實(shí)體集B具有一對一聯(lián)系。(2)一對多聯(lián)系(1:n)。如果對于實(shí)體集A中的每一個實(shí)體,實(shí)體集B中有多個實(shí)體與之聯(lián)系,反之,對于實(shí)體集B中的每一個實(shí)體,實(shí)體集A中至多只有一個實(shí)體與之聯(lián)系,則稱實(shí)體集A與實(shí)體集B有一對多的聯(lián)系。(3)多對多聯(lián)系(m:n)。如果對于實(shí)體集A中的每一個實(shí)體,實(shí)體集B中有多個實(shí)體與之聯(lián)系,而對于實(shí)體集B中的每一個實(shí)體,實(shí)體集A中也有多個實(shí)體與之聯(lián)系,則稱實(shí)體集A與實(shí)體集B之間有多對多的聯(lián)系。...423.E―R模型信息模型有很多種,其中最為流行的一種是由美籍華人陳平山于1976年提出的實(shí)體聯(lián)系模型(Entity-RelationshipModel,簡稱E―R模型),這種圖稱為實(shí)體―聯(lián)系圖,簡稱E―R圖。E―R圖有三個要素:實(shí)體:用矩形表示實(shí)體,矩形內(nèi)標(biāo)注實(shí)體名稱。屬性:用橢圓表示屬性,橢圓內(nèi)標(biāo)注屬性名稱。并用連線與實(shí)體連接起來。實(shí)體之間的聯(lián)系:用菱形表示,菱形內(nèi)注明聯(lián)系名稱,并用連線將菱形框分別與相關(guān)實(shí)體相連,并在連線上注明聯(lián)系類型。...43(a)1:1聯(lián)系(b)1:n聯(lián)系(c)m:n聯(lián)系...44...451.3.3數(shù)據(jù)庫類型數(shù)據(jù)模型是對客觀事物及其聯(lián)系的數(shù)據(jù)描述,反映實(shí)體內(nèi)部和實(shí)體之間的聯(lián)系。由于采用的數(shù)據(jù)模型不同,相應(yīng)的數(shù)據(jù)庫管理系統(tǒng)也就完全不同。在數(shù)據(jù)庫系統(tǒng)中,常用的數(shù)據(jù)模型有層次模型、網(wǎng)狀模型和關(guān)系模型3種。...46層次模型按樹型結(jié)構(gòu)組織數(shù)據(jù),它是以記錄類型為結(jié)點(diǎn),以結(jié)點(diǎn)間聯(lián)系為邊的有序樹,數(shù)據(jù)結(jié)構(gòu)為有序樹或森林。

1.層次模型...47層次模型有以下兩個特點(diǎn):有且僅有一個結(jié)點(diǎn)無父結(jié)點(diǎn),該結(jié)點(diǎn)稱為根;其它結(jié)點(diǎn)有且僅有一個父結(jié)點(diǎn)。上面特點(diǎn)就使得用層次模型表示1:n聯(lián)系非常簡便,但是它不能直接表示m:n的聯(lián)系。...482.網(wǎng)狀模型網(wǎng)狀模型用網(wǎng)狀結(jié)構(gòu)表示實(shí)體及其之間的聯(lián)系,網(wǎng)中結(jié)點(diǎn)之間的聯(lián)系不受層次限制,可以任意發(fā)生聯(lián)系。

...49網(wǎng)狀模型例子:...50網(wǎng)狀模型有如下幾個特點(diǎn):一個子結(jié)點(diǎn)可以有兩個或多個父結(jié)點(diǎn)。在兩個結(jié)點(diǎn)之間可以有兩種或多種聯(lián)系。可能有回路存在。網(wǎng)狀模型的優(yōu)點(diǎn):能夠更為直接地描述現(xiàn)實(shí)世界。具有良好的性能,存取效率高。主要缺點(diǎn):結(jié)構(gòu)復(fù)雜,不利于擴(kuò)充;不容易實(shí)現(xiàn)。...51在以上兩種數(shù)據(jù)模型中,各實(shí)體之間的聯(lián)系是用指針實(shí)現(xiàn)的,其優(yōu)點(diǎn)是查詢速度高。但是當(dāng)實(shí)體集和實(shí)體集中實(shí)體的數(shù)目都較多時,眾多的指針使得管理工作相當(dāng)復(fù)雜,對用戶來說使用也比較麻煩。...523.關(guān)系模型關(guān)系模型與層次模型和網(wǎng)狀模型相比有著本質(zhì)的差別,它是用二維表格來表示實(shí)體及其相互之間的聯(lián)系。在關(guān)系模型中,把實(shí)體集看成一個二維表,每一個二維表稱為一個關(guān)系。每個關(guān)系均有一個名字,稱為關(guān)系名。雖然關(guān)系模型比層次模型和網(wǎng)狀模型發(fā)展得晚,但是因?yàn)樗⒃趪?yán)格的數(shù)學(xué)理論基礎(chǔ)上,所以是目前比較流行的一種數(shù)據(jù)模型。自20世紀(jì)80年代以來,新推出的數(shù)據(jù)庫管理系統(tǒng)幾乎都支持關(guān)系模型,VisualFoxPro就是一種關(guān)系數(shù)據(jù)庫管理系統(tǒng)。...53關(guān)系模型例子:...541.4.1關(guān)系模型關(guān)系數(shù)據(jù)模型是由IBM公司的E.F.Codd于1970年首次提出,以關(guān)系數(shù)據(jù)模型為基礎(chǔ)的數(shù)據(jù)庫管理系統(tǒng),稱為關(guān)系數(shù)據(jù)庫系統(tǒng)(RDBMS),目前廣泛使用。關(guān)系數(shù)據(jù)模型的定義實(shí)體和聯(lián)系均用二維表來表示的數(shù)據(jù)模型稱之為關(guān)系數(shù)據(jù)模型。1.4關(guān)系數(shù)據(jù)庫...55...561.關(guān)系模型的基本概念(1)關(guān)系一個關(guān)系對應(yīng)著一張二維表,通常將一個沒有重復(fù)行、重復(fù)列的二維表看成一個關(guān)系,每個關(guān)系都有一個關(guān)系名。在VisualFoxPro中,一個關(guān)系對應(yīng)于一個表文件,其擴(kuò)展名為.dbf。(2)元組二維表的每一行即為一個元組。在VisualFoxPro中,一個元組對應(yīng)表中一個記錄。表是由很多元祖構(gòu)成的。...57(3)屬性二維表的每一列即為一個屬性,每個屬性都有一個屬性名,屬性值則是各個元組屬性的取值。在VisualFoxPro中,一個屬性對應(yīng)表中一個字段,屬性名對應(yīng)字段名,屬性值對應(yīng)于各個記錄的字段值。例如:“姓名”是這個表中所有元組都具有的屬性。(4)域?qū)傩缘娜≈捣秶Q為域。域作為屬性值的集合,其類型與范圍具體由屬性的性質(zhì)及其所表示的意義確定。同一屬性只能在相同域中取值。例如性別的域是男或女。...58(5)關(guān)鍵字**關(guān)系中能惟一區(qū)分、確定不同元組的屬性或?qū)傩越M合,稱為該關(guān)系的一個關(guān)鍵字。單個屬性組成的關(guān)鍵字稱為單關(guān)鍵字,多個屬性組合的關(guān)鍵字稱為組合關(guān)鍵字。需要強(qiáng)調(diào)的是,關(guān)鍵字的屬性值不能取“空值”,所謂空值就是“不知道”或“不確定”的值,因而無法惟一地區(qū)分、確定元組。(6)候選關(guān)鍵字關(guān)系中能夠成為關(guān)鍵字的屬性或?qū)傩越M合可能不是惟一的。凡在關(guān)系中能夠惟一區(qū)分、確定不同元組的屬性或?qū)傩越M合,稱為候選關(guān)鍵字。...59(7)主關(guān)鍵字在候選關(guān)鍵字中選定一個作為關(guān)鍵字,稱為該關(guān)系的主關(guān)鍵字。關(guān)系中主關(guān)鍵字是惟一的。(8)外部關(guān)鍵字關(guān)系中某個屬性或?qū)傩越M合并非關(guān)鍵字,但卻是另一個關(guān)系的主關(guān)鍵字,稱此屬性或?qū)傩越M合為本關(guān)系的外部關(guān)鍵字。關(guān)系之間的聯(lián)系是通過外部關(guān)鍵字實(shí)現(xiàn)的。(9)關(guān)系模式對關(guān)系的描述稱為關(guān)系模式,其格式為:關(guān)系名(屬性名1,屬性名2,…,屬性名n)關(guān)系既可以用二維表格描述,也可以用數(shù)學(xué)形式的關(guān)系模式來描述。一個關(guān)系模式對應(yīng)一個關(guān)系的結(jié)構(gòu)。在VisualFoxPro中,也就是表的結(jié)構(gòu)。...602.關(guān)系的基本特點(diǎn)

在關(guān)系模型中,關(guān)系具有以下基本特點(diǎn):(1)關(guān)系必須規(guī)范化,屬性不可再分割。規(guī)范化是指關(guān)系模型中每個關(guān)系模式都必須滿足一定的要求,最基本的要求是關(guān)系必須是一張二維表,每個屬性值必須是不可分割的最小數(shù)據(jù)單元,即表中不能再包含表。(2)在同一關(guān)系中不允許出現(xiàn)相同的屬性名。VisualFoxPro不允許同一個表中有相同的字段名。(3)關(guān)系中不允許有完全相同的元組,即冗余。...61(4)在同一關(guān)系中元組的次序無關(guān)緊要。也就是說,任意交換兩行的位置并不影響數(shù)據(jù)的實(shí)際含義。(5)在同一關(guān)系中屬性的次序無關(guān)緊要。任意交換兩列的位置也并不影響數(shù)據(jù)的實(shí)際含義,不會改變關(guān)系模式。以上是關(guān)系的基本性質(zhì),也是衡量一個二維表格是否構(gòu)成關(guān)系的基本要素。在這些基本要素中,有一點(diǎn)是關(guān)鍵,即屬性不可再分割,也即表中不能套表。...623.關(guān)系模型的優(yōu)點(diǎn)(1)數(shù)據(jù)結(jié)構(gòu)單一。關(guān)系模型中,不管是實(shí)體還是實(shí)體之間的聯(lián)系,都用關(guān)系來表示,而關(guān)系都對應(yīng)一張二維數(shù)據(jù)表,數(shù)據(jù)結(jié)構(gòu)簡單、清晰。(2)關(guān)系規(guī)范化,并建立在嚴(yán)格的理論基礎(chǔ)上。關(guān)系中每個屬性不可再分割,構(gòu)成關(guān)系的基本規(guī)范。同時關(guān)系是建立在嚴(yán)格的數(shù)學(xué)概念基礎(chǔ)上,具有堅(jiān)實(shí)的理論基礎(chǔ)。(3)概念簡單,操作方便。關(guān)系模型最大的優(yōu)點(diǎn)就是簡單,用戶容易理解和掌握,一個關(guān)系就是一張二維表格,用戶只需用簡單的查詢語言就能對數(shù)據(jù)庫進(jìn)行操作。...631.4.2關(guān)系數(shù)據(jù)庫**以關(guān)系模型建立的數(shù)據(jù)庫就是關(guān)系數(shù)據(jù)庫(RDB:RelationalDatabase)。關(guān)系數(shù)據(jù)庫中包含若干個關(guān)系,每個關(guān)系都由關(guān)系模式確定,每個關(guān)系模式包含若干個屬性和屬性對應(yīng)的域,所以,定義關(guān)系數(shù)據(jù)庫就是逐一定義關(guān)系模式,對每一關(guān)系模式逐一定義屬性及其對應(yīng)的域。一個關(guān)系就是一張二維表格,表格由表格結(jié)構(gòu)與數(shù)據(jù)構(gòu)成,表格的結(jié)構(gòu)對應(yīng)關(guān)系模式,表格每一列對應(yīng)關(guān)系模式的一個屬性,該列的數(shù)據(jù)類型和取值范圍就是該屬性的域。因此,定義了表格就定義了對應(yīng)的關(guān)系。...64在VisualFoxPro中,與關(guān)系數(shù)據(jù)庫對應(yīng)的是數(shù)據(jù)庫文件(.dbc文件),一個數(shù)據(jù)庫文件包含若干個表(.dbf文件),表由表結(jié)構(gòu)與若干個數(shù)據(jù)記錄組成,表結(jié)構(gòu)對應(yīng)關(guān)系模式。每個記錄由若干個字段構(gòu)成,字段對應(yīng)關(guān)系模式的屬性,字段的數(shù)據(jù)類型和取值范圍對應(yīng)屬性的域。一個關(guān)系模型的實(shí)際例子:學(xué)生–選課–課程關(guān)系模型。...651.4.3關(guān)系的完整性約束**

關(guān)系完整性是為保證數(shù)據(jù)庫中數(shù)據(jù)的正確性和相容性,對關(guān)系模型提出的某種約束條件或規(guī)則。完整性通常包括實(shí)體完整性、參照完整性和用戶定義完整性(又稱域完整性),其中實(shí)體完整性和參照完整性,是關(guān)系模型必須滿足的完整性約束條件。...661.實(shí)體完整性

實(shí)體完整性是指關(guān)系的主關(guān)鍵字不能取“空值”。一個關(guān)系對應(yīng)現(xiàn)實(shí)世界中一個實(shí)體集。現(xiàn)實(shí)世界中的實(shí)體是可相互區(qū)分、識別的,也即它們應(yīng)具有某種惟一性標(biāo)識。在關(guān)系模式中,以主關(guān)鍵字作惟一性標(biāo)識,而主關(guān)鍵字中的屬性(稱為主屬性)不能取空值,否則,表明關(guān)系模式中存在著不可標(biāo)識的實(shí)體(因空值是“不確定”的),這與現(xiàn)實(shí)世界的實(shí)際情況相矛盾,這樣的實(shí)體就不是一個完整實(shí)體。按實(shí)體完整性規(guī)則要求,主屬性不能取空值,如主關(guān)鍵字是多個屬性的組合,所有主屬性均不得取空值。...672.參照完整性

參照完整性是定義建立關(guān)系之間聯(lián)系的主關(guān)鍵字與外部關(guān)鍵字引用的約束條件。關(guān)系數(shù)據(jù)庫中通常都包含多個存在相互聯(lián)系的關(guān)系,關(guān)系與關(guān)系之間的聯(lián)系是通過公共屬性來實(shí)現(xiàn)的。所謂公共屬性,它是一個關(guān)系R(稱為被參照關(guān)系或目標(biāo)關(guān)系)的主關(guān)鍵字,同時又是另一關(guān)系K(稱為參照關(guān)系)的外部關(guān)鍵字。如果參照關(guān)系K中外部關(guān)鍵字的取值,要么與被參照關(guān)系R中某元組主關(guān)鍵字的值相同,要么取空值,那么,在這兩個關(guān)系間建立關(guān)聯(lián)的主關(guān)鍵字和外部關(guān)鍵字引用,符合參照完整性規(guī)則要求。如果參照關(guān)系K的外部關(guān)鍵字也是其主關(guān)鍵字,根據(jù)實(shí)體完整性要求,主關(guān)鍵字不得取空值,因此,參照關(guān)系K外部關(guān)鍵字的取值實(shí)際上只能取相應(yīng)被參照關(guān)系K中已經(jīng)存在的主關(guān)鍵字值。...683.用戶定義完整性

實(shí)體完整性和參照完整性適用于任何關(guān)系型數(shù)據(jù)庫系統(tǒng),主要是對關(guān)系的主關(guān)鍵字和外部關(guān)鍵字取值必須有效做出的約束。用戶定義完整性則是根據(jù)應(yīng)用環(huán)境的要求和實(shí)際的需要,對某一具體應(yīng)用所涉及的數(shù)據(jù)提出約束性條件。這一約束機(jī)制一般不應(yīng)由應(yīng)用程序提供,而應(yīng)由關(guān)系模型提供定義并檢驗(yàn)。用戶定義完整性主要包括字段有效性約束和記錄有效性約束。...691.4.4關(guān)系代數(shù)1.傳統(tǒng)的集合運(yùn)算:(1)關(guān)系的并:將關(guān)系R和S的所有元組合并,刪除重復(fù)的元組。記為R∪S(2)關(guān)系的差:即關(guān)系R中刪去與S相同的元組。記為R-S(3)關(guān)系的交:取關(guān)系R和S中相同的元組組成的一個新關(guān)系。記為R∩S...70運(yùn)算舉例:...712.專門的關(guān)系運(yùn)算(1)選擇選擇運(yùn)算是從關(guān)系中查找符合指定條件元組的操作。以邏輯表達(dá)式指定選擇條件,選擇運(yùn)算將選取使邏輯表達(dá)式為真的所有元組。選擇運(yùn)算的結(jié)果構(gòu)成關(guān)系的一個子集,是關(guān)系中的部分元組,其關(guān)系模式不變。選擇運(yùn)算是從二維表格中選取若干行的操作,在表中則是選取若干個記錄的操作。在VisualFoxPro中,可以通過命令子句FOR<邏輯表達(dá)式>、WHILE<邏輯表達(dá)式>和設(shè)置記錄過濾器實(shí)現(xiàn)選擇運(yùn)算。...72(2)投影

投影運(yùn)算是從關(guān)系中選取若干個屬性的操作。投影運(yùn)算從關(guān)系中選取若干屬性形成一個新的關(guān)系,其關(guān)系模式中屬性個數(shù)比原關(guān)系少,或者排列順序不同,同時也可能減少某些元組。因?yàn)榕懦艘恍傩院?,特別是排除了原關(guān)系中關(guān)鍵字屬性后,所選屬性可能有相同值,出現(xiàn)相同的元組,而關(guān)系中必須排除相同元組,從而有可能減少某些元組。投影是從二維表格中選取若干列的操作,在表中則是選取若干個字段。因VisualFoxPro允許表中有相同記錄,如有必要,只能由用戶刪除相同記錄。在VisualFoxPro中,通過命令子句FILEDS<字段表>和設(shè)置字段過濾器,實(shí)現(xiàn)投影運(yùn)算。...73(3)聯(lián)接

聯(lián)接運(yùn)算是將兩個關(guān)系模式的若干屬性拼接成一個新的關(guān)系模式的操作,對應(yīng)的新關(guān)系中,包含滿足聯(lián)接條件的所有元組。聯(lián)接過程是通過聯(lián)接條件來控制的,聯(lián)接條件中將出現(xiàn)兩個關(guān)系中的公共屬性名,或者具有相同語義、可比的屬性。聯(lián)接是將兩個二維表格中的若干列,按同名等值的條件拼接成一個新二維表格的操作。在表中則是將兩個表的若干字段,按指定條件(通常是同名等值)拼接生成一個新的表。在VisualFoxPro中,聯(lián)接運(yùn)算是通過JOIN命令和SELECT–SQL命令來實(shí)現(xiàn)的。...741.5.1VisualFoxPro系統(tǒng)的發(fā)展1995年6月,Microsoft公司推出了VisualFoxPro3.0版,接著又很快推出VisualFoxPro5.0及其中文版,1998年發(fā)布了可視化編程語言集成包VisualStudio6.0。本書介紹的VisualFoxPro6.0(中文版)就是其中的一員。VFP是一種功能強(qiáng)大的數(shù)據(jù)庫管理系統(tǒng)(DBMS)。1.5VisualFoxPro系統(tǒng)簡介...751.5.2VisualFoxPro6.0的特點(diǎn)1.大大加強(qiáng)了查詢與管理功能VisualFoxPro采用了目前先進(jìn)的Rushmore快速查詢技術(shù),使VisualFoxPro能快速查詢到所需記錄,查詢響應(yīng)時間成指數(shù)倍減少,極大地提高了查詢的效率。VisualFoxPro提供的項(xiàng)目管理器,可供用戶對所開發(fā)項(xiàng)目中的數(shù)據(jù)、文檔、源代碼和類庫等資源進(jìn)行集中管理,提高了開發(fā)與維護(hù)效率。...762.引入了數(shù)據(jù)庫表的概念從dBASE到FoxPro,每一個數(shù)據(jù)庫文件(使用.dbf作擴(kuò)展名)都是獨(dú)立存在的。庫文件之間的聯(lián)系,只能在使用時由用戶在編程中用命令來表達(dá)。VisualFoxPro改

溫馨提示

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

評論

0/150

提交評論