《VFP數(shù)據(jù)庫管理系統(tǒng)課件》由會員分享,可在線閱讀,更多相關(guān)《VFP數(shù)據(jù)庫管理系統(tǒng)課件(34頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、,單擊此處編輯母版標題樣式,單擊此處編輯母版文本樣式,第二級,第三級,第四級,第五級,*,*,VFP,數(shù)據(jù)庫管理系統(tǒng),劉 耀,計算機與電子工程系,1,第1章,VISUAL FOXPRO,基礎(chǔ),本章要點:,1.1 數(shù)據(jù)庫系統(tǒng)簡介,1.2 數(shù)據(jù)模型與關(guān)系數(shù)據(jù)庫,1.3 Visual FoxPro,系統(tǒng)的安裝,2,1.1.1 數(shù)據(jù)庫系統(tǒng)的產(chǎn)生與發(fā)展,1.1.2,Fox,系列數(shù)據(jù)庫產(chǎn)品的發(fā)展歷史,1.1.3,Visual FoxPro,的特點,1.1 數(shù)據(jù)庫系統(tǒng)簡介,3,1.1.1.1 數(shù)據(jù)與數(shù)據(jù)處理,1.1.1.2 數(shù)據(jù)庫系統(tǒng)的基本概念,1.1.1.3 數(shù)據(jù)管理的三個階段,1.1.1.4 數(shù)據(jù)庫系統(tǒng)
2、結(jié)構(gòu),1.1.1 數(shù)據(jù)庫系統(tǒng)的產(chǎn)生與發(fā)展,4,1.1.1.1 數(shù)據(jù)與數(shù)據(jù)處理,數(shù)據(jù),:是一組用來描述事物情況的物理符號序列,通常用類型和值來表示。,數(shù)據(jù)處理:,是對各種類型的數(shù)據(jù)進行收集、存儲、分類、計算、加工、檢索和傳輸?shù)倪^程。,信息:,有使用價值的數(shù)據(jù)。,數(shù)據(jù)處理就是將數(shù)據(jù)轉(zhuǎn)換成信息的過程,。,5,數(shù)據(jù)處理的五個步驟,數(shù)據(jù)收集,編碼轉(zhuǎn)換,數(shù)據(jù)輸入,數(shù)據(jù)處理,數(shù)據(jù)輸出,數(shù)據(jù)處理的中心問題是,數(shù)據(jù)管理,。,數(shù)據(jù)管理是對數(shù)據(jù)的分類、組織、,編碼、存儲、檢索和維護。,6,數(shù)據(jù)庫:,(,Database,,簡記為,DB,),是以一定的組織方式存儲在一起的相互關(guān)聯(lián)的數(shù)據(jù)的集合。,數(shù)據(jù)庫管理系統(tǒng):(,D
3、atabase Management System,,簡記為,DBMS,),是對數(shù)據(jù)庫進行管理的系統(tǒng)軟件,是數(shù)據(jù)庫系統(tǒng)的核心。,1.1.1.2 數(shù)據(jù)庫系統(tǒng)的基本概念,7,數(shù)據(jù)庫系統(tǒng),數(shù)據(jù)庫系統(tǒng),(,Database System,,簡記為,DBS,),DBS,是實現(xiàn)有組織地、動態(tài)地存儲大量關(guān)聯(lián)數(shù)據(jù)、方便多用戶訪問的計算機,硬件,、,軟件,和,數(shù)據(jù)資源,組成的系統(tǒng),即它是采用數(shù)據(jù)庫技術(shù)的計算機系統(tǒng)。,計算機硬件,數(shù)據(jù)庫,數(shù)據(jù)庫管理系統(tǒng),應(yīng)用軟件,數(shù)據(jù)庫管理員,8,人工管理階段50年代中期前,背景:,計算機主要用于科學(xué)計算。,特點:,數(shù)據(jù)不保存;沒有軟件系統(tǒng)對數(shù)據(jù)進行管理;數(shù)據(jù)的組織方式由程序員自
4、行設(shè)計;一組數(shù)據(jù)對應(yīng)一個程序,。,1.1.1.3 數(shù)據(jù)管理的三個階段,數(shù)據(jù)的冗余度大。,數(shù)據(jù)和程序的相互依賴!,9,文件系統(tǒng)階段50年代后期至60年代后期,背景:,計算機已大量用于管理。,特點:,數(shù)據(jù)冗余度大;易造成數(shù)據(jù)的不一致性;程序與數(shù)據(jù)相互依賴(數(shù)據(jù)依賴)。,1.1.1.3 數(shù)據(jù)管理的三個階段,應(yīng)用程序1,應(yīng)用程序2,應(yīng)用程序,n,文件1,文件2,文件,n,存取,方法,10,數(shù)據(jù)庫系統(tǒng)階段70年代初至今,背景:,計算機更廣泛地應(yīng)用于各個領(lǐng)域,數(shù)據(jù)共享要求越來越強。,特點:,面向全組織的復(fù)雜的數(shù)據(jù)結(jié)構(gòu);數(shù)據(jù)冗余度小、易擴充;數(shù)據(jù)和程序的獨立性高;數(shù)據(jù)統(tǒng)一控制。,1.1.1.3 數(shù)據(jù)管理的三
5、個階段,應(yīng)用程序1,應(yīng)用程序2,應(yīng)用程序,n,數(shù)據(jù)庫,DB,MS,11,1.1.2.1,Fox,系列數(shù)據(jù)庫產(chǎn)品的演變,DBASE (80,年代初),美國,Ashton-Tate,公司,DBASE (84,年6月),美國,Ashton-Tate,公司,FOXBASE (84-92,年),美國,Fox,公司,FoxPro (92,年開始),美國,Microsoft,公司,Visual FoxPro(95,年9月),美國,Microsoft,公司,1.1.2,Fox,系列數(shù)據(jù)庫產(chǎn)品的發(fā)展歷史,12,1.1.2.2,Visual FoxPro 6.0,70年代后期,微機出現(xiàn),81年,IBM,公司開發(fā)出
6、,PC,機,同年美國,Ashton-Tate,公司推出,PC,上第一個數(shù)據(jù)庫產(chǎn)品,dBASE。86,年,Fox Software,公司推出,FoxBASE,,速度比,dBASE,快,功能更強。但是語言結(jié)構(gòu)復(fù)雜,命令語句多,界面過于簡單,程序生成功能較差,數(shù)據(jù)完整性較差。92年,FOX,公司并入微軟,推出,FoxPro,以界面的易用性吸引了用戶。95、97、98年微軟先后推出,VFP3.0、VFP5.0、,VFP6.0,。,13,真正的關(guān)系型數(shù)據(jù)庫,可視化編程技術(shù),面向?qū)ο蟮某绦蛟O(shè)計方法,支持客戶機/服務(wù)器工作方式,VFP,的輔助設(shè)計工具,1.1.3,Visual FoxPro,的特點,14,1
7、.2.1 實體的描述,1.2.2 數(shù)據(jù)模型,1.2.3 關(guān)系運算,1.2 數(shù)據(jù)模型與關(guān)系數(shù)據(jù)庫,15,1.2.1 實體的描述,現(xiàn)實世界中的事物及其聯(lián)系,通過一定抽象(認識、選擇、描述等)轉(zhuǎn)變成為概念世界中的實體及其聯(lián)系(實體模型),數(shù)據(jù)庫系統(tǒng)中描述實體及實體之間聯(lián)系的模型通常稱之為數(shù)據(jù)模型。,現(xiàn)實世界 概念世界 數(shù)據(jù)世界 計算機世界,事物及聯(lián)系 實體模型 數(shù)據(jù)模型,事物 實體 數(shù)據(jù),二進制數(shù)據(jù),對象 性質(zhì) 對象 屬性 記錄 字段,16,實體、屬性、聯(lián)系,實體,(,entity,):,客觀存在,可以相互區(qū)別的事物稱為實體,屬性,(,attribute,):,實體的特性,聯(lián)系,(,relation
8、ship,):,實體之間的對應(yīng)關(guān)系,17,聯(lián)系的種類,一對一聯(lián)系,:如果實體集,E1,中每個實體至多和實體集,E2,中的一個實體有聯(lián)系,反之亦然,那么實體集,E1,和,E2,的聯(lián)系稱為“一對一聯(lián)系”,記為,“1:1”,。,(校長和學(xué)校),一對多聯(lián)系:,如果實體集,E1,中每個實體可以與實體集,E2,中任意個(零個或多個)實體間有聯(lián)系,而,E2,中每個實體至多和,E1,中一個實體有聯(lián)系,那么稱,E1,對,E2,的聯(lián)系是“一對多聯(lián)系”,記為,“1:,N”,。,(,學(xué)校和學(xué)生),18,多對多聯(lián)系:,如果實體集,E1,中每個實體可以與實體集,E2,中任意個(零個或多個)實體有聯(lián)系,反之亦然,那么稱,E
9、1,和,E2,的聯(lián)系是“多對多聯(lián)系”,記為,“,M:N”,。,(學(xué)生與課程),校長,任職,學(xué)校,學(xué)生,從屬,課程,選課,1,1,1,m,m,n,19,1.2.2 數(shù)據(jù)模型,在數(shù)據(jù)庫中我們是用,數(shù)據(jù)模型,這個工具來抽象、表示和處理現(xiàn)實世界中的實體以及實體之間的聯(lián)系。簡單地說,數(shù)據(jù)模型就是現(xiàn)實世界的模擬,現(xiàn)有的數(shù)據(jù)庫均是基于某種數(shù)據(jù)模型的,,數(shù)據(jù)模型是數(shù)據(jù)庫的核心,。,數(shù)據(jù)模型,的簡單定義,:,能表示實體類型及實體間聯(lián)系的模型稱為“數(shù)據(jù)模型”??煞譃椋?概念,數(shù)據(jù)模型:如,ER,模型,邏輯,數(shù)據(jù)模型:如,層次、網(wǎng)狀、關(guān)系,等模型,20,1.2.2.1 ER,模型,概念數(shù)據(jù)模型,是按,用戶觀點,對數(shù)
10、據(jù)建模,是對現(xiàn)實世界的第一層抽象,如實體聯(lián)系模型,(ER,模型),ER,數(shù)據(jù)模型(,Entity Relationship data model,),即實體聯(lián)系數(shù)據(jù)模型,于,1976,年由,PPChen,首先提出。,ER,模型用實體、聯(lián)系和屬性的概念描述數(shù)據(jù)。,ER,模型的基本元素,實體,聯(lián)系,屬性,21,ER,模型的基本,圖例,實體,聯(lián)系,屬性,ER,模型圖例,老,師,學(xué),生,教,m,n,學(xué)號,姓名,專業(yè),班級,職稱,性別,姓名,職號,22,ER,圖分析示例,現(xiàn)有的教學(xué),管理系統(tǒng),初步分析系統(tǒng)的對象,根據(jù)服務(wù)種類分析教師子模塊,局部,ER,圖,23,1.2.2.2,層次模型,用樹型(層次)結(jié)
11、構(gòu)表示實體類型及實體間聯(lián)系的數(shù)據(jù)模型稱為,層次模型,(,Hierarchical Model)。,層次模型的優(yōu)點,:,(1)模型簡單,(2)查詢效率高,(3)便于管理數(shù)據(jù)的完整性,層次模型的缺點,:,(1)只能表示一對多聯(lián)系,(2)數(shù)據(jù)的查詢和更新操作復(fù)雜,(,3,)層次命令趨于程序化,(4)用戶必須非常熟悉數(shù)據(jù)庫結(jié)構(gòu),24,網(wǎng)狀模型,用有向圖(網(wǎng)絡(luò))結(jié)構(gòu)表示實體類型及實體間聯(lián)系的數(shù)據(jù)模型稱為,網(wǎng)狀模型(,Network Model),。,網(wǎng)狀模型的優(yōu)點:,(1)快速的數(shù)據(jù)訪問,(2)便于復(fù)雜數(shù)據(jù)庫的建模,網(wǎng)狀模型的缺點:,(1)結(jié)構(gòu)復(fù)雜,并不便于修改,(2)其,DDL(,數(shù)據(jù)定義語言),,D
12、ML(,數(shù)據(jù)操作語言)語言復(fù)雜、用戶不容易使用,(3)用戶必須掌握數(shù)據(jù)庫結(jié)構(gòu),25,1.2.2.4,關(guān)系模型,關(guān)系模型,是建立在嚴格的數(shù)學(xué)概念的基礎(chǔ)上的。在用戶,的觀點下,關(guān)系模型中數(shù)據(jù)的邏輯結(jié)構(gòu)是一張二維表,,由行和列組成。,26,關(guān)系模型的優(yōu)點、缺點,關(guān)系模型的優(yōu)點:,關(guān)系模型是建立在嚴格的數(shù)學(xué)概念的基礎(chǔ)上的;,關(guān)系模型的概念單一。無論實體還是實體之間的聯(lián)系都用關(guān)系表示。對數(shù)據(jù)的檢索結(jié)果也是關(guān)系(即表)。所以其數(shù)據(jù)結(jié)構(gòu)簡單、清晰、用戶易懂易用;,關(guān)系模型的存儲路徑對用戶透明,從而具有更高的數(shù)據(jù)獨立性、更好的安全保密性,也減輕了程序員的工作和數(shù)據(jù)庫開發(fā)建立的工作。,關(guān)系模型的缺點:,查詢效率
13、不如非關(guān)系數(shù)據(jù)模型。,27,數(shù)據(jù)表與關(guān)系對應(yīng)關(guān)系,由關(guān)系模型構(gòu)造的數(shù)據(jù)庫管理系統(tǒng)稱為,關(guān)系型數(shù)據(jù)庫管理系統(tǒng),。如,FOXBASE,+,、VFP。,一個關(guān)系在關(guān)系型數(shù)據(jù)庫系統(tǒng)中用,數(shù)據(jù)表,來表示。數(shù)據(jù)表有,表名,、,字段,和,記錄。,一個關(guān)系(二維表),數(shù)據(jù)表,屬性(列),字段,元組(行),記錄,關(guān)系模式(表頭),文件結(jié)構(gòu),關(guān)系(關(guān)系名),表文件(表名),28,關(guān)系模型對數(shù)據(jù)表的約束,表格中每一列都是基本數(shù)據(jù)項,不可再分割。即表格中不能再嵌套表格。,表格中每一列的數(shù)據(jù)都具有相同的數(shù)據(jù)類型。,表格中每一列稱為屬性,屬性名稱是唯一的,不允許有相同的屬性名稱。,表格中的一行稱為一個元組,不允許有完全相
14、同的元組。,表格中行和列的順序可以任意排列。,29,ER,圖轉(zhuǎn)換成關(guān)系模式集的規(guī)則,(選講),將每個實體類型轉(zhuǎn)換成一個關(guān)系模式,實體的屬性即為關(guān)系模式的屬性,實體標識符即為關(guān)系模式的鍵。,二元聯(lián)系類型的轉(zhuǎn)換,若實體間聯(lián)系是,1:1,,可以在兩個實體類型轉(zhuǎn)換成的兩個關(guān)系模式中任意一個關(guān)系模式的屬性中加入另一個關(guān)系模式的鍵和聯(lián)系類型的屬性。,30,若實體間聯(lián)系是,1:N,,則在,N,端實體類型轉(zhuǎn)換成的關(guān)系模式中加入,1,端實體類型的鍵和聯(lián)系類型的屬性。,若實體間聯(lián)系是,M:N,,則將聯(lián)系類型也轉(zhuǎn)換成關(guān)系模式,其屬性為兩端實體類型的鍵加上聯(lián)系類型的屬性,而鍵為兩端實體鍵的組合,31,數(shù)據(jù)庫是由若干個表以及表之間的相互關(guān)系的集合。在數(shù)據(jù)庫應(yīng)用中(例如查詢)經(jīng)常要對這些關(guān)系進行運算。,關(guān)系的基本運算有兩類:一是傳統(tǒng)的集合運算(,并、差、交等,);二是專門的關(guān)系運算(比如,“選擇、投影、聯(lián)接”,)。,1.2.3 關(guān)系運算,32,專門的關(guān)系運算,選擇:,選擇也叫篩選,是指從全部記錄中挑選滿足一定條件的記錄的操作。,投影:,是指從全部學(xué)段中挑選出需要的字段的操作。,連接:,是指數(shù)據(jù)庫的橫向結(jié)合,是從兩個數(shù)據(jù)庫文件中選取部分和全部字段,組合成一個新的數(shù)據(jù)庫文件,其中包含滿足連接條件的所有記錄。,33,注:本小節(jié)內(nèi)容在實踐課時中演示。,1.3 Visual FoxPro,系統(tǒng)的安裝,34,