數據庫應用與開發之FoxPro基礎課件_第1頁
數據庫應用與開發之FoxPro基礎課件_第2頁
數據庫應用與開發之FoxPro基礎課件_第3頁
數據庫應用與開發之FoxPro基礎課件_第4頁
數據庫應用與開發之FoxPro基礎課件_第5頁
已閱讀5頁,還剩123頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

數據庫應用與開發

Application&DevelopmentofDatabase趙丹陽機械工程學院數據庫應用與開發

Application&Develop1聯系方式:辦公室:模具研究所206(管理學院東側二層樓)電話:84706062-807Email:Danyangz@163.com聯系方式:2數據庫的應用經濟時代、信息社會、知識經濟引起的信息爆炸引起的大量數據存儲的問題使得數據庫廣泛應用。舉例:銀行(ATM)、超市(結款)、企業信息管理、訂票系統等。大學:學生的選課系統、圖書管理系統、考試報名與成績查詢、食堂刷卡系統等等。數據庫的應用3課程目的:理解數據庫的基本概念,掌握數據庫Foxpro基本操作;2.為以后開發大型網絡數據庫(Oracle、SQLServer等)打下一個良好的基礎;3.數據庫方面的通識教育。課程目的:4通識教育?通識教育專業教育、職業教育有著根本性的區別。通識教育不是為了培養你們掌握特定的技能,也不是為你們謀求某種職業做準備。通識教育的真諦就是發揚批判性獨立思考的自由,充分發揮人的聰明才智。無論課程的內容是什么,無論它如何發展,我想說,通識教育的旨趣不在于教人思考什么,而是如何思考。-------RichardC.Levin理查德.雷文

1993-今耶魯大學校長常青藤盟校中任職時間最長的校長美國高等教育界的領袖之一通識教育?5第1章

FoxPro基礎

1數據庫概述

2FoxPro簡介

3數據庫文件與數據庫結構

4常量、變量、運算符與表達式

第1章FoxPro基礎

1數據庫概述

2Fox61.1數據庫概述

數據庫的基本概念:數據庫技術是上世紀60年代末興起的一種數據管理技術。數據庫(Database),Data數據,Base基地、倉庫。簡單地說,數據庫可以理解為存儲數據的基地或倉庫。1.1數據庫概述數據庫的基本概念:7數據:從數據處理這個角度說,凡能輸入到計算機中,并能在計算機中存儲、處理、傳輸和輸出的各種信息都可稱為數據。即描述客觀事物屬性的數字、文字、表格、符號、圖像和聲音等都是數據(Data)。數據庫:數據庫是存儲在某種存儲介質上的相關數據有組織的集合。

數據:8數據庫不是簡單地將一些數據堆集在一起,而是把一些相互間有一定關系的數據,按一定的結構組織起來的數據集合。例如,建立一個單位的職員檔案,每位職員有下列數據項:編號、姓名、性別、出生日期、婚否、職務、工資、簡歷。顯然這八項中的數據是有密切關系的,是描述每個職員的自然情況。如何把描述每個職員的數據按一定方式組織起來,達到方便管理的目的,通常人們用一張二維表格來實現(見表1·1)。數據庫不是簡單地將一些數據堆集在一起,而是把9數據庫應用與開發之FoxPro基礎10該表格中有兩項,表頭和表體。

表頭確定每個職員的數據項;(字段)

表頭下面的每一行是描述職員自然情況的數據。(記錄)

表中數據組織有序,數據間關系明確。把這張二維表稱作關系,也是一個數據庫文件。該表格中有兩項,表頭和表體。

表頭確定每個職員的數據11數據庫系統的發展

第1代非關系型數據庫系統:以記錄型為基本數據結構,有層次模型和網狀模型。

第2代關系型數據庫系統(RelationalDatabaseSystem,簡稱RDBS):采用二維表為基本數據結構。

第3代對象-關系型數據庫系統(簡稱ORDBS):能處理圖形、聲音等多媒體對象,將數據庫技術與面向對象技術相結合。數據庫系統的發展

第1代非關系型數據庫系統:以記錄型為121.2FoxPro簡介

數據庫管理系統(DataBaseManagementSystem):對數據庫進行定義、描述、建立、管理和維護的系統軟件。FoxPro是一種在應用PC機上的關系型數據庫管理系統。1.2FoxPro簡介數據庫管理系統131.2.1Foxpro的發展與特點

80年代美國AshtonTate公司:

dBASE,dBASEII,dBASEIII,dBASEIV和dBASEV

86年美國FoxSoftware公司推出:

FoxBASEFoxPro1.2.1Foxpro的發展與特點

80年代美國14FoxPro特點:

運行速度快;

友好的圖形用戶界面;

超加速(RushmoreTechnology)查詢技術;

SQL(StructuredQueryLanguage)結構化查詢語言;

應用程序可編譯成擴展名為.EXE的可執行文件,在DOS或Windows平臺上運行。FoxPro特點:

運行速度快;

友好的圖形用戶界面;

超加15數據庫應用與開發之FoxPro基礎162.FoxPro系統窗口簡介

FoxPro啟動后,其系統窗口如下圖所示。以下介紹FoxPro系統窗口的結構及操作方法。

FoxPro系統窗口主要由五部分組成,即窗口標題欄、系統菜單、命令窗口、工作區和狀態欄(啟動Foxpro)。2.FoxPro系統窗口簡介

FoxPro啟動后,其17FoxPro系統窗口命令窗口系統菜單工作區域狀態欄FoxPro系統窗口命令窗口系統菜單工作區域狀態欄18(1)窗口標題欄

窗口標題欄中顯示窗口標題,在其右端有最大化、最小化和關閉窗口按鈕。(1)窗口標題欄

窗口標題欄中顯示窗口標題,在其右端19(2)系統菜單

系統菜單位于系統窗口的上部,由八個菜單組成。通過選擇系統菜單中提供的命令,就能輕松自如地完成對數據庫的建立、修改、數據更新、數據組織、查詢等基本操作。(2)系統菜單

系統菜單位于系統窗口的上部,由八個菜20(3)命令窗口

對數據庫進行操作,除可使用FoxPro提供的菜單命令外,還可以通過直接輸入命令的方式進行。命令窗口是輸入數據庫命令的工作區域。命令窗口可以移動、放大或縮小。(3)命令窗口

對數據庫進行操作,除可使用FoxPr21★移動窗口

★放大、縮小窗口

★最大化、最小化窗口

★移動窗口

★放大、縮小窗口

★最大化、最小化窗22用戶在命令窗口內輸入過的命令,FoxPro系統給予保存,再次使用時可以直接執行,免去重新輸入命令的麻煩。

由于受到命令窗口面積的限制,若尋找當前窗口中未顯示的命令,需使用滾動條來實現。用戶在命令窗口內輸入過的命令,FoxPro系統給23(4)工作區域

工作區域的作用是用來顯示操作命令執行的結果及編輯命令文件。無論使用菜單方式還是使用在命令窗口中直接輸入命令的方式,每執行一條命令,如果需要在屏幕上顯示結果的話,都要在工作區內實現。另外,命令文件的編寫、修改及命令文件運行結果的屏幕輸出都是在工作區中進行的。(4)工作區域

工作區域的作用是用來顯示操作命令執行24(5)狀態欄

狀態欄的主要作用有以下幾點:

◆使用菜單命令操作時,在選中一條命令的同時,狀態欄中顯示該條命令的功能。

(5)狀態欄

狀態欄的主要作用有以下幾點:

◆使用菜單命令操25◆當打開一個數據庫時,狀態欄中將顯示該數據庫的名字及庫中記錄個數及當前記錄的記錄號。

◆狀態行的右側還將顯示當前輸入狀態,包括插入或改寫,大寫字母輸入還是小寫字母輸入等。當顯示Ins時,表示是插入狀態。當顯示Caps時為大寫字母輸入狀態。◆當打開一個數據庫時,狀態欄中將顯示該數據庫的名字及庫中記錄263.退出FoxPro

退出FoxPro系統,返回到Windows桌面。

(1)菜單操作方式

鼠標單擊系統菜單的“File”項,打開“File”菜單,單擊菜單中的“Exit”命令,

即退出FoxPro。

(2)輸入命令方式

在命令窗口輸入命令"Quit",然后按回車鍵即可退出FoxPro。3.退出FoxPro

退出FoxPro系統,返回到Win27

在FoxPro中,表格是以文件的形式存儲在計算機中,該文件稱作數據庫文件。FoxPro的文件類型有十余種,除數據庫文件外,還有命令文件、索引文件、屏幕文件、文本文件等。在FoxPro中,表格是以文件的形式存28FoxPro文件的文件名:

文件名由主文件名和擴展名兩部分組成,中間用“.”分隔。

主文件名由英文字母、數字、下劃線或漢字組成,最多不超過八個字符(漢字不超過四個);擴展名由三個字符組成。

例如:職員檔案.DBFZYDA.DBF

都是數據庫文件,其中“職員檔案”和“ZYDA”是主文件名,.DBF是擴展名。FoxPro文件的文件名:

文件名由主文件名和擴展名29由表1-1可見,數據庫的結構由兩部分組成,即表頭部分和表體部分。表頭中編號、姓名、性別……稱作字段名,表體由表頭下面那些稱作記錄的行組成,每行是一個記錄。

一個FoxPro數據庫文件最多字段個數≤255,最多記錄個數≤10億。由表1-1可見,數據庫的結構由兩部分組成,即表頭部分和30

FoxPro數據庫文件中的每個字段由三部分組成,即字段名、字段類型和字段寬度。

字段名由字母、漢字、數字或下劃線組成,且必須以字母或漢字打頭,長度不超過10個字符。字段名的字面含義應與該字段對應列的數據含義保持一致。字段名是變量,它可以存儲與其類型一致的數據。

FoxPro數據庫文件中的每個字段由三部分組成,即字31FoxPro的字段類型有七種,即字符型、數值型、浮點型、日期型、邏輯型、備注型和通用型。數據庫每個字段中的數據具有同一類型。

(1)字符型(Character)

字符型字段只能存儲字符型數據,即字符串。表1·1中的編號、姓名、性別、職務等都是字符型字段。字符型字段的最大寬度是254個字符位,即是字符型字段名變量能存儲的最大字符串長度。FoxPro的字段類型有七種,即字符型、數值型、浮點32(2)數值型(Numeric)

數值型字段存儲正、負整數或小數。表1·1中的工資是數值型字段。數值型字段的最大寬度是20位,含整數位、小數位、小數點,如果是負數還包括符號位。數值型字段的有效數字是16位。

(3)浮點型(Float)

FoxPro設計浮點型字段主要是為了與dBASEIV兼容,它與數值型字段功能相同。(2)數值型(Numeric)

數值型字段存儲正、負33(4)日期型(Date)

FoxPro中表示日期的格式有多種,最常用的日期格式為年/月/日,其中年、月、日各占兩位,分隔符“/’’占兩位,所以日期型字段固定寬度是8位。

(5)邏輯型(Logical)

邏輯型字段只能存儲邏輯值.T.或.F.,表1·1中的婚否即是邏輯型字段。邏輯型字段的寬度固定為1。(4)日期型(Date)

FoxPro中表示日期的格34(6)備注型(Memo)

備注型字段又稱記憶型或存儲型,它是一種特殊類型的字段。表1·1中的簡歷就是備注型字段。備注型字段用于存儲大塊數據,FoxPro將備注型字段寬度定義為10,但輸入到備注型字段中的值是存儲在另外一個稱作數據庫明細文件中,備注型字段的實際存儲容量只受磁盤空間大小限制,其存入的實際數據為字符型。(6)備注型(Memo)

備注型字段又稱記憶型或存儲35(7)通用型(General)

通用型字段用于存儲圖片、聲音等數據。只有FoxProforWindows版本可用該字段。通用型字段與備注型字段相似,其寬度由系統定義為10,字段中存儲的圖片、聲音等數據是在另外的數據庫明細文件中。(7)通用型(General)

通用型字段用于存儲圖361.4常量、變量、運算符與表達式

1.4.1常量常量是指在命令或程序運行過程中保持不變的量。FoxPro有四種類型的常量,即數值型常量、字符型常量、日期型常量和邏輯型常量。1.4常量、變量、運算符與表達式1.4.1常量37☆數值型常量:例如32,126.7,-15,1.68E2等。其中,1.68E2是科學計數法,E表示十進制的基數,E2相當于102,E-3相當于10-3。如:123.5=1.235E2-0.0234=-2.34E-2100=1E2(1E2不能寫成E2)☆數值型常量:38☆字符型常量:用單引號或雙引號定界的字符串。例如:“遼寧省大連市”或‘遼寧省大連市’"ABCDE123"或'ABCDE123'注意:※

空格符是字符型常量,用引號將空格符定界便是一個字符串。

※“156.2”是字符型常量,它與數字156.2截然不同。

※字符型常量可以比較大小,其ASCII碼大者為大。☆字符型常量:39☆日期型常量:日期型常量的格式為{年/月/日},其中,年、月、日分別是兩位數字,花括號表示日期型數據。例如:{96/12/15}{98/06/12}日期型常量也可以是空值,寫作:{//}或{}☆日期型常量:40☆邏輯型常量:FoxPro有兩個邏輯型常量,即真和假,用.T.或.Y.表示真,用.F.或.N.表示假。T,Y,N,F兩邊的圓點“·”不能省略。邏輯值也可以比較大小,FoxPro規定邏輯值.T.大于邏輯值.F.。☆邏輯型常量:41

1.4.2變量

變量是指在命令或程序過程中其值可以改變的量。每個變量在計算機內存中都占用一組存儲單元,變量的值存放在對應的存儲單元中。每個變量都必須有一個名字,稱作變量名。FoxPro通過變量名引用變量的值。1.4.2變量42

FoxPro有兩種變量:內存變量和字段名變量。字段名變量在1.3節已經定義。所謂內存變量是指常駐內存的變量,它由英文字母、數字、下劃線或漢字組成,長度不超過10個字符,且必須以英文字母或漢字打頭。

內存變量有四種類型,即數值型、字符型、日期型和邏輯型。在FoxPro中使用內存變量不需事先定義其類型,內存變量的類型由它接受的數據類型決定。FoxPro有兩種變量:內存變量和字段名變量。43例如:

XM="王云"

RQ={93/12/15}

其中,內存變量XM是字符型,RQ是日期型。這里的符號"="是FoxPro的賦值命令,其含義是將"="號右邊的值賦給左邊的變量。例如:

XM="王云"

RQ={93/44

1.4.3運算符與表達式

FoxPro有四類運算符:算術運算符、關系運算符、邏輯運算符和字符串運算符。1.算術運算符與算術表達式算術運算符有:+,-,*,/,%,**(或^)表示加、減、乘、除、取余和乘方。1.4.3運算符與表達式45算術運算符運算的優先級是:

①**或^

②*,/,%

③+,-

同級運算符的運算順序是自左向右。

算術表達式是指常量、變量和函數用算術運算符(含括號)按一定規則連接起來的表達式。Foxpro中的算術表達式與數學中的數學表達式有相似之處,但又有嚴格的區別。算術運算符運算的優先級是:

①**或^

②*,/,%

46例如:

數學表達式FoxPro的算術表達式

2*x+y**2

2*EXP(2)+(a-b)/(a+b)

3*ABS(x)+SQRT(b*b-1)例如:

數學表達式FoxPro的算術表達式

47

2.關系運算符與關系表達式關系運算符有:>>=<<=<>(或#)=分別稱作大于、大于且等于、小于、小于且等于、不等于、等于$(通配符)==(精確等于)參加關系運算的值可以是數值型、字符型、日期型和邏輯型,但關系運算的結果,即關系表達式的值是邏輯值.T.或.F.。2.關系運算符與關系表達式48例如:5>2的值為.T.

{97/12/11}>{97/12/12}的值為.F.

(6>3)<>(5<2)的值為.T.

比較運算符$與==主要用于字符串比較運算

$運算的模式:

〈字符串1〉$〈字符串2〉

其含義是若“字符串1”包含在“字符串2”中,則運算結果為.T.,否則為.F.。

例如: "AB"$"ABCD"的值為.T.

"大為"$"李大為"的值為.T.

"XY"$"XAY"的值為.F.例如:5>2的值為.T.

{97/12/11}>{97/149==運算的格式是:

〈字符串1〉==〈字符串2〉

其含義是當左右兩個字符串完全相同時,運算結果為.T.,否則為.F.。

例如:

"abcd"=="abcd"的值為.T.

"abcd"=="abc"的值為.F.==運算的格式是:

〈字符串1〉==〈字符串2〉

其含義50運算符“==”與運算符“=”是有區別的!

例如:

"abcd"=="abc"的值為.F.

"abcd"="abc"的值為.T.

前者兩個字符串比較,只有完全相同時其值才為.T.(通常稱為完全匹配)。后者只要右邊的字符串與左邊字符串的前幾個字符依次相同,其值即為.T.。若執行命令"SETEXACTON"后,運算符=與==完全相同。運算符“==”與運算符“=”是有區別的!

例如:

"abc51“SETEXACT”命令是一個設置FoxPro運行環境命令。它的完整格式是SETEXACTON/OFF,即有ON和OFF兩種狀態,系統默認狀態是OFF。現以比較字符串"ABCED"與"ABC"是否相等為例,說明SETEXACTON/OFF的用法。

“SETEXACT”命令是一個設置FoxPro運行52在SETEXACTOFF狀態下,表達式"ABCDE"="ABC"'的值為.T.,運算過程是:將運算符"="號右邊字符串中的字符,自左向右依次與運算符"="號左邊的字符串比較,若右側字符串比較結束,且與左側字符串中比較過的字符串相同,則不管左側字符串是否結束,都認為兩字符串相等。比如:"王宏偉"="王"的值為.T.。但要注意,若等號兩邊的字符串互換后則不成立。

在SETEXACTOFF狀態下,表達式"ABC53在SETEXACTON狀態下,表達式“ABCDE”=“ABC”的值為.F.。在這種狀態下,只有“=”號兩邊的字符串長度和內容完全匹配時,兩個字符串才相等。

注意:=

與$的區別

在SETEXACTON狀態下,表達式“ABCDE543.邏輯運算符與邏輯表達式FoxPro提供了三個邏輯運算符:

.NOT..AND..OR.運算優先順序依次是.NOT.,.AND.和.OR.。參加邏輯運算的值必須是邏輯值,邏輯運算的結果,即邏輯表達式的值是邏輯值。3.邏輯運算符與邏輯表達式55例1:求邏輯表達式

5>2.AND.3<>10.OR..NOT.2=3的值。

該表達式的運算順序如下:

5>2.AND.3<>10.OR..NOT.2=3

①=.T.②=.T.③=.F.

④.T. ⑤.T.

第①②步運算值是.T.,第③步運算值是.F.,第④⑤步運算值為.T.,故最后一步運算結果,即該表達式的值是.T.。例1:求邏輯表達式

5>2.AND.3<56例2:求邏輯表達式

.NOT..F..AND.2+3>5的值。

該表達式中各運算符的運算順序是:

+>.NOT..AND.

運算結果是.F.。例2:求邏輯表達式

.NOT..F..AND.257

FoxPro規定,在多種運算符同時存在的表達式中,其運算優先級別是:(1)括號內的運算(2)算術運算和字符串運算(3)關系運算(4)邏輯運算相同級別的運算,按從左至右的次序進行。FoxPro規定,在多種運算符同時存在的表達式中,其584.字符串運算符與字符串表達式字符串運算符有兩個:+、-。字符串運算符的功能是將兩個字符串連接成一個新的字符串。運算符“+”是將兩個字符串原樣連接,而運算符"-"是將前面一個字符串尾部的空格移至連接后新字符串的尾部。4.字符串運算符與字符串表達式59例如:

“ABCD”+“XYZ”的值是“ABCDXYZ”

“ABC︼︼”+“︼DE”的值是“ABC︼︼︼DE”

“ABC︼︼”-“︼DE”的值是“ABC︼DE︼︼”

“-”將前面一個字符串尾部的空格移至新字符串的尾部

上例中的三個表達式稱作字符串表達式,參加字符串運算的量除字符型常量外,還可

以是字符型變量和字符型函數。例如:

“ABCD”+“XYZ”的值是“ABCDXYZ”

“60例如:

MA=“遼寧省”

MB=“大連市”

則MA+SPACE(2)+MB的值是:

“遼寧省︼︼大連市"

其中,SPACE()是空格函數,括號中的數字為n,即表示該函數的值是n個空格。

例如:

MA=“遼寧省”

MB=“大連市”

則MA+SPAC615.日期型表達式日期型數據也可以進行運算,構成日期型表達式。一個日期加或減一個正整數,相當于該日期加上或減去若干天,得到一個新日期。兩個日期也可以相減,其值是兩個日期間相隔的天數,但兩個日期不能相加。5.日期型表達式62例如:

{97/12/12}-13的值是{97/11/29}

{97/12/12}+25的值是{98/01/06}

{97/05/10}-{96/08/10}的值是273

日期型數據也可以比較大小,按年、月、日的順序比較,數值大者為大。

例如:

{60/12/12}<{70/10/21}的值為.T.

{97/12/15}>{97/12/24}的值為.F.

注意:VF系統中{^yyyy-mm-dd}

例如:

{97/12/12}-13的值是{97/11/29}63本章習題作業書第10頁的7912(1)-(4)、(6)本章習題作業64數據庫應用與開發

Application&DevelopmentofDatabase趙丹陽機械工程學院數據庫應用與開發

Application&Develop65聯系方式:辦公室:模具研究所206(管理學院東側二層樓)電話:84706062-807Email:Danyangz@163.com聯系方式:66數據庫的應用經濟時代、信息社會、知識經濟引起的信息爆炸引起的大量數據存儲的問題使得數據庫廣泛應用。舉例:銀行(ATM)、超市(結款)、企業信息管理、訂票系統等。大學:學生的選課系統、圖書管理系統、考試報名與成績查詢、食堂刷卡系統等等。數據庫的應用67課程目的:理解數據庫的基本概念,掌握數據庫Foxpro基本操作;2.為以后開發大型網絡數據庫(Oracle、SQLServer等)打下一個良好的基礎;3.數據庫方面的通識教育。課程目的:68通識教育?通識教育專業教育、職業教育有著根本性的區別。通識教育不是為了培養你們掌握特定的技能,也不是為你們謀求某種職業做準備。通識教育的真諦就是發揚批判性獨立思考的自由,充分發揮人的聰明才智。無論課程的內容是什么,無論它如何發展,我想說,通識教育的旨趣不在于教人思考什么,而是如何思考。-------RichardC.Levin理查德.雷文

1993-今耶魯大學校長常青藤盟校中任職時間最長的校長美國高等教育界的領袖之一通識教育?69第1章

FoxPro基礎

1數據庫概述

2FoxPro簡介

3數據庫文件與數據庫結構

4常量、變量、運算符與表達式

第1章FoxPro基礎

1數據庫概述

2Fox701.1數據庫概述

數據庫的基本概念:數據庫技術是上世紀60年代末興起的一種數據管理技術。數據庫(Database),Data數據,Base基地、倉庫。簡單地說,數據庫可以理解為存儲數據的基地或倉庫。1.1數據庫概述數據庫的基本概念:71數據:從數據處理這個角度說,凡能輸入到計算機中,并能在計算機中存儲、處理、傳輸和輸出的各種信息都可稱為數據。即描述客觀事物屬性的數字、文字、表格、符號、圖像和聲音等都是數據(Data)。數據庫:數據庫是存儲在某種存儲介質上的相關數據有組織的集合。

數據:72數據庫不是簡單地將一些數據堆集在一起,而是把一些相互間有一定關系的數據,按一定的結構組織起來的數據集合。例如,建立一個單位的職員檔案,每位職員有下列數據項:編號、姓名、性別、出生日期、婚否、職務、工資、簡歷。顯然這八項中的數據是有密切關系的,是描述每個職員的自然情況。如何把描述每個職員的數據按一定方式組織起來,達到方便管理的目的,通常人們用一張二維表格來實現(見表1·1)。數據庫不是簡單地將一些數據堆集在一起,而是把73數據庫應用與開發之FoxPro基礎74該表格中有兩項,表頭和表體。

表頭確定每個職員的數據項;(字段)

表頭下面的每一行是描述職員自然情況的數據。(記錄)

表中數據組織有序,數據間關系明確。把這張二維表稱作關系,也是一個數據庫文件。該表格中有兩項,表頭和表體。

表頭確定每個職員的數據75數據庫系統的發展

第1代非關系型數據庫系統:以記錄型為基本數據結構,有層次模型和網狀模型。

第2代關系型數據庫系統(RelationalDatabaseSystem,簡稱RDBS):采用二維表為基本數據結構。

第3代對象-關系型數據庫系統(簡稱ORDBS):能處理圖形、聲音等多媒體對象,將數據庫技術與面向對象技術相結合。數據庫系統的發展

第1代非關系型數據庫系統:以記錄型為761.2FoxPro簡介

數據庫管理系統(DataBaseManagementSystem):對數據庫進行定義、描述、建立、管理和維護的系統軟件。FoxPro是一種在應用PC機上的關系型數據庫管理系統。1.2FoxPro簡介數據庫管理系統771.2.1Foxpro的發展與特點

80年代美國AshtonTate公司:

dBASE,dBASEII,dBASEIII,dBASEIV和dBASEV

86年美國FoxSoftware公司推出:

FoxBASEFoxPro1.2.1Foxpro的發展與特點

80年代美國78FoxPro特點:

運行速度快;

友好的圖形用戶界面;

超加速(RushmoreTechnology)查詢技術;

SQL(StructuredQueryLanguage)結構化查詢語言;

應用程序可編譯成擴展名為.EXE的可執行文件,在DOS或Windows平臺上運行。FoxPro特點:

運行速度快;

友好的圖形用戶界面;

超加79數據庫應用與開發之FoxPro基礎802.FoxPro系統窗口簡介

FoxPro啟動后,其系統窗口如下圖所示。以下介紹FoxPro系統窗口的結構及操作方法。

FoxPro系統窗口主要由五部分組成,即窗口標題欄、系統菜單、命令窗口、工作區和狀態欄(啟動Foxpro)。2.FoxPro系統窗口簡介

FoxPro啟動后,其81FoxPro系統窗口命令窗口系統菜單工作區域狀態欄FoxPro系統窗口命令窗口系統菜單工作區域狀態欄82(1)窗口標題欄

窗口標題欄中顯示窗口標題,在其右端有最大化、最小化和關閉窗口按鈕。(1)窗口標題欄

窗口標題欄中顯示窗口標題,在其右端83(2)系統菜單

系統菜單位于系統窗口的上部,由八個菜單組成。通過選擇系統菜單中提供的命令,就能輕松自如地完成對數據庫的建立、修改、數據更新、數據組織、查詢等基本操作。(2)系統菜單

系統菜單位于系統窗口的上部,由八個菜84(3)命令窗口

對數據庫進行操作,除可使用FoxPro提供的菜單命令外,還可以通過直接輸入命令的方式進行。命令窗口是輸入數據庫命令的工作區域。命令窗口可以移動、放大或縮小。(3)命令窗口

對數據庫進行操作,除可使用FoxPr85★移動窗口

★放大、縮小窗口

★最大化、最小化窗口

★移動窗口

★放大、縮小窗口

★最大化、最小化窗86用戶在命令窗口內輸入過的命令,FoxPro系統給予保存,再次使用時可以直接執行,免去重新輸入命令的麻煩。

由于受到命令窗口面積的限制,若尋找當前窗口中未顯示的命令,需使用滾動條來實現。用戶在命令窗口內輸入過的命令,FoxPro系統給87(4)工作區域

工作區域的作用是用來顯示操作命令執行的結果及編輯命令文件。無論使用菜單方式還是使用在命令窗口中直接輸入命令的方式,每執行一條命令,如果需要在屏幕上顯示結果的話,都要在工作區內實現。另外,命令文件的編寫、修改及命令文件運行結果的屏幕輸出都是在工作區中進行的。(4)工作區域

工作區域的作用是用來顯示操作命令執行88(5)狀態欄

狀態欄的主要作用有以下幾點:

◆使用菜單命令操作時,在選中一條命令的同時,狀態欄中顯示該條命令的功能。

(5)狀態欄

狀態欄的主要作用有以下幾點:

◆使用菜單命令操89◆當打開一個數據庫時,狀態欄中將顯示該數據庫的名字及庫中記錄個數及當前記錄的記錄號。

◆狀態行的右側還將顯示當前輸入狀態,包括插入或改寫,大寫字母輸入還是小寫字母輸入等。當顯示Ins時,表示是插入狀態。當顯示Caps時為大寫字母輸入狀態。◆當打開一個數據庫時,狀態欄中將顯示該數據庫的名字及庫中記錄903.退出FoxPro

退出FoxPro系統,返回到Windows桌面。

(1)菜單操作方式

鼠標單擊系統菜單的“File”項,打開“File”菜單,單擊菜單中的“Exit”命令,

即退出FoxPro。

(2)輸入命令方式

在命令窗口輸入命令"Quit",然后按回車鍵即可退出FoxPro。3.退出FoxPro

退出FoxPro系統,返回到Win91

在FoxPro中,表格是以文件的形式存儲在計算機中,該文件稱作數據庫文件。FoxPro的文件類型有十余種,除數據庫文件外,還有命令文件、索引文件、屏幕文件、文本文件等。在FoxPro中,表格是以文件的形式存92FoxPro文件的文件名:

文件名由主文件名和擴展名兩部分組成,中間用“.”分隔。

主文件名由英文字母、數字、下劃線或漢字組成,最多不超過八個字符(漢字不超過四個);擴展名由三個字符組成。

例如:職員檔案.DBFZYDA.DBF

都是數據庫文件,其中“職員檔案”和“ZYDA”是主文件名,.DBF是擴展名。FoxPro文件的文件名:

文件名由主文件名和擴展名93由表1-1可見,數據庫的結構由兩部分組成,即表頭部分和表體部分。表頭中編號、姓名、性別……稱作字段名,表體由表頭下面那些稱作記錄的行組成,每行是一個記錄。

一個FoxPro數據庫文件最多字段個數≤255,最多記錄個數≤10億。由表1-1可見,數據庫的結構由兩部分組成,即表頭部分和94

FoxPro數據庫文件中的每個字段由三部分組成,即字段名、字段類型和字段寬度。

字段名由字母、漢字、數字或下劃線組成,且必須以字母或漢字打頭,長度不超過10個字符。字段名的字面含義應與該字段對應列的數據含義保持一致。字段名是變量,它可以存儲與其類型一致的數據。

FoxPro數據庫文件中的每個字段由三部分組成,即字95FoxPro的字段類型有七種,即字符型、數值型、浮點型、日期型、邏輯型、備注型和通用型。數據庫每個字段中的數據具有同一類型。

(1)字符型(Character)

字符型字段只能存儲字符型數據,即字符串。表1·1中的編號、姓名、性別、職務等都是字符型字段。字符型字段的最大寬度是254個字符位,即是字符型字段名變量能存儲的最大字符串長度。FoxPro的字段類型有七種,即字符型、數值型、浮點96(2)數值型(Numeric)

數值型字段存儲正、負整數或小數。表1·1中的工資是數值型字段。數值型字段的最大寬度是20位,含整數位、小數位、小數點,如果是負數還包括符號位。數值型字段的有效數字是16位。

(3)浮點型(Float)

FoxPro設計浮點型字段主要是為了與dBASEIV兼容,它與數值型字段功能相同。(2)數值型(Numeric)

數值型字段存儲正、負97(4)日期型(Date)

FoxPro中表示日期的格式有多種,最常用的日期格式為年/月/日,其中年、月、日各占兩位,分隔符“/’’占兩位,所以日期型字段固定寬度是8位。

(5)邏輯型(Logical)

邏輯型字段只能存儲邏輯值.T.或.F.,表1·1中的婚否即是邏輯型字段。邏輯型字段的寬度固定為1。(4)日期型(Date)

FoxPro中表示日期的格98(6)備注型(Memo)

備注型字段又稱記憶型或存儲型,它是一種特殊類型的字段。表1·1中的簡歷就是備注型字段。備注型字段用于存儲大塊數據,FoxPro將備注型字段寬度定義為10,但輸入到備注型字段中的值是存儲在另外一個稱作數據庫明細文件中,備注型字段的實際存儲容量只受磁盤空間大小限制,其存入的實際數據為字符型。(6)備注型(Memo)

備注型字段又稱記憶型或存儲99(7)通用型(General)

通用型字段用于存儲圖片、聲音等數據。只有FoxProforWindows版本可用該字段。通用型字段與備注型字段相似,其寬度由系統定義為10,字段中存儲的圖片、聲音等數據是在另外的數據庫明細文件中。(7)通用型(General)

通用型字段用于存儲圖1001.4常量、變量、運算符與表達式

1.4.1常量常量是指在命令或程序運行過程中保持不變的量。FoxPro有四種類型的常量,即數值型常量、字符型常量、日期型常量和邏輯型常量。1.4常量、變量、運算符與表達式1.4.1常量101☆數值型常量:例如32,126.7,-15,1.68E2等。其中,1.68E2是科學計數法,E表示十進制的基數,E2相當于102,E-3相當于10-3。如:123.5=1.235E2-0.0234=-2.34E-2100=1E2(1E2不能寫成E2)☆數值型常量:102☆字符型常量:用單引號或雙引號定界的字符串。例如:“遼寧省大連市”或‘遼寧省大連市’"ABCDE123"或'ABCDE123'注意:※

空格符是字符型常量,用引號將空格符定界便是一個字符串。

※“156.2”是字符型常量,它與數字156.2截然不同。

※字符型常量可以比較大小,其ASCII碼大者為大。☆字符型常量:103☆日期型常量:日期型常量的格式為{年/月/日},其中,年、月、日分別是兩位數字,花括號表示日期型數據。例如:{96/12/15}{98/06/12}日期型常量也可以是空值,寫作:{//}或{}☆日期型常量:104☆邏輯型常量:FoxPro有兩個邏輯型常量,即真和假,用.T.或.Y.表示真,用.F.或.N.表示假。T,Y,N,F兩邊的圓點“·”不能省略。邏輯值也可以比較大小,FoxPro規定邏輯值.T.大于邏輯值.F.。☆邏輯型常量:105

1.4.2變量

變量是指在命令或程序過程中其值可以改變的量。每個變量在計算機內存中都占用一組存儲單元,變量的值存放在對應的存儲單元中。每個變量都必須有一個名字,稱作變量名。FoxPro通過變量名引用變量的值。1.4.2變量106

FoxPro有兩種變量:內存變量和字段名變量。字段名變量在1.3節已經定義。所謂內存變量是指常駐內存的變量,它由英文字母、數字、下劃線或漢字組成,長度不超過10個字符,且必須以英文字母或漢字打頭。

內存變量有四種類型,即數值型、字符型、日期型和邏輯型。在FoxPro中使用內存變量不需事先定義其類型,內存變量的類型由它接受的數據類型決定。FoxPro有兩種變量:內存變量和字段名變量。107例如:

XM="王云"

RQ={93/12/15}

其中,內存變量XM是字符型,RQ是日期型。這里的符號"="是FoxPro的賦值命令,其含義是將"="號右邊的值賦給左邊的變量。例如:

XM="王云"

RQ={93/108

1.4.3運算符與表達式

FoxPro有四類運算符:算術運算符、關系運算符、邏輯運算符和字符串運算符。1.算術運算符與算術表達式算術運算符有:+,-,*,/,%,**(或^)表示加、減、乘、除、取余和乘方。1.4.3運算符與表達式109算術運算符運算的優先級是:

①**或^

②*,/,%

③+,-

同級運算符的運算順序是自左向右。

算術表達式是指常量、變量和函數用算術運算符(含括號)按一定規則連接起來的表達式。Foxpro中的算術表達式與數學中的數學表達式有相似之處,但又有嚴格的區別。算術運算符運算的優先級是:

①**或^

②*,/,%

110例如:

數學表達式FoxPro的算術表達式

2*x+y**2

2*EXP(2)+(a-b)/(a+b)

3*ABS(x)+SQRT(b*b-1)例如:

數學表達式FoxPro的算術表達式

111

2.關系運算符與關系表達式關系運算符有:>>=<<=<>(或#)=分別稱作大于、大于且等于、小于、小于且等于、不等于、等于$(通配符)==(精確等于)參加關系運算的值可以是數值型、字符型、日期型和邏輯型,但關系運算的結果,即關系表達式的值是邏輯值.T.或.F.。2.關系運算符與關系表達式112例如:5>2的值為.T.

{97/12/11}>{97/12/12}的值為.F.

(6>3)<>(5<2)的值為.T.

比較運算符$與==主要用于字符串比較運算

$運算的模式:

〈字符串1〉$〈字符串2〉

其含義是若“字符串1”包含在“字符串2”中,則運算結果為.T.,否則為.F.。

例如: "AB"$"ABCD"的值為.T.

"大為"$"李大為"的值為.T.

"XY"$"XAY"的值為.F.例如:5>2的值為.T.

{97/12/11}>{97/1113==運算的格式是:

〈字符串1〉==〈字符串2〉

其含義是當左右兩個字符串完全相同時,運算結果為.T.,否則為.F.。

例如:

"abcd"=="abcd"的值為.T.

"abcd"=="abc"的值為.F.==運算的格式是:

〈字符串1〉==〈字符串2〉

其含義114運算符“==”與運算符“=”是有區別的!

例如:

"abcd"=="abc"的值為.F.

"abcd"="abc"的值為.T.

前者兩個字符串比較,只有完全相同時其值才為.T.(通常稱為完全匹配)。后者只要右邊的字符串與左邊字符串的前幾個字符依次相同,其值即為.T.。若執行命令"SETEXACTON"后,運算符=與==完全相同。運算符“==”與運算符“=”是有區別的!

例如:

"abc115“SETEXACT”命令是一個設置FoxPro運行環境命令。它的完整格式是SETEXACTON/OFF,即有ON和OFF兩種狀態,系統默認狀態是OFF

溫馨提示

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

評論

0/150

提交評論