數(shù)據(jù)庫的建立和操作_第1頁
數(shù)據(jù)庫的建立和操作_第2頁
數(shù)據(jù)庫的建立和操作_第3頁
數(shù)據(jù)庫的建立和操作_第4頁
數(shù)據(jù)庫的建立和操作_第5頁
已閱讀5頁,還剩474頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

VisualFoxPro6.0第1章VisualFoxPro6.0概述第2章VFP6.0基礎(chǔ)第3章數(shù)據(jù)庫的建立和操作第4章數(shù)據(jù)庫的管理第5章查詢與視圖第6章應(yīng)用程序設(shè)計結(jié)構(gòu)第7章報表設(shè)計第8章面向?qū)ο蟪绦蛟O(shè)計第9章常用控件第10章數(shù)據(jù)表的表單設(shè)計第11章菜單設(shè)計第13章關(guān)系數(shù)據(jù)庫標(biāo)準(zhǔn)語言SQL第14章常用函數(shù)1.1數(shù)據(jù)庫概述1.2數(shù)據(jù)模型1.3關(guān)系數(shù)據(jù)庫

1.5VFP的功能1.4VFP的發(fā)展過程第1章VisualFoxPro6.0概述返回本章返回首頁1.1數(shù)據(jù)庫概述1.1.1數(shù)據(jù)與數(shù)據(jù)處理1.1.2數(shù)據(jù)庫的產(chǎn)生1.1.3數(shù)據(jù)庫系統(tǒng)返回本章返回首頁(1)信息——就是客觀世界在人們頭腦中的反映。按其存在形式的不同,可以分為現(xiàn)實世界、觀念世界和數(shù)據(jù)世界三種。(2)數(shù)據(jù)——就是數(shù)據(jù)化后的信息,它是一種物理符號序列,泛指一切可以被計算機處理的符號及符號組合,是信息的一種量化表示。例如:數(shù)字、字母、文字、圖形、聲音、動畫、影像等(3)數(shù)據(jù)處理——是對數(shù)據(jù)的加工和整理,將數(shù)據(jù)轉(zhuǎn)換為有用信息。例如:出生日期——年齡——退休日期——可結(jié)婚日期1.1.1數(shù)據(jù)與數(shù)據(jù)處理

返回本章返回首頁(1)人工管理階段(2)文件系統(tǒng)階段

(3)數(shù)據(jù)庫系統(tǒng)階段(冗余少,獨立性強)

(起源于20世紀50年代,發(fā)展于70年代)(4)分布式數(shù)據(jù)庫系統(tǒng)階段1.1.2數(shù)據(jù)庫的產(chǎn)生

返回本章返回首頁數(shù)據(jù)庫(DB——DataBase)是存儲在計算機上的結(jié)構(gòu)化相關(guān)數(shù)據(jù)的集合。數(shù)據(jù)庫特點:(1)相互關(guān)聯(lián)的數(shù)據(jù)的集合(2)用綜合的方法組織數(shù)據(jù)(3)低冗余與數(shù)據(jù)共享(4)數(shù)據(jù)具有較高的獨立性(5)保證數(shù)據(jù)的安全、可靠(6)最大限度地保證數(shù)據(jù)的正確性(7)數(shù)據(jù)可以并發(fā)使用并能同時保證數(shù)據(jù)的一致性1.1.3數(shù)據(jù)庫系統(tǒng)

返回本章返回首頁數(shù)據(jù)庫管理系統(tǒng)(DBMS)——就是對數(shù)據(jù)庫中的數(shù)據(jù)資源進行管理,并使之能為多個用戶共享,同時還能保證數(shù)據(jù)的安全性、可靠性、完整性、一致性,還要保證數(shù)據(jù)的高度獨立性。是數(shù)據(jù)庫系統(tǒng)的核心。數(shù)據(jù)庫管理系統(tǒng)具備的功能:(1)數(shù)據(jù)庫定義功能(2)數(shù)據(jù)庫操作功能(3)數(shù)據(jù)庫查詢功能(4)數(shù)據(jù)庫控制功能(5)數(shù)據(jù)庫通信功能返回本章返回首頁數(shù)據(jù)庫應(yīng)用系統(tǒng)(DBAS)——就是利用數(shù)據(jù)庫系統(tǒng)資源開發(fā)的面向某一類實際應(yīng)用的應(yīng)用軟件。使用數(shù)據(jù)庫管理系統(tǒng)開發(fā)的應(yīng)用程序。例:財務(wù)管理系統(tǒng)、人事管理系統(tǒng)、學(xué)生管理系統(tǒng)返回本章返回首頁數(shù)據(jù)庫系統(tǒng)——就是基于數(shù)據(jù)庫的計算機應(yīng)用系統(tǒng)。數(shù)據(jù)庫系統(tǒng)包括的內(nèi)容:(1)以數(shù)據(jù)為主體的數(shù)據(jù)庫(2)管理數(shù)據(jù)庫的系統(tǒng)軟件DBMS(3)支持數(shù)據(jù)庫系統(tǒng)的計算機硬件環(huán)境和操作系統(tǒng)環(huán)境(4)管理和使用數(shù)據(jù)庫系統(tǒng)的人員,即用戶和數(shù)據(jù)庫管理員(5)方便使用和管理系統(tǒng)的各種技術(shù)說明書和使用說明書DBS=DB+DBMS+DBAS

返回本章返回首頁5、數(shù)據(jù)庫系統(tǒng)結(jié)構(gòu)圖DBDBSDBMSDBASUSERDBA返回本章返回首頁6、數(shù)據(jù)庫系統(tǒng)的特點:

1)

實現(xiàn)數(shù)據(jù)共享、減少冗余2)

采用特定數(shù)據(jù)模型3)

具有較高數(shù)據(jù)獨立性4)有統(tǒng)一的數(shù)據(jù)控制功能

返回本章返回首頁1.2數(shù)據(jù)模型1.2.1基本概念1.2.2實體間聯(lián)系1.2.3數(shù)據(jù)模型簡介返回本章返回首頁1.實體——是客觀事物存在并可相互區(qū)分的事物,對應(yīng)于數(shù)據(jù)庫中的記錄。2.實體集——即若干具有相互關(guān)系的實體的集合。對應(yīng)于數(shù)據(jù)庫文件。3.屬性——實體所具有的某一方面的特性,對應(yīng)于數(shù)據(jù)庫中的字段。4.聯(lián)系——實體之間的對應(yīng)關(guān)系,反映了現(xiàn)實事物之間的相互聯(lián)系。

1.2.1基本概念返回本章返回首頁實體的描述:

1)關(guān)系是元組的集合。2)關(guān)系的模式關(guān)系名(屬性1,屬性2,……)

例如:學(xué)生(學(xué)號,姓名,……)3)實體(行——元組——記錄)4)屬性實體的特性(列——字段)

例如:學(xué)號、姓名、性別等。5)實體集同類型實體的集合(表)6)域字段的取值范圍

例如:性別只能是男或女,年齡在0~100之間等。7)關(guān)鍵字唯一識別實體的屬性

例如:學(xué)生的學(xué)號,職工的職工號。8)外部關(guān)鍵字與外部表連接的非主關(guān)鍵字

例如成績表的學(xué)號。

返回本章返回首頁1.2.2實體間的聯(lián)系

包括:1:11:nn:m1:1

實體集A中的每一個實體,在實體集B中都有唯一的一個實體與之聯(lián)系,則稱實體集A與實體集B具有一對一的聯(lián)系。例班級:班長1:n對于實體集A中的每一個實體,在實體集B中都有n(n>0)個實體與之聯(lián)系,反之,對于實體集B中的每一個實體,在實體集A中至多只有一個實體與之聯(lián)系,則稱實體集A與實體集B具有一對多的聯(lián)系。例學(xué)生:成績返回本章返回首頁3.

n:m對于實體集A中的每一個實體,在實體集B中都有n(n>0)個實體與之聯(lián)系,反之,對于實體集B中的每一個實體,在實體集A中也有m(m>0)個實體與之聯(lián)系,則稱實體集A與實體集B具有多對多的聯(lián)系。

例學(xué)生:教師返回本章返回首頁1、數(shù)據(jù)模型——是對現(xiàn)實世界進行抽象的工具,反映數(shù)據(jù)及數(shù)據(jù)之間的聯(lián)系2、數(shù)據(jù)庫系統(tǒng)的三級模式結(jié)構(gòu):

外模式模式內(nèi)模式(子模式)(概念模式、邏輯模式)(存儲模式)現(xiàn)實世界信息世界機器世界實體集關(guān)系二維表實體元組記錄特性屬性字段1.2.3數(shù)據(jù)模型簡介返回本章返回首頁3、數(shù)據(jù)模型分類

1)數(shù)據(jù)模型分為:

概念模型、邏輯數(shù)據(jù)模型、物理數(shù)據(jù)模型2)概念模型通常用ER圖表示,

ER圖用簡單圖形描述現(xiàn)實世界中的數(shù)據(jù)。3)ER圖實例學(xué)號姓名性別……學(xué)號課程號成績1:nn:1學(xué)生成績課程課程號課程名開課單位開課教師號返回本章返回首頁層次模型是用樹型結(jié)構(gòu)來表示數(shù)據(jù)之間的聯(lián)系。R1R21R22R31R32R33層次模型示例特點:(1)有且僅有一個結(jié)點無父結(jié)點,這個結(jié)點即為樹的根;(2)其它結(jié)點有且僅有一個結(jié)點。4、數(shù)據(jù)模型表現(xiàn)類型

層次模型(樹)、網(wǎng)狀模型(網(wǎng))、關(guān)系模型(二維表)

。返回本章返回首頁網(wǎng)狀模型是用網(wǎng)絡(luò)結(jié)構(gòu)來表示數(shù)據(jù)之間的聯(lián)系,可以表示多對多的聯(lián)系。R1R2R5R4R3R6R7網(wǎng)絡(luò)模型示例特點:(1)可以有一個以上的結(jié)點無父結(jié)點;(2)至少有一個子結(jié)點有一個以上的父結(jié)點;(3)在兩個結(jié)點之間有兩個或兩個以上的聯(lián)系。關(guān)系模型是把數(shù)據(jù)結(jié)構(gòu)看成一個二維表,每個二維表就是一個關(guān)系,關(guān)系模型是由若干個二維表格組成的集合。特點:(1)表格中的每一列都是不可再分的基本屬性;(2)各列被指定一個相異的名字;(3)各行不允許重復(fù);(4)行、列的次序無關(guān)。返回本章返回首頁關(guān)系模型示例如下表:返回本章返回首頁1.3.1基本概念1.3關(guān)系數(shù)據(jù)庫1.3.2數(shù)據(jù)完整性1.3.3關(guān)系運算1.3.4關(guān)系運算優(yōu)化返回本章返回首頁

1、關(guān)系模型——用二維表表示實體及實體之間的聯(lián)系的數(shù)據(jù)模型。2、關(guān)系(二維表)的特點(判斷)–屬性不可分割–行不重復(fù)–列不可重復(fù)–行列順序可以變3、關(guān)系模型實例:

學(xué)生表、成績表、班級表及其之間的聯(lián)系。1.3.1基本概念返回本章返回首頁4、關(guān)系模型的約束:1)實體完整性:行不重復(fù),通過設(shè)置主鍵保證2)參照完整性:表之間數(shù)據(jù)的一致性3)用戶自定義的完整性(域完整性):數(shù)據(jù)的有效性。5、關(guān)系模型按應(yīng)用層次分為:

概念數(shù)據(jù)模型(面向現(xiàn)實世界)邏輯數(shù)據(jù)模型(面向數(shù)據(jù)庫)物理數(shù)據(jù)模型(面向計算機)

返回本章返回首頁1.關(guān)系與表關(guān)系的邏輯結(jié)構(gòu)就是一張二維表,一個關(guān)系就是一個“表”。表文件的擴展名.DBF

2.屬性與字段一個關(guān)系(實體)有許多屬性,對應(yīng)二維表中的列(垂直方向)。屬性有名字,稱為屬性名在VisualFoxpro中,屬性為表中的字段,屬性名即為字段名返回本章返回首頁3.關(guān)系模式與表結(jié)構(gòu)對關(guān)系的描述稱為關(guān)系模型,一個關(guān)系模型對應(yīng)一個關(guān)系的結(jié)構(gòu)。格式:關(guān)系名(屬性名1,屬性名2……屬性名n)表名(字段名1,字段名2……字段名n)4.元組與記錄表(關(guān)系)中,行(水平方向)稱為“元組”VisualFoxpro中,元組表示為表中的“記錄”5.域域是屬性取值的范圍返回本章返回首頁6.碼與關(guān)鍵字

用來區(qū)分不同元組(實體)的屬性或?qū)傩越M合,稱為碼。在VisualFoxpro中對應(yīng)的概念是關(guān)鍵字,關(guān)鍵字是字段或字段的組合,用于在表中唯一標(biāo)識記錄。碼的任意真子集都不能成為碼,這樣的“最小碼”稱為“侯選碼”。用來區(qū)分不同元組的侯選碼稱為主碼。在VisualFoxpro中,對應(yīng)的概念是:侯選關(guān)鍵字和主關(guān)鍵字

若表中的某字段不是本表中的關(guān)鍵字,而是另一個表中的關(guān)鍵字,稱該字段為外部關(guān)鍵字返回本章返回首頁7.關(guān)系模型與數(shù)據(jù)庫

一個關(guān)系模式是命名的屬性集合,一個關(guān)系模型是若干個有聯(lián)系的關(guān)系模式的集合。在VisualFoxPro中,把相互聯(lián)系的表放到一個數(shù)據(jù)庫中統(tǒng)一管理。數(shù)據(jù)庫文件的擴展名為.DBC

返回本章返回首頁

數(shù)據(jù)完整性——是指數(shù)據(jù)庫中數(shù)據(jù)的正確性和一致性(相容性),數(shù)據(jù)完整性用來防止數(shù)據(jù)庫中存在不合法的數(shù)據(jù),防止錯誤的數(shù)據(jù)進入數(shù)據(jù)庫。

三類完整性:實體完整性、域完整性和參照完整性。包括兩級:字段的數(shù)據(jù)完整性和記錄的數(shù)據(jù)完整性。

字段的數(shù)據(jù)完整性是指輸入到字段中的數(shù)據(jù)的類型或值必須符合某個特定的要求。字段的有效性規(guī)則即用以實施字段的數(shù)據(jù)完整性。

記錄的數(shù)據(jù)完整性是指為記錄賦于數(shù)據(jù)完整性規(guī)則。記錄的數(shù)據(jù)完整性通過記錄的有效性規(guī)則加以實施。

1.3.2數(shù)據(jù)完整性返回本章返回首頁1.實體完整性

數(shù)據(jù)庫表的每一行都有一個唯一的標(biāo)識。實體完整性規(guī)則指表中的每一行在組成碼(關(guān)鍵字)的列上不能有空值或重復(fù)值)2.域完整性

數(shù)據(jù)庫數(shù)取值的正確性。(數(shù)據(jù)類型、精度、取值范圍、是否允許空值)注:取值范圍分為兩種—靜態(tài)和動態(tài)靜態(tài)取值范圍固定;動態(tài)取值范圍由其他列決定。

返回本章返回首頁

3.參照完整性相關(guān)表之間的數(shù)據(jù)一致性。參照完整性是指數(shù)據(jù)庫中表與表之間存在碼(關(guān)鍵字)與外碼(外部關(guān)鍵字)的約束關(guān)系,可利用他來維護數(shù)據(jù)的一致性或相容性。用來控制數(shù)據(jù)的一致性,尤其是控制數(shù)據(jù)庫相關(guān)表之間的主關(guān)鍵字和外部關(guān)鍵字之間數(shù)據(jù)一致性的規(guī)則。返回本章返回首頁二維表多種多樣,不是所有的二維表都可當(dāng)作“關(guān)系”。在關(guān)系模型中對“關(guān)系”有規(guī)范化的要求。(1)關(guān)系中的每個屬性(列)必須是不可分割的數(shù)據(jù)單元(2)同一關(guān)系中不應(yīng)有完全相同的屬性名,即,表中不能有相同的列(字段)(3)同一關(guān)系中不應(yīng)有完全相同的元組,即,表中不能有相同的行(記錄)(4)元組(記錄)和屬性名(字段)與次序無關(guān)

1.3.3對關(guān)系數(shù)據(jù)庫的要求返回本章返回首頁1.選擇運算從關(guān)系中找出滿足指定條件的元組,稱為選擇,又稱為篩選運算。

從關(guān)系模型中指定若干個屬性來組成新的關(guān)系稱為投影。

1.3.4關(guān)系運算從兩個關(guān)系(表)中選取滿足條件的元主組成新關(guān)系(表),稱為連接(鏈接)。連接是關(guān)系(表)的橫向結(jié)合,連接運算將兩個關(guān)系模式(表)的屬性名(字段名)拼接成一個更寬的關(guān)系模式(表)。2.投影運算3.連接運算返回本章返回首頁1.自然連接

去掉重復(fù)屬性的等值連接。進行大量的比較操作,耗時。

1、先進行選擇運算,減少關(guān)系(表)中的元組個數(shù)

2、再進行投影運算,減少關(guān)系(表)中的字段個數(shù)3、最后進行連接運算

1.3.5關(guān)系運算的憂化2.優(yōu)化連接

返回本章返回首頁1、傳統(tǒng)運算(要求R和S結(jié)構(gòu)相同)1)并:R∪S2)交:R∩S3)差:R-S2、專門運算1)選擇:бf(R)例б成績>=60

(R)2)投影:Пf(R)例П學(xué)號,姓名(R)3)連接:RXS

等值連接:按照字段值對應(yīng)相等為條件的連接(去掉無意義行)

自然連接:在等值連接基礎(chǔ)上去掉重復(fù)屬性的運算。(去掉無意義的行、列)返回本章返回首頁1、數(shù)據(jù)庫的設(shè)計分為概念設(shè)計與邏輯設(shè)計2、概念設(shè)計又稱為模式設(shè)計,其視圖設(shè)計順序可以有自頂向下,由底向上、由內(nèi)而外。3、數(shù)據(jù)庫設(shè)計的方法和步驟:需求分析:了解信息內(nèi)容和處理要求概念設(shè)計:反映顯示世界各事物之間的聯(lián)系,系統(tǒng)結(jié)構(gòu)要易修改、易擴充。邏輯設(shè)計:轉(zhuǎn)換為系統(tǒng)能處理的數(shù)據(jù)模型,把實體類型和聯(lián)系類型分別轉(zhuǎn)換為關(guān)系模式。物理設(shè)計:設(shè)計存儲記錄模式,存儲記錄安排和存取方法實施階段:運行和維護:數(shù)據(jù)庫的設(shè)計

返回本章返回首頁1989年,美國FOX公司正式推出FoxPro1.0,引入了圖形用戶界面設(shè)計和字符窗口技術(shù)1991年,推出了FoxPro2.01992年,推出了更為成功的FoxPro2.51996年,美國Microsoft公司推出了Visual

FoxPro3.0,使用了可視化和面向?qū)ο蠹夹g(shù)1997年,推出了Visual

FoxPro5.01998年,出現(xiàn)了Visual

FoxPro6.01.4VFP的發(fā)展概況返回本章返回首頁1.5VFP的功能1.5.1VFP的基本功能1.5.2VFP的特點返回本章返回首頁1)利用表存儲相應(yīng)信息2)可定義各個表間的關(guān)系,從而將各個表中相關(guān)數(shù)據(jù)有機地聯(lián)系在一起3)可創(chuàng)建查詢來搜索滿足條件的記錄,也可對記錄排序和分組,并根據(jù)結(jié)果創(chuàng)建報表、表及圖表4)可利用視圖從關(guān)聯(lián)的表中搜索提取數(shù)據(jù)、更新數(shù)據(jù);也可利用視圖收集或修改遠程數(shù)據(jù)5)可創(chuàng)建表單直接查看和管理表中的數(shù)據(jù)6)可創(chuàng)建報表來分析數(shù)據(jù)或以指定方式打印。

1.5.1VFP的基本功能返回本章返回首頁1.易于使用Xbase命令語言可在VFP系統(tǒng)命令窗口使用在中文Windows環(huán)境中2.可視化開發(fā)除編寫程序?qū)崿F(xiàn)相關(guān)功能外,VFP的可視化工具可以用通過可視化工具簡單方便地實現(xiàn)用十分復(fù)雜的編程才能實現(xiàn)的操作3.事件驅(qū)動較強的交互性1.5.2VFP的特點返回本章返回首頁4.面向?qū)ο缶幊堂嫦驅(qū)ο蟪绦蛟O(shè)計:是一種系統(tǒng)化的程序設(shè)計方法,具有抽象化、模塊化的分成結(jié)構(gòu)。它通過對類、子類和對象等的設(shè)計來體現(xiàn)的。

借助VFP類模型,用戶可以控制應(yīng)用程序中的對象,通過“表單設(shè)計器”控制表單中對象的行為和外觀,通過“類設(shè)計器”可視的創(chuàng)建類或用DefineClass命令。5.類的使用應(yīng)用向?qū)Ш蜕善飨驅(qū)Э梢越㈨椖?,生成器可以增加表單和報?.組件庫可將各種對象組合和集成返回本章返回首頁7.VFP基礎(chǔ)類100種基礎(chǔ)類提供了大量的功能8.活動文檔活動文檔是基于Windows的非HTML格式應(yīng)用程序。9.對動態(tài)圖形文件的支持支持GIF和JPEG格式圖形文件10.程序語言的增強增加了API函數(shù)庫返回本章返回首頁1.實體間的聯(lián)系:1:11:nn:m

2.數(shù)據(jù)模型:層次模型、網(wǎng)狀模型、關(guān)系模型3.關(guān)系——表,擴展名.DBF4.屬性——字段,列5.元組——記錄,行6.關(guān)系模型——數(shù)據(jù)庫,擴展名為.DBC7.VFP有三類完整性:實體完整性、域完整性和參照完整性。8.關(guān)鍵字——不能有空值或重復(fù)值。9.關(guān)系運算——選擇、投影、連接。10.自然連接

——去掉重復(fù)屬性的等值連接總結(jié):返回本章返回首頁end返回本章返回首頁第2章VFP6.0基礎(chǔ)返回首頁2.1VFP6.0的性能指標(biāo)數(shù)據(jù)表的最大記錄數(shù):10億個。表文件的最大長度:2G字節(jié)。記錄的最大長度:64K字節(jié)。表中字段數(shù):255個。在內(nèi)存中打開的表的最大個數(shù):255個。字符型字段的最大長度:255字節(jié)。返回本章返回首頁性能指標(biāo)數(shù)值型字段表示十進制數(shù)的最大位數(shù):20位。浮點型字段表示十進制數(shù)的最大位數(shù):20位。數(shù)值計算時最多可以精確的位數(shù):16位。整數(shù)的最大值:+2147483647。整數(shù)的最小值:-2147483647。定義的內(nèi)存變量的最多個數(shù):65000。數(shù)組下標(biāo)的最大值:65000。DO調(diào)用命令最多可以嵌套的層數(shù):128層。READ命令最多可以嵌套的層數(shù):5層。返回本章返回首頁性能指標(biāo)結(jié)構(gòu)化程序設(shè)計命令的最大嵌套層數(shù):384層。在自定義的過程或者函數(shù)中可以傳遞參數(shù)的最大值:27。報表頁面可以定義的最大長度:20英寸。報表分組的最大層數(shù):128層??梢酝M打開瀏覽窗口的最大個數(shù):255個。每一行命令的最大長度:8192字節(jié)。每一個宏替換的最大長度:8192字節(jié)。返回本章返回首頁2.2VFP文件組成VFP的常用文件類型格式:數(shù)據(jù)庫數(shù)據(jù)表項目程序索引表單報表標(biāo)簽菜單查詢視圖返回本章返回首頁常用的文件類型

擴展名

類型

.DBC數(shù)據(jù)庫文件.DCT數(shù)據(jù)庫備注文件.DCX數(shù)據(jù)庫索引文件.BAK備份文件.DBF數(shù)據(jù)表文件.FPT數(shù)據(jù)表備注文件.PJX項目文件.PJT項目備注文件返回本章返回首頁擴展名類型.PRG源程序文件.FXP源程序編譯后的文件.CDX數(shù)據(jù)表復(fù)合索引文件.IDX單一索引文件.SCX表單文件.SCT表單備注文件.SPR為源程序.SPX為目標(biāo)程序常用的文件類型返回本章返回首頁擴展名類型.FRX報表文件.FRT報表備注文件.LBX標(biāo)簽文件.LBT標(biāo)簽備注文件.MNX菜單文件.MNT菜單備注文件.MPR菜單源程序文件.MPX菜單編譯文件常用的文件類型返回本章返回首頁擴展名

類型.QPR生成的查詢程序文件.QPX查詢程序文件編譯后的文件.FMT格式文件.MEM內(nèi)存變量文件.VUE視圖文件.APP應(yīng)用程序文件.TXT文本文件.EXE可執(zhí)行應(yīng)用程序文件常用的文件類型返回本章返回首頁2.3項目管理器項目:是文件、數(shù)據(jù)、文檔的集合VFP的對象被存于具有后綴為.PJX的文件當(dāng)中。項目管理器:組織和管理文件如建立表、數(shù)據(jù)庫、查詢、表單、報表以及應(yīng)用程序等。

通過把已有的數(shù)據(jù)庫文件添加到一個新的項目中,用戶可以為自己創(chuàng)建一個項目。返回本章返回首頁把應(yīng)用程序的多個文件組織成一個文件注:.PRG、報表格式文件和標(biāo)簽格式文件都能組合在一個文件中如果表和索引不再修改、添加,也可以組合到里面有利于保密源代碼名為.APP或.EXE.APP文件可以用Do命令來執(zhí)行VFP專業(yè)版編譯成.EXE文件。項目管理器返回本章返回首頁項目管理器的功能(1)查找文件查找數(shù)據(jù)庫文件、表單、報表的詳細內(nèi)容(2)創(chuàng)建和修改文件(3)添加和移去文件(4)共享文件通過與其他項目共享文件,可以用在其他項目開發(fā)上的工作成果。操作時只需把別的項目管理器中的文件對象拖到本項目管理器中即可。返回本章返回首頁項目管理器的組成(1)文件對象卡數(shù)據(jù)文檔類庫

(2)分層結(jié)構(gòu)視圖點擊“+”,列出下級文件類型(3)命令按鈕新建添加代碼其他修改運行返回本章返回首頁項目管理器的操作VFP中項目管理器與其他文件之間的包含關(guān)系1、建立項目2、打開項目3、項目管理器界面1)標(biāo)簽(選項卡)結(jié)構(gòu)“全部”包含了“數(shù)據(jù)”,“文檔”,“類”,“代碼”,“其他”“數(shù)據(jù)”標(biāo)簽管理

數(shù)據(jù)庫、自由表、查詢“文檔”標(biāo)簽管理

報表、表單、標(biāo)簽2)文件管理

功能:新建、添加、修改、運行、移去、連編、瀏覽

操作要點:先選文件(文件類型)名,再點擊按鈕。3)項目管理器的定制P25返回本章返回首頁其他操作1.瀏覽表的數(shù)據(jù)2.項目信息的顯示與編輯3.給文件添加說明4.項目間的文件共享5.項目管理器的定制移動位置,改變大小與外觀(1)外觀定制(2)頂層顯示返回本章返回首頁幾個概念(1)數(shù)據(jù)庫:由數(shù)據(jù)表組成,及其相互關(guān)系。數(shù)據(jù)庫文件的后綴為.DBC。(2)自由表:不是數(shù)據(jù)庫的一部分,存于后綴為.DBF的文件里可以將自由表加入數(shù)據(jù)庫中。(3)查詢:實現(xiàn)對存于表中的特定數(shù)據(jù)的查找。按照一定的查詢規(guī)則從“表”中得到數(shù)據(jù)采用SQL查詢,后綴為.QPR的文本文件中返回本章返回首頁(4)視圖:執(zhí)行特定的查詢,從本地或遠程數(shù)據(jù)源中獲取數(shù)據(jù),并允許用戶對所返回的數(shù)據(jù)進行修改。視圖依數(shù)據(jù)庫而存在,并不是獨立的文件。(5)表單顯示和修改數(shù)據(jù)“表”中的內(nèi)容。(6)報表實現(xiàn)對VFP數(shù)據(jù)表查詢結(jié)果的格式化打印輸出。幾個概念返回本章返回首頁2.4設(shè)計器與生成器

設(shè)計器功能

表設(shè)計器創(chuàng)建表,設(shè)置索引數(shù)據(jù)庫設(shè)計器創(chuàng)建數(shù)據(jù)庫,建立聯(lián)系表單設(shè)計器創(chuàng)建表單,用戶界面報表設(shè)計器創(chuàng)建顯示和打印報表查詢設(shè)計器在本地表上查詢視圖設(shè)計器創(chuàng)建可更新的查詢連接設(shè)計器為遠程視圖創(chuàng)建連接返回本章返回首頁生成器功能表格生成器生成表格表單生成器生成表單參照完整性生成器數(shù)據(jù)庫表間創(chuàng)建參照完整性命令組生成器生成命令組選項組生成器生成選項組自動格式生成器格式化控件組組合框生成器生成組合框編輯框生成器生成編輯框列表框生成器生成列表框文本框生成器生成文本框返回本章返回首頁2.5工作目錄的建立默認目錄為其主目錄應(yīng)用中產(chǎn)生的所有文件將存在此目錄下。不便于管理,要建自己的工作目錄。步驟如下:(1)工具菜單--的選項(2)“文件位置”中的“默認目錄”,按下“修改”按鈕(3)定位(L)的信息框中,輸入位置,確定(4)設(shè)為默認目錄返回本章返回首頁命令方式:Setdefaultto工作目錄如:Setdefaulttod:\vfp設(shè)d:\vfp為其工作目錄返回本章返回首頁end返回本章返回首頁第3章數(shù)據(jù)庫的建立和操作返回首頁內(nèi)容介紹數(shù)據(jù)庫、數(shù)據(jù)表的基本概念數(shù)據(jù)庫和數(shù)據(jù)表的建立編輯表中的數(shù)據(jù)、記錄修改與刪除表的索引等有關(guān)操作。返回本章返回首頁概念數(shù)據(jù)庫(.dbc)就是一個關(guān)于某一特定主題或目標(biāo)的信息集合。表(.dbf)基本單位,是數(shù)據(jù)庫的基礎(chǔ)可以說表是關(guān)系數(shù)據(jù)庫系統(tǒng)中的基本結(jié)構(gòu)。要存數(shù)據(jù),為所需記錄的信息創(chuàng)建一個表。由行和列組成的,一行為一個記錄,一列為一個字段。返回本章返回首頁一行為一個記錄(Record)一列為一個字段(Field)通常所說的表格返回本章返回首頁二維表簡稱表(Table)特征:(1)若干記錄(2)若干個字段,每記錄具有相同結(jié)構(gòu)的字段(3)不同類型的字段來存儲不同類型的數(shù)據(jù)(4)字段的順序與存儲的數(shù)據(jù)無關(guān)(5)記錄在的順序與存儲的數(shù)據(jù)無關(guān)。返回本章返回首頁表的兩要素:表結(jié)構(gòu)(列)相應(yīng)記錄(行)返回本章返回首頁表結(jié)構(gòu)返回本章返回首頁表的字段表是由記錄組成記錄又由字段組成字段的屬性(表結(jié)構(gòu))字段名字段類型字段寬度小數(shù)位數(shù)返回本章返回首頁1.字段名約定:只能使用字母、漢字、下劃線和數(shù)字見名知義><=+/\|[]:?空格字段名必須以字母或漢字開頭,并且長度不能超過128個字符如:下列那些合法不以數(shù)字開頭 ×3mn

姓名1

mn3

不能含有空格; ×

mn ×編號不能含有各種運算符; ×

S-N S_N

×AI*X返回本章返回首頁2.字段類型不同類型的字段來存儲不同類型的數(shù)據(jù)字符型貨幣型數(shù)值型浮點型日期型日期時間型雙精度整型邏輯型備注型通用型返回本章返回首頁(1)字符型(Character)通常用于存儲鍵盤輸入的文本數(shù)據(jù)。漢字、字母、數(shù)字、空格、符號及標(biāo)點符號字符型數(shù)據(jù)必用雙引號或單引號或[]來定界字符型字段的寬度最大為254*****如:“how”‘1234’[中國人]返回本章返回首頁(2)貨幣型(Currency)保存貨幣數(shù)值時,用貨幣類型而不是數(shù)值類型字段最多保留4位小數(shù)位數(shù),多則四舍五入至4位內(nèi)存變量用$數(shù)值來賦初值如:x=$999?Type(‘x’)返回本章返回首頁(3)數(shù)值型(Numeric)數(shù)值型字段用來存儲數(shù)值數(shù)據(jù)。它可以包含數(shù)字0~9,也可以帶正、負號或小數(shù)點如:1234100.89(4)浮點型(Float)浮點型字段在功能上等價于數(shù)值型字段。返回本章返回首頁(5)日期型(Date)用于存儲包含有年、月、日的日期數(shù)據(jù)長度為8字節(jié)(6)日期時間型(DateTime)用于存儲包含有年、月、日、時、分、秒的日期和時間數(shù)據(jù)。(7)雙精度型(Double)雙精度型用于存儲精度要求較高、位數(shù)固定的數(shù)值,或真正的浮點數(shù)值。返回本章返回首頁(8)備注型(Memo)長度固定為4字節(jié)用于存儲不定長度的文本數(shù)據(jù)當(dāng)文本數(shù)據(jù)長度可能大于254,無法使用字符型存儲時,使用備注類型字段所有備注型字段的實際內(nèi)容存儲在和表名相同,擴展名為.FPT的備注文件中返回本章返回首頁(9)通用型(General)通用型用于存儲OLE對象數(shù)據(jù)字段寬度固定為4個字節(jié),用于存儲一個4個字節(jié)的指針,指向該字段的實際內(nèi)容其內(nèi)容存儲在擴展名為.FPT的文件中。OLE對象包括電子表格、字處理文檔、圖像或其他多媒體對象等OLE對象可以用鏈接方式存儲在表中。存儲數(shù)據(jù)的大小,取決于相的OLE服務(wù)程序,和磁盤空間大小的限制。返回本章返回首頁(10)整型(Integer)整型用于存儲整數(shù)數(shù)據(jù)字段寬度固定為4個字節(jié)。取值范圍從-2147483647到2147483646。(11)邏輯型(Logical).T.或.Y.為邏輯真.F.或.N.為邏輯假長度固定為1字節(jié)返回本章返回首頁(12)字符型(二進)(Character(Binary))字符型(二進制)用于存儲不需要系統(tǒng)代碼頁維護的字符數(shù)據(jù)其他字段特性同字符型字段密碼(各國)(13)備注型(二進制)(Memo(Binary))備注型(二進制)用于存儲不需要系統(tǒng)代碼頁維護的備注字段數(shù)據(jù)。其他字段特性同備注型字段。返回本章返回首頁數(shù)據(jù)類型數(shù)據(jù)類型(Type)13種

C-字符型

N-數(shù)值形

F-浮點型

D-日期型

I-整型

L-邏輯型

M-備注型G-通用型

Y貨幣型返回本章返回首頁3.字段寬度規(guī)定寬度字符型字段254貨幣型字段8 數(shù)值型字段20日期型字段8備注型4邏輯型1日期時間型8通用型字段4用于存儲一個4個字節(jié)的指針,指向該字段的實際內(nèi)容。整型字段寬度固定為4個字節(jié)。返回本章返回首頁寬度(Width)

(以下類型寬度固定)貨幣型、日期型、日期時間型、雙精度型:8字節(jié)整型、備注型、備注型(二進制)、通用型:4字節(jié)邏輯型:1字節(jié)返回本章返回首頁4.小數(shù)位數(shù)有小數(shù)的字段:數(shù)值型浮點型雙精度型字段寬度=整數(shù)部分寬度+小數(shù)點1位+小數(shù)位寬度如小數(shù)位數(shù)不為0,則小數(shù)位數(shù)至少要比整個字段寬度小2返回本章返回首頁小數(shù)位數(shù)一個N形變量寬為6,小數(shù)位數(shù)為3,則這個變量最大可表示的數(shù)為多少?__.___99.999返回本章返回首頁5.空值(NULL)空值是用來標(biāo)識一個字段“沒有值”的標(biāo)志空值表示沒有任何值或沒有確定值空值不等同于數(shù)值0、空字符串或邏輯“假”函數(shù)EMPTY()測試空值

如果允許字段接受NULL值,則應(yīng)選中該欄所在框表的關(guān)鍵字段不允許為NULL值返回本章返回首頁字段類型中文名稱寬度(字節(jié))說明

Character字符型254字母、漢字、數(shù)字、文本、符號Currency貨幣型8貨幣單位Numeric數(shù)值型20整數(shù)或小數(shù)Float浮點型20同數(shù)值型Date日期型8年、月、日DateTime

日期時間型8年、月、日、時、分、秒Double雙精度型8雙精度數(shù)值Integer整型4整數(shù)Logical邏輯型1真或假Memo備注型4不定長的字母、文本、數(shù)字General通用型4OLE圖像、多媒體對象

返回本章返回首頁一、建立數(shù)據(jù)庫1、準(zhǔn)備工作:默認目錄,建立項目2、建立數(shù)據(jù)庫.dbc

方法1:“文件”/“新建”方法2:在項目管理器中,選定“數(shù)據(jù)”標(biāo)簽中的“數(shù)

據(jù)庫”后點擊“新建文件”按鈕。3、打開數(shù)據(jù)庫1)

項目管理器中——選中文件名,使數(shù)據(jù)庫處于打開狀態(tài)——點擊“修改”按鈕,使數(shù)據(jù)庫設(shè)計器打開2)

“文件”/“打開”

注意選擇文件類型和路徑返回本章返回首頁3、選取當(dāng)前數(shù)據(jù)庫4、刪除數(shù)據(jù)庫二、建立表.dbf

方法1:“文件”/“新建”(當(dāng)前有打開的數(shù)據(jù)庫則為數(shù)據(jù)庫表)方法2:在項目管理器中——選定“數(shù)據(jù)庫”下級的“表”后點擊“新建”按鈕——或選定“自由表”后點擊“新建”按鈕

方法3:在數(shù)據(jù)庫設(shè)計器中返回本章返回首頁三、設(shè)計表結(jié)構(gòu)

字段名:與變量名一致,但不以“_”開頭(長度128或10)

類型:增加備注型和通用型

寬度:

小數(shù)位數(shù):數(shù)值型時最大為寬度-1索引:

null

“插入”、“刪除”字段四、修改表

方法1:打開表(注意選文件類型),使表處于打開狀態(tài)——“顯示”/“表設(shè)計器”

方法2:在項目管理器中選擇文件名字后點擊“修改”按鈕方法3:在數(shù)據(jù)庫設(shè)計器中右擊表/“修改”返回本章返回首頁五、瀏覽表

前提:表已經(jīng)處于打開狀態(tài)

操作:“顯示”/“瀏覽”

或在項目管理器中選中表文件名后點擊“瀏覽”按鈕

瀏覽窗口調(diào)整:

1)“瀏覽”形式“顯示”/“瀏覽”2)“編輯”形式“顯示”/“編輯”3)字段(列)順序拖動或“表”/“移動字段”

4)網(wǎng)格線“顯示”/“網(wǎng)格線”

六、添加記錄

“顯示”/“追加方式”:添加任意條記錄“表”/“追加記錄”:添加一組記錄(從另一個表中)“表”/“追加新記錄”:添加一條記錄返回本章返回首頁七、刪除記錄1、邏輯刪除(做刪除標(biāo)記)

前提:瀏覽窗口打開

操作:方法1“表”/“刪除記錄”

方法2:點擊刪除標(biāo)記

提示:表的字段及各字段寬度給定,求一條記錄的寬度?2、物理刪除(徹底刪除)

前提:記錄已經(jīng)邏輯刪除

操作:方法1“表”/“徹底刪除”

方法2:pack命令

3、恢復(fù)刪除

前提:記錄已經(jīng)邏輯刪除

操作:方法1“表”/“恢復(fù)記錄”

方法2:再次點擊刪除標(biāo)記返回本章返回首頁關(guān)于范圍

1、ALL:指表的所有記錄2、NEXTn:指從當(dāng)前記錄開始,包括當(dāng)前記錄共計n條記錄例:go3此時next3指3、4、5記錄。3、Rest:指從當(dāng)前記錄包括當(dāng)前記錄一直到表尾4、Recordn:第n條記錄。

返回本章返回首頁八、索引

改變表的記錄原始輸入順序(物理順序)按某一字段或字段組合值的順序重新排列,此字段或字段組合稱為索引。1、索引文件類型(用于存放索引相關(guān)字段的值)

單索引文件:.idx

結(jié)構(gòu)復(fù)合索引文件:.cdx(VFP使用)2、VFP索引類型

主索引候選索引唯一索引普通索引字段值重復(fù)性不可以不可以可以顯示可以1個表中允許個數(shù)1個N個N個N個重復(fù)值顯示無重復(fù)無重復(fù)不顯示顯示例學(xué)號學(xué)號,班級號姓名姓名返回本章返回首頁3、建立索引P50

注意:索引表達式必須由字段或字段組合組成,

要符合表達式規(guī)則(姓名+年齡不可以)4、使用索引(設(shè)置當(dāng)前索引,按索引順序瀏覽表)

操作步驟:1)瀏覽表2)”表”/“屬性”打開屬性對話框3)選擇“索引順序”設(shè)置當(dāng)前索引名4)重新瀏覽表,或刷新瀏覽窗口返回本章返回首頁邏輯刪除給要刪除的記錄加標(biāo)記(*號)標(biāo)記要刪除的記錄(邏輯刪除)瀏覽窗口:單擊小方框“表”“刪除記錄”命令DELETEFROM表名[WHERE過濾條件表達式]例:刪除教材表中庫存在數(shù)量為0的記錄deletefrombookswhere庫存數(shù)量=0返回本章返回首頁物理刪除徹底刪除(物理刪除)“表”“徹底刪除”命令PACK(獨占)刪除有刪除標(biāo)記的記錄命令ZAP=deleteall+pack(獨占)返回本章返回首頁恢復(fù)記錄的刪除恢復(fù)帶刪除標(biāo)記的記錄(與setdele無關(guān))法1:小方框黑-->白法2:“表”“恢復(fù)記錄”法3:RECALL[范圍][FOR

條件表達式1][WHERE

條件表達式2]例:recall

recallall

recallallfor

庫存數(shù)量=0(這里的all

可?。┱f明:缺省范圍(當(dāng)前記錄,不是全部記錄)返回本章返回首頁記錄的刪除對帶刪除標(biāo)記記錄的訪問(1)測試記錄的刪除標(biāo)記deleted()有刪除標(biāo)記返回為真,否為假(2)控制對帶刪除標(biāo)記記錄的訪問setdeletedon/off說明:有些默認為ON,有些默認為OFF實驗:先刪除若干記錄(邏輯刪除)LIST

默認為OFFSETDELETEDONLIST返回本章返回首頁setdeletedon/off為setdeletedon時屏蔽掉有標(biāo)記的記錄,不能訪問影響Count命令不影響Reccount()例:8個記錄,一個有刪除標(biāo)記SetdeletedonCounttox?X

7?Reccount()8返回本章返回首頁篩選記錄界面

“表”—“屬性”—“數(shù)據(jù)過濾器”命令SETFILTERTO<條件表達式>SETFILTERTOFOR子句:臨時性記錄篩選例:USEZGDASETFILTTO

出版社=‘石油大學(xué)’注意:是隱藏而非刪除與FOR子句不同對SELECT-SQL、DELETE-SQL、UPDATE-SQL無效返回本章返回首頁篩選字段表/屬性/字段篩選SETFIELDSTO<字段1>[,<字段2>]SETfieldsto姓名,性別返回本章返回首頁概念物理順序:一般是按照其輸入的順序進行記錄的存儲順序順序找,速度慢不便于查找需要的信息邏輯順序:記錄的處理順序(快速)可以使用索引來改變記錄的順序即邏輯順序根據(jù)表中字段的值,建立具有邏輯順序的索引文件,然后根據(jù)索引文件重新排列數(shù)據(jù)庫表中顯示的記錄。返回本章返回首頁索引文件1、索引:如同目錄數(shù)據(jù)庫的輔助文件,不能單獨使用可以按一個字段索引,也可以多個一個表可以創(chuàng)建多個索引索引存儲在索引文件中索引文件中存儲著記錄號和索引字段的索引值返回本章返回首頁理解索引索引可以理解為根據(jù)某一字段的值進行邏輯排序的一組指針按照索引顯示記錄,VFP按照指針排列的順序分別讀取每一條記錄,而這些記錄在數(shù)據(jù)庫中的實際存儲位置并未改變。返回本章返回首頁按年齡索引后的表文件姓名年齡張黎黎26李艷30劉強38

DA.DBF姓名年齡劉強38李艷30張黎黎26DA.DBF物理順序邏輯順序記錄號年齡大小312213

NL.CDX返回本章返回首頁關(guān)鍵字與索引標(biāo)識(1)索引關(guān)鍵字(IndexKey)建立索引的依據(jù)(索引表達式)字段/字段表達式VFP使用索引關(guān)鍵字來顯示和訪問表中的記錄(2)索引標(biāo)識(Tag)索引關(guān)鍵字的名稱(索引名)<=10字節(jié)返回本章返回首頁索引的類型4種類型索引(根據(jù)關(guān)鍵字段)主索引候選索引普通索引惟一索引返回本章返回首頁表的索引2、索引的類型主索引(Primaryindexs)在數(shù)據(jù)庫表中,每張表只能創(chuàng)建一個主索引組成主索引關(guān)鍵字的字段或表達式,在表的所有記錄中不能有重復(fù)的值(學(xué)號可以,姓名不可以)自由表不能建立主索引主索引存儲于數(shù)據(jù)庫表的結(jié)構(gòu)復(fù)合索引中侯選索引(Candidateindexs)在指定的關(guān)鍵字段或表達式中不允許有重復(fù)值的索引一張表中可以建立多個侯選索引侯選索引可用于數(shù)據(jù)庫表和自由表返回本章返回首頁2、索引的類型普通索引(Regularindexs)可以決定記錄的處理順序允許關(guān)鍵字段或表達式的值出現(xiàn)重復(fù)對一張表可以創(chuàng)建多個普通索引(GL)唯一索引(Uniqueindexs)允許有重復(fù)值具有重復(fù)值的記錄僅存儲其中的第一個(出版社)惟一:對每一個特定的關(guān)鍵字只存儲一次,而忽略了重復(fù)值第二次或以后的記錄表的索引返回本章返回首頁 3、索引文件的種類索引本身并不改變表中數(shù)據(jù)的物理順序結(jié)構(gòu)復(fù)合索引(CDX)與數(shù)據(jù)表同名文件名是在創(chuàng)建時由系統(tǒng)自動給定結(jié)構(gòu)復(fù)合索引文件與表文件同步打開、更新、關(guān)閉是表的一部分非結(jié)構(gòu)復(fù)合索引(CDX)文件名由用戶給出非結(jié)構(gòu)復(fù)合索引文件中不能創(chuàng)建主索引獨立索引(IDX):與FoxBase兼容表的索引返回本章返回首頁索引的建立步驟:項目管理器---表---修改表設(shè)計器---索引輸入索引名----類型---表達式不要對每個字段都建立索引,否則會降低程序的運行效率返回本章返回首頁對多個字段索引操作步驟:項目管理器--選擇已索引的表,選“修改”表設(shè)計器,選索引,輸入索引的名稱在“表達式”框中,輸入對多個索引的表達式如:按性別與年齡進行索引,其表達式應(yīng)為性別+STR(年齡,2)確定可以對多個字段建立索引其排序是按照表達式的值進行的返回本章返回首頁索引的修改和刪除索引的修改表設(shè)計器“表設(shè)計器”——“索引”選項卡命令I(lǐng)NDEX命令修改原索引索引的刪除表設(shè)計器“表設(shè)計器”——“索引”選項卡DELETETAG刪除索引標(biāo)識返回本章返回首頁篩選記錄(setfilterto)操作步驟:項目管理器--選擇已索引的表,選“修改”表設(shè)計器,選索引,輸入索引的名稱在“篩選”處,輸入過濾表達式按“確定”,完成篩選表達式的建立如:篩選性別為男的記錄,表達式為Setfilterto性別=‘男’可以實現(xiàn)對記錄的控制返回本章返回首頁習(xí)題1.在創(chuàng)建表之前需要做好哪些準(zhǔn)備工作?2.過濾器有什么作用?怎樣設(shè)置過濾器的過濾字段?3.VFP中的索引有哪幾種?索引的使用應(yīng)該遵守哪幾條原則?4.建立一個“職工檔案”表,參考本章例題。建立一個“工資”表,表的內(nèi)容自己定。5.建立一個“學(xué)生成績”表,表的內(nèi)容自己定。返回本章返回首頁習(xí)題6.將“職工檔案”表,復(fù)制一個新文件,先添加幾個記錄,進行修改和刪除操作。(1)用“瀏覽”或“編輯”進行表的修改操作。(2)給前3個記錄做刪除標(biāo)記,然后再恢復(fù)操作。(3)將職稱是“助教”的記錄做刪除標(biāo)記,然后再徹底刪除。7.將“職工檔案”表,按下列要求建立索引文件:(1)按職稱建立索引文件。(2)按年齡建立索引文件。返回本章返回首頁end返回本章返回首頁理解數(shù)據(jù)庫提供一個環(huán)境文件名DBC由多表及其關(guān)系組成表提供記錄信息文件名DBF可不放數(shù)據(jù)庫中,自由表數(shù)據(jù)庫數(shù)據(jù)表返回本章返回首頁索引應(yīng)遵循原則(1)為了提高速度,用普通索引、候選索引或主索引(2)控制字段的重復(fù)值對數(shù)據(jù)庫“表”用“主索引”或“候選索引”,對于“自由表”,用“候選索引”。返回本章返回首頁第4章數(shù)據(jù)庫的管理返回首頁數(shù)據(jù)庫的設(shè)計數(shù)據(jù)庫是一種工作環(huán)境存儲了一個“表”的集合在表之間可以建立關(guān)系對數(shù)據(jù)字段可以設(shè)置屬性和觸發(fā)規(guī)則一個數(shù)據(jù)庫文件具有.DBC的后綴。不同主題內(nèi)容的信息保存在不同的表當(dāng)中返回本章返回首頁數(shù)據(jù)庫的設(shè)計步驟:確立“數(shù)據(jù)庫”的功能:確定收集信息的范圍,并仔細收集這些信息確定表的種類與表的結(jié)構(gòu):根據(jù)每個表的信息,確定表中的“字段”,將字段作為“表”中的一列確定表間的關(guān)系:將所創(chuàng)建的“表”加以分析,確定各個字段之間的“關(guān)系”要明確為“一對一”、“一對多”關(guān)系對于“多對多”關(guān)系轉(zhuǎn)化為“一對一”、“一對多”關(guān)系返回本章返回首頁建自由表還是數(shù)據(jù)庫表自由表只存儲相對獨立的信息沒有依靠其它表的信息或被其他表所引用,可以使用自由表數(shù)據(jù)庫表有更為強大的功能它可以使用長表名和長字段名表中的字段可以有標(biāo)題和注釋表中的字段可以設(shè)置“默認值”能設(shè)置字段級和記錄級“規(guī)則”對于插入、刪除、修改等數(shù)據(jù)庫操作可以設(shè)置觸發(fā)器它還可以實現(xiàn)同遠程數(shù)據(jù)源的連接,創(chuàng)建本地視圖和遠程視圖返回本章返回首頁數(shù)據(jù)庫的簡單操作可通過項目管理器表設(shè)計器數(shù)據(jù)庫設(shè)計器返回本章返回首頁數(shù)據(jù)庫的打開操作步驟如下:項目管理器,選擇想要打開的數(shù)據(jù)庫選擇修改按鈕,進入數(shù)據(jù)庫設(shè)計器返回本章返回首頁數(shù)據(jù)庫設(shè)計器的操作全部折疊庫設(shè)計器上右擊鼠標(biāo)在出現(xiàn)的快捷鍵中,選擇“全部折疊”全部展開庫設(shè)計器上,右點擊鼠標(biāo)在快捷鍵中,選擇“全部展開”在庫設(shè)計器中,選中表,右點擊鼠標(biāo),選擇折疊或展開返回本章返回首頁重排:選擇菜單數(shù)據(jù)庫,然后選擇重排重排方式,然后按確定數(shù)據(jù)庫屬性:右擊鼠標(biāo)選擇屬性可以輸入數(shù)據(jù)庫的屬性選擇顯示的類型選擇“確定”關(guān)閉數(shù)據(jù)庫設(shè)計器返回本章返回首頁數(shù)據(jù)庫中表的操作:1、將自由表添加到數(shù)據(jù)庫中

(1)“數(shù)據(jù)庫”/”添加表”(2)在數(shù)據(jù)庫中右擊,選擇“添加表”2、將數(shù)據(jù)庫表從數(shù)據(jù)庫中移去

去向:刪除或成為自由表3、在數(shù)據(jù)庫中查找自由表

(1)“數(shù)據(jù)庫”/”查找對象”

(2)在數(shù)據(jù)庫中右擊,選擇“查找對象”返回本章返回首頁把自由表添加到數(shù)據(jù)庫中方法一:文件---打開,打開項目選中的數(shù)據(jù)庫是:教工選中數(shù)據(jù)庫下的“表”文件類型單擊“添加”按鈕選中要加入的表文件,再按“確定”當(dāng)自由表添加到數(shù)據(jù)庫中時,其“表設(shè)計器”也變成了“數(shù)據(jù)庫設(shè)計器”,即也擁有了數(shù)據(jù)庫的所有屬性返回本章返回首頁把自由表添加到數(shù)據(jù)庫中方法二:文件---打開,打開項目選中的數(shù)據(jù)庫是:教工選修改按鈕,顯示數(shù)據(jù)庫設(shè)計器選擇數(shù)據(jù)庫菜單再選“添加表”選擇要加入的表名,按確定如果所選擇的是自由表,就添加到所選中的數(shù)據(jù)庫中表已經(jīng)是數(shù)據(jù)庫表,不能添加返回本章返回首頁數(shù)據(jù)庫中的表刪除文件----打開,打開項目選中的數(shù)據(jù)庫是:教工選擇修改按鈕,屏幕顯示“數(shù)據(jù)庫設(shè)計器選中要刪除或移去的表,選擇移去如果不想刪除此表,就選擇“移去”,如果要想刪除此表,就選擇“刪除”注:用戶向數(shù)據(jù)庫中添加的“表”,只能是自由表表在同一時間只能屬于一個數(shù)據(jù)庫返回本章返回首頁在數(shù)據(jù)庫中查找表操作步驟如下:文件--打開,打開項目選中的數(shù)據(jù)庫是:教工選擇修改,顯示數(shù)據(jù)庫設(shè)計器-教工窗口選擇“數(shù)據(jù)庫”菜單,選“查找對象”命令在查找對話框中,選擇要查找的表或視圖

返回本章返回首頁字段與記錄屬性的常用概念1.觸發(fā)器在數(shù)據(jù)庫表進行一個插入、更新、刪除操作之后,運行的記錄事件級代碼不同的事件激發(fā)不同的動作觸發(fā)器在有效規(guī)則之后運行常用于檢查已建立永久關(guān)系的數(shù)據(jù)庫表之間的數(shù)據(jù)完整性觸發(fā)器只存在于數(shù)據(jù)庫表中自由表中不存在觸發(fā)器觸發(fā)器是數(shù)據(jù)庫的一部分受數(shù)據(jù)庫的管理返回本章返回首頁2.有效性規(guī)則檢查輸入數(shù)據(jù)是否滿足某些條件的過程3.記錄級規(guī)則一種與記錄有關(guān)的有效性規(guī)則當(dāng)插入或修改字段值時被激活多用于數(shù)據(jù)輸入的正確性記錄被刪除時不用使用有效性規(guī)則記錄級規(guī)則在字段級規(guī)則之后和觸發(fā)器之前被激活返回本章返回首頁4.字段級規(guī)則是一種與字段有關(guān)的有效性規(guī)則當(dāng)插入或修改字段值時被激活多用于數(shù)據(jù)輸入正確性檢查字段級規(guī)則在記錄級規(guī)則和觸發(fā)器之前被激活返回本章返回首頁5.數(shù)據(jù)字典包含數(shù)據(jù)庫所有表信息的一個表存儲在數(shù)據(jù)字典中的信息稱為元數(shù)據(jù)比如:長表名長字段名有效性規(guī)則、觸發(fā)器數(shù)據(jù)庫表間的永久關(guān)系數(shù)據(jù)庫有關(guān)對象的定義,如視圖和命名連接數(shù)據(jù)字典使得對數(shù)據(jù)庫的設(shè)計和修改更加靈活使用數(shù)據(jù)字典,可以設(shè)置字段級和記錄級的有效性規(guī)則保證主關(guān)鍵字字段內(nèi)容惟一性返回本章返回首頁設(shè)置字段的顯示屬性字段的顯示屬性:顯示格式掩碼標(biāo)題返回本章返回首頁1.設(shè)置字段的標(biāo)題定義數(shù)據(jù)庫字段名稱時,以英文縮寫為多難以真正理解字段的含義標(biāo)題屬性,給字段添加一個說明性標(biāo)題操作步驟:項目管理器選定表修改,進入表設(shè)計器選定要添加標(biāo)題的字段,如姓名單擊“是”按鈕,保存表結(jié)構(gòu)此時瀏覽表,姓名顯示為職工姓名返回本章返回首頁2.設(shè)置字段的顯示格式格式:確定一個字段在表單、瀏覽窗口或報表中的顯示格式輸入所需的格式碼格式實際上是字段的輸出掩碼常用的格式碼:A——表示只允許輸出文字字符(禁止數(shù)字、空格或標(biāo)點符號);D——表示使用當(dāng)前系統(tǒng)設(shè)置的日期格式;L——表示在數(shù)值前顯示填充的前導(dǎo)零,而不是用空格字符;T——表示禁止輸入字段的前導(dǎo)空格字符和結(jié)尾空格字符;!——表示把輸入的小寫字母字符轉(zhuǎn)換為大寫字母。返回本章返回首頁3.設(shè)置字段的掩碼輸入掩碼:可以確定字段輸入的格式屏蔽非法輸入,減少人為的數(shù)據(jù)輸入錯誤常用的輸入掩碼:X——表示可輸入任何字符;9——表示可輸入數(shù)字和正負符號;#——表示可輸入數(shù)字、空格和正負符號;$——表示在固定位置上顯示當(dāng)前貨幣符號;$$——表示顯示當(dāng)前貨幣符號;*——表示在值的左側(cè)顯示星號;.——表示用點分隔符指定數(shù)值的小數(shù)點位置;,——表示用逗號分隔小數(shù)點左邊的整數(shù)部分,一般用來分隔千分位。返回本章返回首頁例如:年齡字段的輸入掩碼為99年齡字段只能接受數(shù)字輸入,而不能輸入空格字符、字母等姓名的顯示格式指定為AT姓名兩個字段只能接受字母或漢字輸入,而不能輸入空格字符、數(shù)字注:設(shè)置格式一個作用是限制顯示輸出,輸入掩碼:另一個作用是限制輸入返回本章返回首頁輸入字段的注釋注釋使字段意義更加明確步驟:表設(shè)計器“字段注釋”文本框中,輸入描述信息返回本章返回首頁“表達式生成器”窗口有...按鈕,顯示一個對話框表達式:用運算符把內(nèi)存變量、字段變量、常數(shù)和函數(shù)連接起來的式子表達式用于計算和描述一個操作條件根據(jù)處理結(jié)果返回一個值數(shù)值型字符型日期型邏輯型返回本章返回首頁表達式生成器方便快捷地生成表達式5個部分:表達式文本編輯框函數(shù)列表框變量列表框表或視圖下拉列表框控制按鈕返回本章返回首頁1.表達式文本編輯框用于編輯表達式從列表框選擇出來的選項將顯示在這里,直接在這里輸入和編輯表達式可以輸入各種各樣的操作條件字段級有效性規(guī)則記錄級有效性規(guī)則參照完整性規(guī)則返回本章返回首頁2.函數(shù)列表框可以選擇表達式所需的函數(shù)分為:字符函數(shù)數(shù)學(xué)函數(shù)邏輯函數(shù)日期函數(shù)字符函數(shù)列表框:有用于處理字符和字符串的函數(shù)及字符運算符返回本章返回首頁3.變量列表框列出了當(dāng)前表或視圖的字段變量變量列表框內(nèi)存變量系統(tǒng)變量從變量列表框中,可以選擇表達式所需的變量4.表或視圖下拉列表框可以選擇當(dāng)前打開的表或視圖返回本章返回首頁5.控制按鈕4個命令按鈕:確定完成表達式生成,并退出表達式生成器取消檢驗單擊“檢驗”按鈕,可檢驗生成的表達式是否有效選項單擊選項,進入表達式生成器選項對話框返回本章返回首頁字段有效性為了防止這些非法數(shù)據(jù)的錄入通過顯示屬性來控制字段的顯示格式輸入掩碼只是碼級的限制通過字段驗證方式來控制合法的字符組合在一起是否合法、是否符合邏輯就無法在此進一步返回本章返回首頁字段、記錄屬性的設(shè)置:

(只有數(shù)據(jù)庫表可以設(shè)置)

1、字段注釋、標(biāo)題

2、默認值

要求符合字段類型特點

3、字段有效性

規(guī)則:邏輯型表達式

信息:“*****”

4、記錄有效性(在“表”標(biāo)簽中)

規(guī)則:邏輯型表達式

信息:“*****”

5、表注釋返回本章返回首頁字段驗證數(shù)據(jù)庫表的字段屬性之一字段通過了字段顯示格式和輸入掩碼的限制,輸入了數(shù)據(jù)以后,還要通過字段驗證才可以存儲到字段中去字段有效性有3個表達式文本框:規(guī)則信息默認值返回本章返回首頁字段的默認值新記錄輸入時所默認的字段值可以簡化操作,提示輸入格式,減少輸入錯誤,提高輸入速度步驟:表設(shè)計器中的“默認值”屬性框中輸入默認值如:性別字段輸入默認值“女”單擊“正確”按鈕返回本章返回首頁2.設(shè)置字段有效性原則一個規(guī)則判斷輸入的數(shù)據(jù)是否符合字段的要求在規(guī)則文本框中,可以輸入字段驗證的規(guī)則字段輸入完成,系統(tǒng)計算表達式的值如值為真,輸入通過字段規(guī)則的驗證否則不允許輸入的值存儲到字段中去例如教工年齡數(shù)據(jù)必須大于0小于0,輸入的數(shù)據(jù)是無效的返回本章返回首頁有效性規(guī)則:字段級有效規(guī)則字段中單個信息輸入的數(shù)據(jù)是否有效記錄級有效性規(guī)則整條記錄輸入完畢后才開始檢查數(shù)據(jù)的有效性返回本章返回首頁記錄有效性記錄級有效性規(guī)則屬于表的有效性規(guī)則可以控制用戶輸入到記錄中的信息類型記錄級有效性規(guī)則檢查不同字段在同一記錄中的限制,從而保證不違反數(shù)據(jù)庫的商業(yè)原則步驟:表設(shè)計器中,單擊“表”選項規(guī)則中,輸入規(guī)則表達式返回本章返回首頁注:記錄有效性規(guī)則當(dāng)記錄值發(fā)生改變時被激活指針離開記錄時,VFP檢查記錄有效性規(guī)則錄值沒有改變,規(guī)則不被觸發(fā)修改了記錄,沒移動指針,此時關(guān)閉窗口,記錄有效性規(guī)則仍被檢查如:iif(2003-year(工作時間)<年齡,.t.,.f.)返回本章返回首頁設(shè)置觸發(fā)器觸發(fā)器:當(dāng)表中的記錄被指定的操作命令修改時,觸發(fā)器被激活觸發(fā)器能執(zhí)行數(shù)據(jù)庫應(yīng)用程序要求的其它操作觸發(fā)器可執(zhí)行:對記錄的修改進行參照完整性的檢查觸發(fā)器是作為表的特定屬性來存儲的刪除表,相關(guān)的觸發(fā)器也將被刪除當(dāng)進行了其它有效性檢查后,觸發(fā)器被激活只能刪除姓張的記錄:“張”$姓名返回本章返回首頁使用長表名與注釋步驟:表設(shè)計器中,可用長表名和表的注釋在“表名”框中,輸入長表名然后選“表屬性”輸入表的注釋返回本章返回首頁表名:可以由字母、數(shù)字、下劃線或漢字組成第一個字符必須是字母、下劃線或漢字默認的表名及.DBF文件名長表名數(shù)據(jù)庫表,可以建立一個長表名最多可以包含128個字符可以用來代替短表名來標(biāo)識數(shù)據(jù)庫表定義了長表名,表在界面中,顯示長表名表的注釋可以使表的功能易于理解返回本章返回首頁使用長字段名、標(biāo)題與注釋自由表的字段名最多可包含10個字符數(shù)據(jù)庫字段名最多可以包含128個字符從庫中移去表,其長字段名將被截斷為10個字符一個表和數(shù)據(jù)庫相關(guān)聯(lián)時,必須使用長字段名來引用該表中的字段返回本章返回首頁字段的說明:使表更容易被理解更新項目管理器中,選擇字段后,會顯示該字段的注釋文本數(shù)據(jù)庫表中的每個字段可以有一個標(biāo)題返回本章返回首頁創(chuàng)建和編輯關(guān)系關(guān)系:永久關(guān)系永久關(guān)系一旦創(chuàng)建就保存在數(shù)據(jù)庫文件中在打開數(shù)據(jù)庫時隨即被打開在“庫設(shè)計器”和數(shù)據(jù)環(huán)境中顯示為表索引間的連接線在永久關(guān)系的基礎(chǔ)上,可設(shè)置表間的參照完整性規(guī)則,用以保證數(shù)據(jù)庫各表相關(guān)數(shù)據(jù)的一致性臨時關(guān)系在使用時臨時創(chuàng)建的在“查詢與視圖設(shè)計器”中,是自動作為默認連接條件的數(shù)據(jù)庫表間關(guān)系關(guān)閉其中一個表時關(guān)系即被自動關(guān)閉返回本章返回首頁臨時關(guān)系通過主表記錄指針的移動來控制子表記錄指針的移動這是臨時關(guān)系和永久關(guān)系不同的特征在一對多關(guān)系表間,建立臨時關(guān)系以后,在關(guān)系的“一”方表中,選擇一條記錄時,會按關(guān)系字段的值自動訪問到“多”方表中的相關(guān)記錄在“數(shù)據(jù)工作期”中編輯返回本章返回首頁永久關(guān)系:通過連接不同表的索引可以很方便地建立表之間的關(guān)系,被存儲在數(shù)據(jù)庫文件中,所以將這種關(guān)系稱為永久關(guān)系VFP6.0就自動將永久關(guān)系作為查詢、視圖、表單和報表的默認關(guān)系利用永久關(guān)系還可以存儲參照完整性信息在數(shù)據(jù)庫設(shè)計器中連接返回本章返回首頁建立永久關(guān)系主關(guān)鍵字字段與外部關(guān)鍵字字段:關(guān)聯(lián)的表有一些公共字段主關(guān)鍵字字段用于標(biāo)識主表中的某一特定記錄根據(jù)主關(guān)鍵字字段建立一個主索引外部關(guān)鍵字字段用于標(biāo)識相關(guān)表中的相關(guān)記錄外部關(guān)鍵字字段建立一個普通索引哪個表包含主記錄,哪個表包含相關(guān)記錄并且普通索引和主索引必須帶有相同的表達式返回本章返回首頁三種關(guān)系:一對一表A中的一條記錄,在表B只能有一條記錄B的每一條記錄也在表A中只能有一條記錄與之對應(yīng)并不常使用一對多最為普通表A中一條記錄,表B中有多條記錄對應(yīng)表B中的一條記錄,在表A中只有一條一方要建立主關(guān)鍵字或候選關(guān)鍵字多方要使用普通索引多對多轉(zhuǎn)化為“一對一”或“一對多”關(guān)系返回本章返回首頁班級班長領(lǐng)導(dǎo)11班級學(xué)生組成1m課程學(xué)生選修nm(a)1:1聯(lián)系(b)1:m聯(lián)系(c)n:m聯(lián)系

返回本章返回首頁建立永久關(guān)系永久性關(guān)系并不控制表內(nèi)記錄指針間的關(guān)系步驟如下:(1)建立表的索引一方要建立主關(guān)鍵字或候選關(guān)鍵字多方要使用普通索引(2)拖拽:在“庫設(shè)計器”上,“一”方的主索引,拖拽到“多”表的與其對應(yīng)的普通索引之上返回本章返回首頁1、實體完整性

通過設(shè)置主索引

實現(xiàn)2、域完整性

通過設(shè)置字段有效性實現(xiàn)3、參照完整性

通過編輯永久關(guān)系實現(xiàn)數(shù)據(jù)完整性返回本章返回首頁參照完整性表間彼此相關(guān),改一表,可能使其關(guān)系發(fā)生變化刪除主表中記錄,相關(guān)表中的記錄就找不到與之對應(yīng)的父記錄,就破壞了表之間的原有關(guān)系。參照完整性,利用相關(guān)表間的制約關(guān)系,互相參照,控制相關(guān)表數(shù)據(jù)的完整性。返回本章返回首頁參照完整性的編輯

1、更新規(guī)則

級聯(lián):主表字段值更新時子表相應(yīng)值自動更新

限制:主表有對應(yīng)字段值,不允許主表更新

忽略:

2、刪除規(guī)則

級聯(lián):刪除主表字段值時子表相應(yīng)值自動刪除

限制:主表有對應(yīng)字段值,不允許主表刪除

忽略:

3、插入規(guī)則

限制:主表沒有對應(yīng)字段值,不允許向子表添加該值

忽略:返回本章返回首頁例如:當(dāng)主表中沒有相關(guān)的記錄時,記錄不得追加到相關(guān)子表中.當(dāng)主表中某條記錄在相關(guān)子表中有相關(guān)記錄時,這條主表記錄不允許刪除.當(dāng)主表的關(guān)系字段值改變將導(dǎo)致相關(guān)子表中出現(xiàn)無關(guān)記錄時,在主表中不允許做這種改變.返回本章返回首頁步驟如下:在“庫設(shè)計器”中,雙擊關(guān)系線,打開編輯關(guān)系對話框單擊參照完整性按鈕,打開生成器單擊要實施參照完整性的關(guān)系行單擊“更新”右邊的箭頭選擇“級聯(lián)”、“限制”或“忽略”單擊“確定”按鈕返回本章返回首頁級聯(lián):更新主表關(guān)系字段時,同時自動更新子表中的相關(guān)記錄的關(guān)系字段值限制:子表中有相關(guān)記錄時,禁止更新主表相應(yīng)記錄的關(guān)系字段值忽略:表示忽略主子表間的關(guān)系,不限制主表關(guān)系字段的更新返回本章返回首頁end返回本章返回首頁第5章查詢與視圖返回首頁查詢從數(shù)據(jù)表中獲取所需要的結(jié)果即設(shè)定一些過濾條件,并把這些條件存為查詢文件在每次查詢數(shù)據(jù)時,調(diào)用該文件并行查詢出來的結(jié)果可以加以排序、分類查詢出來的結(jié)果可存儲成多種輸出格式圖形報表標(biāo)簽返回本章返回首頁視圖視圖:能夠從本地或遠程表中提取一組記錄使用視圖可以處理或更新檢索到的記錄即設(shè)定條件,可從幾個數(shù)據(jù)表文件中過濾出所要求的數(shù)據(jù),其結(jié)果存儲成實際的記錄數(shù)據(jù)可以當(dāng)作實際的數(shù)據(jù)表文件來使用視圖中的數(shù)據(jù)記錄更改后,原表中的記錄也要隨之修改返回本章返回首頁一、查詢文件的管理(一)建立查詢(.qpr)1、“文件”/“新建”2、在項目管理器中3

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論