




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
資料庫系統(tǒng)概論
1.1現(xiàn)實世界的數(shù)據(jù)化過程
資訊世界也叫觀念世界,是現(xiàn)實世界在人腦中的反映?,F(xiàn)實世界中的事物和事物特性在資訊世界中分別反映為實體和實體的屬性。人們用概念模型來描述資訊世界。數(shù)據(jù)世界是資訊世界數(shù)據(jù)化後的產(chǎn)物。資訊世界中的實體和屬性在數(shù)據(jù)世界中分別成為記錄和數(shù)據(jù)項。人們用數(shù)據(jù)模型來描述數(shù)據(jù)世界?,F(xiàn)實世界、資訊世界和數(shù)據(jù)世界的關係如圖1-1所示。
圖1-1三個世界的關係
數(shù)據(jù)模型是資料庫系統(tǒng)的核心和基礎。但現(xiàn)實世界只有先抽象為資訊世界,才能進一步轉(zhuǎn)換為數(shù)據(jù)世界。資訊世界的概念模型是不依賴於具體的電腦世界的。因此,概念模型是從現(xiàn)實世界到電腦世界的中間層次。
1.2數(shù)據(jù)管理技術的發(fā)展
1.2.1人工管理階段在硬體方面,電腦的運算速度低、記憶體容量小,外設還沒有磁片等直接存取的存儲設備;在軟體方面,還沒有操作系統(tǒng),沒有管理數(shù)據(jù)的軟體。這一階段的電腦主要用於科學計算,這個時期數(shù)據(jù)管理的特點是:
(1)數(shù)據(jù)不保存。
(2)沒有管理數(shù)據(jù)的軟體系統(tǒng)。
(3)基本上沒有檔概念。
(4)數(shù)據(jù)是面向應用的。
在人工管理階段,上述數(shù)據(jù)與程式關係的特點如圖1-2所示。圖1-2人工管理階段數(shù)據(jù)與程式的關係1.2.2檔系統(tǒng)階段
檔系統(tǒng)管理階段有以下幾個特點:(1)數(shù)據(jù)存在檔中,檔可長期保存在外存。(2)程式和數(shù)據(jù)有了一定的獨立性。(3)檔已多樣化。(4)數(shù)據(jù)的存取基本上以記錄為單位。
在檔系統(tǒng)階段,用戶雖有了一定的方便,但仍有很多缺點。這主要表現(xiàn)在以下兩個方面:
(1)數(shù)據(jù)冗餘度大。
(2)數(shù)據(jù)和程式缺乏獨立性。檔之間是孤立的、不能反映現(xiàn)實世界中事物之間的內(nèi)在聯(lián)繫。在檔系統(tǒng)階段,數(shù)據(jù)與程式的關係如圖1-3所示。
圖1-3檔系統(tǒng)階段數(shù)據(jù)與程式的關係
1.2.3資料庫系統(tǒng)階段
20世紀60年代後期,電腦硬體、軟體有了進一步的發(fā)展。資料庫系統(tǒng)(DataBaseSystem)指在電腦系統(tǒng)中引入資料庫後的系統(tǒng)構成,由電腦硬體、操作系統(tǒng)、資料庫管理系統(tǒng)、資料庫、應用程式和用戶、資料庫管理人員等組成。
1.資料庫(DataBase)
資料庫是存儲在電腦系統(tǒng)內(nèi)的、有結構的數(shù)據(jù)的集合。2.資料庫管理系統(tǒng)(DBMS:DataBaseManagementSystem)
資料庫管理系統(tǒng)是資料庫系統(tǒng)中管理資料庫的系統(tǒng)軟體。它是在操作系統(tǒng)支持下進行工作的,它為用戶提供了一整套命令。資料庫管理系統(tǒng)中,程式與數(shù)據(jù)的關係如圖1-4所示。圖1-4資料庫系統(tǒng)階段數(shù)據(jù)與程式的關係
1.3概念模型與數(shù)據(jù)模型
1.3.1概念模型概念模型中的基本內(nèi)容是實體(Entity)。實體是客觀事物的反映,既可以是實際存在的對象,也可以是某種概念。事物是有特性的。概念模型中,任一實體在任一屬性上的取值都是有限制的。
所有屬性名完全相同的實體往往集合在一起,稱為實體集(EntityUnit)。
1.3.2實體之間的關聯(lián)
1.一對一聯(lián)繫(1∶1)
對實體集A中的每一個實體,若實體集B中至多有一個實體與之聯(lián)繫,反之亦然,則稱實體集A與B是一對一聯(lián)繫的,見圖1-5(a)。圖1-5兩個實體型之間的聯(lián)繫
2.一對多聯(lián)繫(1∶n)
對A中的每一實體,若B中可有多個實體與之聯(lián)繫;但對B中的每一實體,A中最多有一個實體與之聯(lián)繫,則稱A與B是一對多聯(lián)繫的,見圖1-5(b)。
3.多對多聯(lián)繫(m∶n)
對A中的每一實體,若B中可有多個實體與之聯(lián)繫,反之亦然,則稱A與B是多對多聯(lián)繫的,見圖1-5(c)。同一實體集內(nèi)的各實體之間也可有某種聯(lián)繫。例如,場上隊長與隊員之間為一對多的聯(lián)繫,可用圖1-6表示。圖1-6同一實體集內(nèi)一對多聯(lián)繫
1.3.3概念模型的表示方法——E-R圖概念模型的常用表示方法是實體—聯(lián)繫法(Entity-RelationshipApproach),即E-R圖。在E-R圖中,用長方形表示實體,橢圓表示屬性,並用無向邊把實體與其屬性連接起來。形表示實體間的聯(lián)繫,用無向邊把菱形與有關實體連接起來並在無向邊旁標上聯(lián)系的類型;若聯(lián)繫具有屬性,則也把屬性與菱形用無向邊相連。例如,教師和課程之間關係的E-R圖如圖1-7所示。圖1-7教師和課程關係的E-R圖E-R圖表示的概念模型既不涉及具體的數(shù)據(jù)模型,又是各種數(shù)據(jù)模型的基礎。E-R方法是抽象和描述現(xiàn)實世界的有力工具。圖1-8給出了學校教務管理的E-R圖。圖1-8教務管理E-R圖
1.3.4三種主要的數(shù)據(jù)模型數(shù)據(jù)模型是資料庫系統(tǒng)的核心和基礎,不同的資料庫管理系統(tǒng)支持不同類型的數(shù)據(jù)模型。當前實際資料庫管理系統(tǒng)所支持的主要數(shù)據(jù)模型有:層次模型(HierarchicalModel)、網(wǎng)狀模型(NetworkModel)和關係模型(RelationalModel)。
1.基本層次聯(lián)繫非關係模型的數(shù)據(jù)結構可以分解為基本層次聯(lián)繫。兩個記錄型及它們之間的一對多(一對一)的聯(lián)繫稱為基本層次聯(lián)繫,如圖1-9所示。圖中,R1稱為父記錄,R2稱為子記錄。
圖1-9基本層次結構
2.層次模型若一個基本層次聯(lián)繫的集合滿足下列兩條件,則它是層次模型:
①有且僅有一個結點無父結點,這樣的結點稱為根結點。
②非根結點都有且僅有一個父結點。層次模型是一棵樹。圖1-10是一個層次模型。在層次模型中,一個結點可以有幾個子結點,也可以沒有子結點。前一種情況下,這幾個子結點稱為兄弟結點;後一情況下,該結點稱為葉結點。
圖1-10一個層次模型
3.網(wǎng)狀模型若一個基本層次聯(lián)繫集合中,至少有一個結點有一個以上的父結點,則這種數(shù)據(jù)模型是網(wǎng)狀模型。網(wǎng)狀模型還可能有的兩個特點是:
①可能有一個以上的結點,無父結點。
②結點與其父結點之間的聯(lián)繫可能不止一個。圖1-11的(a)、(b)、(c)給出的數(shù)據(jù)模型都是網(wǎng)狀模型。
圖1-11網(wǎng)狀模型
4.關係模型關係模型是最遲出現(xiàn)的,也是最重要的數(shù)據(jù)模型。當前廣泛應用的資料庫管理系統(tǒng)幾乎都是支持關係模型的,被稱為關係型資料庫管理系統(tǒng)(RelationalDataBaseManagementSystem),即RDBMS。在關係模型中,用二維表表示實體及其相互聯(lián)繫。但對表的構成形式是有一定限制的。圖1-12的表是一個關係模型。職工號姓名性別部門工資1002100410051010胡一民王愛民張小花宋文彬男男女男技術科車間設計所技術科75.00128.35112.2786.94
圖1-12一個關係模型:職工
關係模型對二維表的限制是:
①表中每一列都必須是不可分的基本項。如圖1-13的情況是不允許的。
②表中沒有完全相同的兩個元組。
③在一個關係模式中,不能有兩個屬性具有相同的屬性名。
④在一個關係模式中,屬性間的順序和元組間的順序都是無關緊要的。工資級別工資基本工資補貼工資………
圖1-13不允許的表
1.4數(shù)據(jù)庫系統(tǒng)
1.4.1資料庫系統(tǒng)的三級模式結構實際的資料庫系統(tǒng)是多種多樣的,但一般都具有三級模式的結構特徵。資料庫系統(tǒng)的三級模式結構是外模式、模式和內(nèi)模式,如圖1-14所示。圖1-14資料庫系統(tǒng)的三級模式1.模式模式也稱概念模式,是資料庫中的數(shù)據(jù)在邏輯級上的視圖。安全性主要指保密性。完整性包括數(shù)據(jù)的正確性、有效性和相容性。模式不是資料庫本身,它僅僅描述資料庫結構。資料庫管理系統(tǒng)提供模式描述語言(模式DDL)來定義模式。
2.外模式外模式也稱子模式,是個別用戶的數(shù)據(jù)視圖,即個別用戶涉及到的資料庫的局部邏輯結構。外模式是模式的子集。不同用戶的外模式是不同的(可互相覆蓋)。一個應用程式只能啟用一個外模式,一個外模式可被同一用戶的若干應用程式使用。資料庫管理系統(tǒng)提供外模式描述語言(外模式DDL)描述外模式。用外模式DDL給出的,用以定義一個用戶數(shù)據(jù)視圖的全部語句稱為此用戶的外模式。
3.內(nèi)模式內(nèi)模式也稱存儲模式。它既定義了資料庫中全部數(shù)據(jù)的物理結構,還定義了數(shù)據(jù)的存儲方法、存取策略等。通常,用內(nèi)模式描述語言(內(nèi)模式DDL)來描述和定義內(nèi)模式。
4.二級映像在模式與內(nèi)模式之間通過模式/內(nèi)模式映像進行轉(zhuǎn)換。當資料庫的存儲結構改變時,只要相應改變模式/內(nèi)模式映像,可使模式保持不變。
5.資料庫管理系統(tǒng)(DBMS)DBMS是資料庫系統(tǒng)的關鍵內(nèi)容。
DBMS的主要功能是:
(1)資料庫的定義、建立和維護功能。
(2)數(shù)據(jù)存取功能。
(3)資料庫運行管理功能。
1.4.2用戶訪問資料庫的過程
實際資料庫系統(tǒng)的情況是互不相同的;實際資料庫系統(tǒng)所使用的術語也是有差別的。在理論講述上,各種教材、各篇文章所使用的術語名稱也是不統(tǒng)一的,這需要讀者在使用時進行比較理解。為使讀者對數(shù)據(jù)庫系統(tǒng)的工作有一個整體概念,我們介紹一下訪問資料庫數(shù)據(jù)的主要步驟,該過程如圖1-15所示。
圖1-15訪問資料庫的主要步驟
2.1FoxPro2.6基礎知識
2.1.1FoxPro2.6的系統(tǒng)組成
FoxPro本身是一個龐大的系統(tǒng)軟體,它包含有大量的檔,這些檔稱為FoxPro的系統(tǒng)檔。在使用FoxPro之前,必須把它的系統(tǒng)檔全部按規(guī)定安裝到硬碟上。用戶利用FoxPro可建立多種類型的用戶檔,從而構成用戶的資料庫系統(tǒng)。
2.1.2FoxPro檔案名的一般形式
利用FoxPro建立的各類檔都是磁片檔,需要時才調(diào)入記憶體使用。FoxPro根據(jù)用戶提供的檔案名,對指定磁片上的指定檔進行各種操作。
1.檔案名
FoxPro是在操作系統(tǒng)支持下對檔進行管理的,因此,對檔案名的規(guī)定與操作系統(tǒng)相同。在FoxPro中,一個檔案名由兩部分組成:一是檔案名本身;另一是擴展名(也稱尾碼)。其一般形式為檔案名.擴展名
2.對檔案名的一些規(guī)定
FoxPro規(guī)定,檔案名本身必須是以漢字或英文字母或數(shù)字開頭的字串,且最多可由8個字元組成(一個漢字按兩個字元計算)。在這串字元中,可以有漢字、英文字母、十進位數(shù)符和下劃線,但不能有空格等其他符號。擴展名部分最多由3個字元組成。它不僅是檔案名的一部分,而且可用來區(qū)分檔的類型。2.2FoxPro資料庫檔(DatabaseFile)
在FoxPro的各類用戶檔中,資料庫檔是最基本的檔,簡稱庫檔。庫檔存放的是關係,關係又稱為表(Table)。由於FoxPro的每個庫檔中只能存放一個表,因此庫檔案名即為表名,庫檔也稱為表。為了方便起見,本書以後只採用庫檔這一稱呼。表
2—1是電腦輸出的一個實際庫檔,它的檔案名為“職工DBF”。2.2.1資料庫檔的檔案名;
在FoxPro中,系統(tǒng)提供的庫檔案名的格式為;
檔案名DBF
“DBF”是系統(tǒng)默認的庫檔案名的擴展名,是庫檔的標誌。如果用戶不採用系統(tǒng)默認的擴展名,則必須明確聲明。;2.2.2記錄、字段、字段變數(shù)和字段值
1字段、字段名、字段值簡介2記錄3字段變數(shù)、字段變數(shù)名和字段變數(shù)值4字段名5字段寬度6記錄號
2.23字段的六種基本類型
一個字段的類型就是指其字段值的類型。;
不同類型的數(shù)據(jù)在記憶體中的存儲方法是不同的,而且不同類型的數(shù)據(jù)所能進行的運算也是不同的。
FoxPro有六種基本的字段類型。它們是:數(shù)字型字段(N型),浮點型字段(F型),日期型字段(D型),邏輯型字段(L型),字元型字段(C型)和記憶型字段(M型)。
1數(shù)字型字段(NumericField);2浮點型字段(FloatField)3日期型字段(DateField);4邏輯型字段(LogicalField)5字元型字段(CharacterField);6記憶型字段(Memo)
2.24各類字段數(shù)據(jù)的存放形式
各類字段數(shù)據(jù)在庫檔中的存放形式如下:;
對於數(shù)字型字段,若數(shù)據(jù)的實際寬度不足字段定義寬度,則系統(tǒng)在數(shù)據(jù)左邊填以空格補齊。對於浮點型字段,其數(shù)據(jù)的存放形式與數(shù)字型字段是完全相同的。;
對於字元型字段,若實際數(shù)據(jù)寬度小於字段定義寬度,系統(tǒng)在該值右邊填以空格補齊。其他三種字段的寬度都是系統(tǒng)固定的,在列表時,也都採取左對齊原則。其中的記憶型字段,若無特殊說明,僅顯示“Memo”(無數(shù)據(jù)時,僅顯示“memo”)。這些都在表2—1上得到了反映。;
2.3FoxPro的引導過程
FoxPro有兩個版本:FoxPro2.6forMS—DOS和FoxPro2.6forWindows。前者適用於MS—DOS操作系統(tǒng)環(huán)境,後者適用於Windows環(huán)境,互相不能替代。從功能上講,後者比前者豐富,但它們的基本功能是相同的。本節(jié)分別介紹兩者的引導過程。讀者可根據(jù)自己使用的版本學習相應內(nèi)容。
2.3.1FoxPro2.6forMS—DOS的引導過程
FoxPro2.6forMS—DOS的整個引導過程可分為三步:
①啟動操作系統(tǒng);
②使默認盤為C盤,並使FoxPro系統(tǒng)在可調(diào)用子目錄下;
③鍵入F、O、X三鍵並按回車鍵,系統(tǒng)就開始啟動FoxPro。若啟動成功,則螢幕顯示如圖2—1。
圖2—1FoxPro2.6forMS—DOS初始螢幕
螢幕中,第一行顯示的是系統(tǒng)主菜單,中間是一個名為Command(命令)的命令窗口。用戶可在命令窗口中鍵入任何FoxPro命令。下麵介紹幾個有用的術語:
(1)窗口(Window)。
(2)菜單(Menu)。
(3)桌面(Desktop)。
2.3.2FoxPro2.6forWindows的引導過程
FoxPro2.6forWindows的整個引導過程可分為四步:①啟動DOS;
②在DOS命令提示符下,鍵入win,啟動Windows;
③若程式管理器窗未打開,雙擊程式管理器圖符,打開程式管理器窗。
④啟動FoxPro2.6forWindows:在程式管理器窗內(nèi),有一個代表著FoxPro2.6forWindows程式組的小狐貍圖符,雙擊它就可啟動該圖符,就可打開FoxPro主窗口,表明啟動成功,已進入FoxPro2.6forWindows系統(tǒng)。此時螢幕如圖2—2所示。
圖2—2FoxPro2.6forWindows初始螢幕
3.1資料庫檔的建立3.1.1幾個常用符號的約定本書使用了幾個常用符號,這些符號的含義約定如下:(1)〈〉:必選參數(shù)表示符。由這一對符號括起的部分是用戶必須要提供的參數(shù),但不要輸入這對表示符本身。
(2)[]:任選參數(shù)表示符。由這一對符號括起的部分由用戶決定是否選擇可以選,也可以不選。括起的部分也稱作選擇項或可選項,但不包括這對表示符本身。(3)/:二選一表示符。表示用戶可從本符號左右兩項中選擇一項。
3.1.2改變默認盤和當前路徑命令—
—SETDEFAULTTO
剛引入FoxPro時,F(xiàn)oxPro所在盤為默認盤,所在目錄為當前目錄。本命令可改變默認盤和當前目錄。命令格式:SETDEFAULTTO[〈字元運算式〉]其中,〈字元運算式〉可以是盤號、盤號與目錄名、子目錄名、DOS中路徑符\或。
3.1.3資料庫檔結構的建立命令——CREATE
定義庫檔的檔案名和每個字段的字段名、字段類型、字段寬度的工作稱為建立庫檔的結構。建立庫檔結構的命令為CREATE。命令格式:CREATE[〈檔案名〉/?]
CREATE命令的功能為:定義一個資料庫檔的結構,並把該檔存入到磁片目錄中去。所建檔的檔案名由命令給定:若缺省盤號,所建庫檔將存入默認盤若缺省擴展名,系統(tǒng)默認其擴展名為DBF。下麵介紹建立庫檔“職工DBF”結構的步驟:①啟動電腦,使系統(tǒng)處於FoxPro命令狀態(tài)。②把數(shù)據(jù)盤插入A驅(qū)動器。③設置A盤為默認盤。鍵入命令:SETDEFAULTTOA④建立“職工DBF”庫檔,鍵入命令:CREATE職工系統(tǒng)開始建立庫檔“職工DBF”。螢幕顯示如圖3—1所示。
圖3—1CREATE命令對應的螢幕
游標在Name下,等待用戶輸入第一字段的字段名,我們鍵入“職工號”。按回車鍵後,游標移至Type下,用戶可直接按表示所選類型的字母:N、F、D、L、C、M;也可按空格鍵。此時,在類型下出現(xiàn)一個小菜單,內(nèi)容為各字段類型,用上、下箭頭鍵移動游標到所需類型,再按回車鍵即選中該類型。對於本字段來說,我們選擇數(shù)字型(Numeric),游標自動移到Width下,按計畫鍵入寬度值——6。按回車鍵後,游標移到Dec下。由於該字段無小數(shù),直接按回車鍵(也可鍵入零後,再按回車鍵)。此時,第一字段已定義完畢,游標轉(zhuǎn)向第二字段,等待用戶定義。
以下各字段的定義步驟與定義第一字段相似,只是對於日期型、邏輯型和記憶型字段不要求用戶輸入寬度值對於非數(shù)字型字段,也不要求輸入小數(shù)寬度。
3.1.4打開資料庫檔操作命令——USE
要使用一個庫檔,必須先打開之。打開庫檔的命令為USE。
USE命令基本格式:USE〈庫檔案名〉若缺省了庫檔案名的擴展名,系統(tǒng)默認為DBF。執(zhí)行了本命令後,命令中所指庫檔即被打開,同時也關閉掉原來打開的庫檔。如果該庫檔有記憶型字段,則同時打開與庫檔同名、擴展名為.FPT的記憶檔。
3.1.5命令的注釋——&&子句
在命令的後面,可用&&〈注釋內(nèi)容〉子句為其注釋。系統(tǒng)不執(zhí)行&&子句,它僅供用戶閱讀用。&&與前面的內(nèi)容之間必須有空格分隔。
3.1.6記錄指針及其操作命令——GO、SKIP
打開一個庫檔後,系統(tǒng)立即給這個庫檔提供一個記錄指針,簡稱指針。指針裏存放的是一個十進位數(shù),如5、81等。它是某個記錄的記錄號,這時表明記錄指針指向了這個記錄,而這個記錄也被稱為當前記錄。若記錄指針為52,則說明記錄號為52的記錄為當前記錄。在剛打開一個庫檔時,記錄指針指向首記錄。
對數(shù)據(jù)庫檔的操作是以當前記錄為基準的。在執(zhí)行某些命令時,會自動改變當前記錄。在這裏,我們首先介紹專門用於改變當前記錄的兩條命令,這就是移動指針命令。
1.指針的絕對移動命令——GO、GOTO2.指針的相對移動命令——SKIP
3.1.7追加記錄操作命令——APPEND
命令格式:APPEND[BLANK]功能:在庫檔的尾部加入新記錄。當庫檔中已有n個記錄時,新記錄號為n+1。此命令執(zhí)行步驟如下:①令指針內(nèi)容為最大記錄號加1。
②若命令中有選擇項BLANK,則當前記錄為空記錄,命令執(zhí)行完畢,增加了1個空記錄,系統(tǒng)回到FoxPro命令狀態(tài)(仍在命令窗口下)若命令中無選擇項BLANK,則繼續(xù)執(zhí)行步驟③。③在螢幕上打開一個編輯窗口。在編輯窗口,豎式顯示庫檔的記錄結構,游標停在第一字段處,等待用戶逐個字段地輸入本記錄內(nèi)容。以“職工DBF”庫檔為例,現(xiàn)欲對其追加新記錄,則在命令窗口中打入如下兩條命令:USE職工
APPEND
執(zhí)行後,在螢幕中開出一編輯窗口,內(nèi)容如圖3—2,等待用戶為新記錄輸入內(nèi)容。
圖3—2執(zhí)行APPEND命令後的編輯窗口
當輸入的某字段數(shù)據(jù)與該字段不符時(類型不符、超過記錄範圍等),系統(tǒng)拒絕接受,並響鈴提醒用戶重新輸入。當游標在記憶型字段時,若不想輸入數(shù)據(jù),按回車鍵把游標下移一字段(按“↓”鍵也可)。若要輸入數(shù)據(jù),由於記憶型字段數(shù)據(jù)實際存儲在與庫檔同名、擴展名為“FPT”的記憶檔中,因此,必須先按^PgDn控制鍵。按下^PgDn控制鍵後,系統(tǒng)立即在螢幕上覆蓋一個編輯記憶型字段的窗口。用戶在該窗口中為該記憶型字段輸入內(nèi)容。記憶型字段內(nèi)容輸入完畢後,用^W控制鍵結束之。系統(tǒng)把輸入的數(shù)據(jù)存入記憶檔,取消編輯記憶型字段窗口,恢復原編輯窗口。本記錄數(shù)據(jù)輸入完後,記錄指針
內(nèi)容自動加1,在編輯窗口上又出現(xiàn)當前記錄結構,等待用戶繼續(xù)追加下一記錄內(nèi)容。在追加記錄中,用戶可用PgUp、PgDn控制鍵上、下翻動記錄。全部記錄追加完畢後,用^W或^End控制鍵結束APPEND命令。此時,編輯窗口被撤銷,系統(tǒng)又回到命令窗口。(注意,必須執(zhí)行關閉庫檔操作,磁片上的該庫檔才包含新追加的內(nèi)容,見本章3.110節(jié)。)
對於C型和M型字段來說,輸入的英文大、小寫字母是不等價的。
3.1.8記錄的插入操作命令——INSERT
插入記錄操作可分為兩步:首先,把記錄指針移到所需位置然後,在此位置插入一記錄。這裏,只介紹插入記錄命令INSERT。命令格式:INSERT[BLANK][BEFORE]當無BEFORE任選項時,在當前記錄後插入新記錄若有BEFORE,則記錄插在當前記錄前,且指針指向插入記錄。
當有BLANK任選項時,系統(tǒng)自動在規(guī)定位置插入一空記錄,命令執(zhí)行完畢當無BLANK時,系統(tǒng)在螢幕上開出編輯窗口(形式與APPEND的窗口相同),等待用戶輸入記錄內(nèi)容。
INSERT命令可以插入多條記錄,插入完畢後,用^W或^End控制鍵結束本次INSERT命令。
3.1.9給當前打開庫檔追加記錄命令
——APPENDFROM
本命令使系統(tǒng)自動從一指定庫檔中讀出一些記錄,並追加到當前打開庫檔中。命令基本格式:APPENDFROM〈庫檔案名〉/?[FIELDS〈字段名清單][FOR〈條件〉]其中的〈庫檔案名〉為讀出數(shù)據(jù)的庫檔,也稱原始檔案,默認擴展名為DBF。被追加記錄的庫檔是當前打開庫檔,也稱目的庫檔。
其中,FOR〈條件〉項,簡稱條件項,將在本章4.4節(jié)仲介紹。若目的庫檔中某字段的寬度小於源庫檔對應字段的寬度,讀入數(shù)據(jù)時,字符型字段超長部分被截去,數(shù)字型字段只加入一串“*”。
FIELDS〈字段名清單〉項,簡稱字段名清單,將在本章4.4節(jié)仲介紹。
3.1.10關閉資料庫檔操作命令——USE
在內(nèi)存中的被打開庫檔可能受到了各種修改,如用APPEND命令追加了記錄,用INSERT命令插入了記錄等,但磁片上的這個庫檔並未同時得到修改,關閉檔意味著用新修改過的檔去替換磁片上的原文件。因此,對打開庫檔進行了修改操作後,必須執(zhí)行關閉操作。關閉檔的命令也是USE。命令格式:USE
執(zhí)行了此命令後,打開的庫檔將從記憶體中消失。注意,USE〈庫檔〉命令,在打開命令中指定的庫檔時,也關閉了原打開庫檔。
3.1.11決定查詢技術命令——SETOPTIMIZE
命令格式:SETOPTIMIZEON/OFF
功能:此命令決定,在進行數(shù)據(jù)查詢時,是否使用Rushmore優(yōu)化技術。OPTIMIZE為ON時,使用優(yōu)化技術為OFF時,不使用。
Rushmore是FoxPro使用的一種優(yōu)化查詢技術。該技術大致為:執(zhí)行一使用Rushmore技術的命令時,首先選出滿足FOR條件的所有記錄,然後再處理這些記錄,從而改善處理性能。在OPTIMIZE為ON情況下,若命令中選用NOOPITIMIZE項,也不使用Rushmore技術。
可使用Rushmore技術改善性能的命令有:AVERAGECOUNTLABELSCANBROWSEDELETELISTSORTCALCULATEDISPLAYLOCATESUMCHANGEEDITRECALLTOTALCOPYTOEXPORTREPLACECOPYTOARRAYINDEXREPORT
3.2資料庫檔內(nèi)容的輸出
3.2.1列表輸出命令——LIST
利用LIST命令,可以輸出庫檔的結構和記錄內(nèi)容。
1.輸出庫檔結構命令格式:LISTSTRUCTURE[TOFILE〈檔案名〉/TOPRINTER][NOCONSOLE]此命令用來輸出打開庫檔的結構。有任選項“TOFILE〈檔案名〉”時,庫檔結構將輸出到對應的磁片檔保存有任選項“TOPRINTER”時,將輸出到印表機列印。有任選項“NOCONSOLE”時,輸出內(nèi)容將不在螢幕
桌面顯示否則,將在螢幕桌面顯示。例1
輸出“職工DBF”庫結構。
USE職工
LISTSTRUCTURETOPRINTER
這個結果除列出了該庫檔結構外,還在前部給出了:庫檔案名、已有記錄個數(shù)、最後更改日期及記憶檔的大小(需乘512)。在最後一行上給出記錄寬度。這個寬度比各字段寬度總和還多1。這個位元組是系統(tǒng)自動在每個記錄的最前部增加的,用來存放刪除標記“*”(見第4章4.2節(jié))。
2.輸出記錄內(nèi)容命令格式:LIST[OFF][〈範圍〉][[FIELDS]〈字段名清單〉][FOR〈條件1〉][WHILE〈條件2〉][TOPRINTER/TOFILE〈檔案名〉][NOCONSOLE][NOOPTIMIZE]無OFF任選項,則同時列出記錄號否則,不列出記錄號。範圍任選項缺省時,表示輸出全部記錄。字段名清單任選項缺省時,輸出全部字段否則,輸出所列字段值。
條件任選項缺省時,輸出範圍內(nèi)的全部記錄。
NOOPTIMIZE任選項:有此項時,不使用優(yōu)化查詢技術否則,使用。
例2
鍵入以下兩條命令:USE職工
LIST
後,在顯示器桌面上的輸出如表2—1所示。
例3
鍵入以下兩條命令:USE職工
LIST職工號,姓名,簡歷在顯示器桌面上的輸出如表2—2,記憶型字段內(nèi)容也實際輸出。採用LIST命令輸出內(nèi)容時,將把輸出內(nèi)容全部逐行輸出。
3.2.2分頁列表輸出命令——DISPLAY
與LIST命令相對應,DISPLAY也有兩種格式:(1)DISPLAYSTRUCTURE
[TOFILE〈檔案名〉/TOPRINTER][NOCONSOLE]
(2)DISPLAY[OFF][〈範圍〉][[FIELDS]〈字段名清單〉][FOR〈條件1〉][WHILE〈條件2〉][TOPRINTER/TOFILE〈檔案名][NOCONSOLE][NOOPTIMIZE]DISPLAY命令與LIST命令的功能完全相同,在使用時僅有兩點差別:①DISPLAY命令分頁顯示整個內(nèi)容。用戶看清一頁後,按任一鍵,系統(tǒng)就顯示下一頁內(nèi)容,直至全部頁顯示完畢。
②當命令中缺省“範圍”和“條件”項時,DISPLAY命令只輸出當前記錄內(nèi)容。3.3FoxPro的有關語法規(guī)定
3.3.1命令的一般形式
FoxPro的命令很多,各有不同的功能和形式。但其中很多命令都具有一種類似的形式,稱為命令的一般形式。為了便於以後的講述,我們在此介紹這種一般形式。以後在介紹具體命令時,凡與一般形式意義相同的部分不再贅述。FoxPro命令的一般形式為:
命令字[〈範圍〉][〈運算式清單〉][FOR〈條件1〉][WHILE〈條件2〉]1.命令字所有的命令都有一個命令字,這個命令字決定了此命令的性質(zhì)。命令字是一個英文動詞,它表達了該命令所要執(zhí)行的操作。我們已經(jīng)介紹過的命令字有:USE、CREATE、APPEND、LIST和DISPLAY等。
2.FOR〈條件〉和WHILE〈條件〉項〈條件〉是一個返回值為邏輯型的運算式,如:工資<100,姓名=“王一民”。寫成條件項為:FOR工資<100,WHILE姓名=“王一民”等,用FOR或WHILE開始均可。
條件項的含義為:只對那些使運算式返回值為真(.T.)的記錄進行命令規(guī)定的操作。
3.範圍項範圍任選項指出了命令所作用的記錄範圍,其值可有如下五種選擇:ALL——範圍為庫檔中所有記錄。
NEXTn——範圍為從當前記錄開始的n個記錄,n是一個具體的十進位數(shù)。
RECORDn——範圍僅為第n號記錄。
REST——範圍為從當前記錄開始直到檔結束的
所有記錄。缺省——若條件項同時缺省,不同命令有不同含義,或等價於ALL,或僅作用於當前記錄。條件項以FOR開始時,將對範圍內(nèi)符合條件的所有記錄進行操作條件項以WHILE開始時,只要碰到一個不符合條件的記錄,不管剩下的範圍內(nèi)是否還有符合條件的記錄,都停止繼續(xù)執(zhí)行命令。4.運算式清單
命令字必須是一條命令的第一項,而各任選項的順序可任意排列。一條命令的各部分之間必須有空格(FOR/WHILE與“條件”之間也必須有空格),但空格個數(shù)不限。一條命令的總長度(包括命令中的所有空格)不能超過254個字元(一個漢字以兩個字元計算)。3.3.2記憶體變數(shù)與常量在FoxPro中,除了字段變數(shù)外,還有一種變數(shù),它存在於記憶體之中,獨立於資料庫檔,稱為記憶體變數(shù)。退出FoxPro時,記憶體中的所有記憶體變數(shù)都將消失,不自動保存到磁片上。基本記憶體變數(shù)有字元型、數(shù)字型、日期型、邏輯型和螢幕型五種,沒有記憶型記憶體變數(shù)。
FoxPro還可建立記憶體變數(shù)數(shù)組,詳見第6章。
FoxPro允許用戶最多定義3600個記憶體變數(shù)同時存放在記憶體中。
用戶可直接用記憶體變數(shù)名對內(nèi)存變數(shù)進行訪問。但若記憶體變數(shù)名與某字段變數(shù)名相同時,必須用如下格式訪問:M->〈記憶體變數(shù)名〉或M〈記憶體變數(shù)名〉
1.定義記憶體變數(shù)的兩種基本方法記憶體變數(shù)必須先定義後使用。FoxPro中,有兩種最基本的定義記憶體變數(shù)法,它們是:(1)STORE〈運算式〉TO〈記憶體變數(shù)名清單〉
(2)〈記憶體變數(shù)名〉=〈運算式〉格式(1)的功能是把語句中表達式的值賦給〈記憶體
變數(shù)名清單〉中的所有記憶體變數(shù)格式(2)的功能是把等號右邊〈運算式〉的值賦給等號左邊的一個記憶體變數(shù)。例1
STORE245TOA,B,C
執(zhí)行了這個命令,記憶體變數(shù)A、B、C中的值均是245。例2
X=10X=X+1
兩條命令執(zhí)行後,記憶體變數(shù)X的值為11。
2.常量的處理定義記憶體變數(shù)時,如果把常量賦值給記憶體變數(shù),系統(tǒng)對常量的表示法有一些規(guī)定。
(1)數(shù)字型常量可直接使用。
例.3X=236(2)字元型常量必須用單引號、雙引號或方括號括起,這些符號總稱為字元括弧。在漢字FoxPro中,在其他地方使用字串常量時,一般也都需要用字符括弧括起。
例.4Y=“工程師A”(3)邏輯型常量必須用英文句點括起。
例.5
Z=T(4)日期型常量用花括弧括起。
例.6STORE{12/25/92}TOXMAS
日期型常量也可用CTOD函數(shù),詳見3.34節(jié),這裏只給出形式:D=CTOD(“11/12/93”)
3.輸出記憶體變數(shù)的值最簡單的輸出記憶體變數(shù)值的命令是?和???;久罡袷??/??〈運算式〉[AT〈數(shù)字運算式〉]此兩命令均為輸出命令,輸出命令中〈運算式〉的值。用“?”命令時,在輸出運算式值前首先執(zhí)行一次回車換行使用“??”,則直接輸出。使用[AT〈數(shù)字運算式〉]任選項時,該數(shù)字運算式的值決定輸出的起始列號。
3.3.3運算式
任何一個字段變數(shù)、記憶體變數(shù)、常量或函數(shù)都是運算式,用操作符把運算式正確連接起來的式子也是運算式。運算式值的類型稱為運算式的類型。運算式的類型與所含變數(shù)的類型有關,但還與所進行的操作有關。變數(shù)的類型不同,所能進行的操作也不同。
FoxPro提供數(shù)字型、關係型、邏輯型和字串型等四類運算。
1.數(shù)字型運算這類運算共有以下七種操作:(1)加法:+(單目運算時為“正”)
(2)減法:-(單目運算時為“負”)(3)乘法:*
(4)除法:/(5)〖WB〗取模(餘數(shù)):%〖DW〗格式:〈數(shù)字運算式1〉%〈數(shù)字運算式2〉〈數(shù)字運算式1〉為被除數(shù),〈數(shù)字運算式2〉為除數(shù)。此操作結果為兩數(shù)相除的餘數(shù)。被除數(shù)的小數(shù)位數(shù)決定了結果中的小數(shù)位數(shù)。除數(shù)值為正,結果為正除數(shù)值為負,結果為負。除數(shù)不能為零。(6)指數(shù):**或^
(7)括弧:()
數(shù)字型運算的運算順序:①括?、趩文窟\算③指數(shù)運算④乘除取模運算⑤加減運算。
2.關係型運算關係型操作用於比較兩個同類運算式(非邏輯型),結果是個邏輯值。這類運算有以下六種操作:
(1)小於:<(2)大於:>(3)等於:=
(4)不等:<>或用#
(5)小於等於:<=
(6)大於等於:>=
3.邏輯型運算這類運算共有以下四種操作:
(1)邏輯與:AND
(2)邏輯或:OR(3)邏輯非:NOT
(4)括弧:()
邏輯型運算的運算結果是邏輯值。邏輯型運算的運算順序:①括?、诜沁\算③與運算④或運算。4.字串型運算字串型運算包括兩類操作。
(1)字串連接運算:+、-+運算是把兩個字串串接起來,形成一個新的字串。-運算也是把兩個字串串接起來,形成一個新的字串。但在-(減)運算時,前一字串若有尾部空格,則把尾部空格移到新字串的尾部。如:“最後”+“結果”得:“最後結果”“最後”-“結果”得:“最後結果”
3.3.4基本函數(shù)
FoxPro提供了很多函數(shù)。本節(jié)只介紹一些基本函數(shù),其他見本書參考文獻[3]。
1.算術運算函數(shù)
(1)ABS——絕對值函數(shù)格式:ABS(〈數(shù)字運算式〉)ABS函數(shù)給出〈數(shù)字運算式〉值的絕對值。
(2)FV——零存整取函數(shù)
(3)INT——取整函數(shù)
(4)MAX——最大值函數(shù)(5)MIN——最小值函數(shù)
(6)MOD()——求模(餘數(shù))函數(shù)
(7)PI——π函數(shù)
(8)RAND——亂數(shù)函數(shù)
(9)ROUND——四捨五入函數(shù)
(10)SIGN——符號函數(shù)
(11)SQRT——平方根函數(shù)
2.字元運算函數(shù)
(1)&——宏代換函數(shù)
(2)AT——子串尋找函數(shù)(3)LEFT——左子串函數(shù)(4)LEN——字串長度函數(shù)(5)LOWER——變小寫函數(shù)(6)LTRIM——刪除頭部空格函數(shù)(7)PROPER——首字元大寫函數(shù)(8)RIGHT——尾子串函數(shù)(9)SPACE——空格函數(shù)(10)SUBSTR——子串函數(shù)(11)TRIM——去尾部空格函數(shù)(12)UPPER——變大寫函數(shù)3.日期和時間函數(shù)(1)DATE——系統(tǒng)日期函數(shù)(2)CMONTH——月份名函數(shù)(3)MONTH——月份函數(shù)(4)CDOW/DOW——星期幾函數(shù)(5)DAY——日期函數(shù)(6)YEAR——年函數(shù)4.轉(zhuǎn)換函數(shù)(1)ASC——求ASCII碼函數(shù)(2)CHR——求字元函數(shù)(3)CTOD——字元型轉(zhuǎn)換成日期型函數(shù)(4)DTOC——日期型轉(zhuǎn)換成字元型函數(shù)(5)STR——數(shù)字型轉(zhuǎn)換成字元型函數(shù)(6)VAL——字元型轉(zhuǎn)換成數(shù)字型函數(shù)5.狀態(tài)檢驗函數(shù)(1)BOF——檔起始函數(shù)(2)EOF——檔結束函數(shù)(3)FSIZE——求字段寬度函數(shù)(4)FOUND——查找成功否函數(shù)(5)RECNO——當前記錄號函數(shù)(6)COL——螢幕列座標函數(shù)(7)ROW——螢幕行座標函數(shù)(8)PCOL——印表機列座標函數(shù)4.1編輯控制鍵的功能
FoxPro在執(zhí)行許多命令時,都使系統(tǒng)進入窗口編輯狀態(tài)。例如,在執(zhí)行建立庫檔結構命令CREATE、追加記錄命令APPEND、插入記錄命令INSERT時,都要進入窗口編輯狀態(tài)。在這一狀態(tài)下,系統(tǒng)不再執(zhí)行命令,所輸入的各種數(shù)據(jù)都只是暫存在記憶體中,各數(shù)據(jù)間的相對位置由它們在顯示幕幕上的相對位置來確定。在這種狀態(tài)下,系統(tǒng)向用戶提供了很多控制鍵。4.2資料庫檔的編輯
4.2.1對記錄的編輯命令——EDIT
1.命令的基本格式
EDIT[[RECORD]〈數(shù)字運算式〉][〈範圍〉][FIELDS〈字段名清單〉][FOR〈條件1〉][WHILE〈條件2〉][FREEZE〈字段名〉]若缺省〈範圍〉和條件,則從當前記錄開始編輯。2.EDIT命令的常用格式
與基本格式相比,常用格式中增加了如下的選擇項:
[NOAPPEND][NODELETE][NOEDIT/NOMODIFY][TITLET〈字元運算式〉][VALID[:F]〈條件運算式〉[ERROR〈出錯資訊〉]][WHEN〈條件運算式〉]
4.2.2庫檔翻閱命令——BROWSE
BROWSE命令是FoxPro最有用的命令之一。BROWSE命令將打開一個窗口(Browse窗),在窗中顯示一個打開庫檔的記錄。用戶可方便地進行編輯或追加記錄。
1.BROWSE命令的基本格式
BROWSE[FIELDS〈字段名清單〉][FOR〈條件運算式〉][FREEZE〈字段名〉]該命令在Browse窗中分頁橫式顯示從當前記錄開始所有符合條件的記錄。
無FIELDS選擇項時,顯示全部字段;有FIELDS選項時(先把〈字段名清單〉理解為用“,”分隔的字段名),按〈字段名清單〉的次序,顯示〈字段名清單〉中給出字段的內(nèi)容。無FOR選擇項時,顯示全部記錄;否則,只顯示使〈條件運算式〉為T的記錄。無FREEZE選擇項時,可編輯所有字段;否則,只能編輯FREEZE中給出的字段。
2.BROWSE命令的常用格式與基本格式相比,常用格式中增加了如下選擇項:
[LOCK〈數(shù)字運算式〉][NOAPPEND][NODELETE][NOEDIT/NOMODIFY][TITLE〈字元運算式〉][VALID[:F]〈邏輯運算式〉[ERROR〈字元運算式〉]][WHEN〈邏輯運算式〉]
無LOCK子句時,當用戶用^←和^→控制鍵時,整個Browse窗中的顯示內(nèi)容都將左右移動,有些字段將從窗中移走,有些字段將移入窗中。有了LOCK子句,〈數(shù)字運算式〉將給出一個數(shù)字n,當左右移動窗口內(nèi)容時,在最左邊顯示的n個字段的內(nèi)容始終留在窗中不動。
BROWSE常用格式中增加的其他選擇項都與EDIT命令常用格式中的選擇項相同:形式相同,功能也相同。因此,在此不再贅述了。
4.2.3修改命令——CHANGE
在FoxPro26中,CHANGE命令無論在命令格式上還是在功能上都與EDIT命令全相同,只是命令名不同而已。請讀者查閱EDIT命令。
4.2.4替換命令——REPLACE
對字段值進行有規(guī)則的修改時,可以利用REPLACE命令來自動完成修改任務。命令格式:REPLACE〈字段名1〉WITH〈運算式1〉[ADDITIVE][,〈字段名2〉WITH〈運算式2〉[ADDITIVE]...][〈範圍〉][FOR〈條件1〉][WHILE〈條件2〉][NOOPTIMIZE]若缺省了範圍和兩個條件項,則僅對當前記錄進行操作。功能:對所有符合要求的記錄,系統(tǒng)自動地用每個WITH後的運算式值來修改WITH前的字段值。
無ADDITIVE時,則進行替換;有ADDITIVE時(ADDITIVE只能用於修改記憶型字段),〈運算式〉值追加在原數(shù)據(jù)後。若被修改的數(shù)字型字段寬度小於對應運算式寬度,則系統(tǒng)自動作如下處理:
首先,截去多餘小數(shù)位,剩下的小數(shù)位四捨五入。若無法完成,則用科學計數(shù)法表示該數(shù)。若仍不行,則用一串“*”替代該字段內(nèi)容。
對於字元型字段來說,若〈運算式〉內(nèi)容超寬,則截去尾部超寬部分。
NOOPTIMIZE項:該項將禁止對REPLACE命令進行優(yōu)化操作,詳見SETOPTIMIZE命令。
4.2.5修改庫檔結構命令——MODIFYSTRUCTURE
命令格式:MODIFYSTRUCTURE
功能:對當前打開庫檔進行修改結構工作。若無當前打開庫檔,系統(tǒng)將提示用戶選擇一個庫檔。此命令執(zhí)行過程如下:①系統(tǒng)自動在磁片上建立一與當前打開庫檔同名,但擴展名為BAK的後備檔。
②在螢幕桌面上開出一矩形區(qū)域,並在其中顯示庫檔結構,格式與CREATE命令相同。③修改結束後,系統(tǒng)自動把同名後備檔內(nèi)容讀回庫檔。還有類似的其他情況發(fā)生,即修改後的庫檔數(shù)據(jù)失去了一些原有數(shù)據(jù)。不管發(fā)生什麼情況,只要是使用MODIFYSTRUCTURE產(chǎn)生了問題,都可用下法恢復原樣:①刪去被修改了結構的庫檔及記憶檔。
②把BAK和TBK後備檔改名為同名DBF、FPT檔。
4.2.6刪除庫檔記錄
對記錄的刪除應持謹慎態(tài)度。FoxPro把刪除記錄的操作分為兩步:刪除操作和打包操作。刪除操作不刪除記錄,只在準備刪除的記錄上打上刪除標記“*”,這種標記是可以取消的。打包操作才真正刪除記錄。
1.給記錄打刪除標記命令——DELETE
DELETE命令用於給記錄打刪除標記“*”。命令格式:DELETE[〈範圍〉][FOR〈條件1〉][WHILE〈條件2〉][NOOPTIMIZE]在缺省〈範圍〉和兩條件項時,僅給當前記錄打刪除標記;否則,對範圍內(nèi)符合條件的記錄打刪除標記。
在執(zhí)行BROWSE、EDIT、CHANGE命令時也可給記錄打刪除標記,這些命令在前面已介紹過。
NOOPTIMIZE項:見SETOPTIMIZE命令。
例1
USE職工
DELETENEXT3
執(zhí)行上述命令後,職工DBF庫檔中,記錄號為1、2、3的三條記錄打上了刪除標記。
2.恢復記錄命令——RECALL
已經(jīng)打上的刪除標記,可以用RECALL命令撤銷。命令格式:RECALL[〈範圍〉][FOR〈條件1〉][WHILE〈條件2〉][NOOPTIMIZE]在缺省〈範圍〉和兩個條件項時,僅給當前記錄撤銷刪除標記;否則,範圍內(nèi)符合條件記錄的刪除標記(若有)都被撤銷。
NOOPTIMIZE項:禁止對RECALL語句進行優(yōu)化處理,詳見SETOPTIMIZE命令。
例2
USE職工
RECALLNEXT5
執(zhí)行上述兩條命令後,記錄號為1、2、3、4、5記錄的刪除標記(若有)都被撤銷。
3.壓縮命令——PACK
格式:PACK[MEMO][DBF]在無選擇項時,PACK命令把當前打開庫檔中所有打上了刪除標記的記錄,真正地從庫檔中刪除掉;同時,也壓縮了與庫檔同名、擴展名為FPT的記憶檔。歸納成一句話,就是把庫檔和記憶檔同時壓縮掉。在執(zhí)行PACK命令的過程中,若磁片空間不夠的話,源庫檔也將被覆蓋掉。
MEMO子句:選擇MEMO子句,將不壓縮當前打開庫檔,而只壓縮記憶檔。也即,並不刪除庫檔中打有刪除標記的記錄,僅把記憶檔中無用空間壓縮掉。
4.決定刪除標記影響的命令——SETDELETED
刪除標記對執(zhí)行命令有否影響,SETDELETED命令可以決定這個問題。命令格式:SETDELETEDOFF/ON
執(zhí)行SETDELETEDOFF命令後,刪除標記對任何命令均無影響。而執(zhí)行SETDELETEDON命令後,系統(tǒng)在執(zhí)行命令時,一般都不包括打有刪除標記的記錄。例外情況有:①命令中有RECORD〈運算式〉或NEXT〈運算式〉範圍項,且範圍內(nèi)第一個記錄是打上了刪除標記的。②本章後面講到的INDEX和REINDEX命令不受SETDELETED命令的影響。
DELETED的初始默認值為OFF。
5.清除庫檔中所有記錄命令ZAP和保護命令——SETSAFETY(1)ZAP命令命令格式:ZAP
功能:清除已打開庫檔中全部記錄,但庫檔還存在,庫檔結構也不變。為慎重起見,漢字FoxPro還為ZAP命令加了一個。
保護級,這就是SETSAFETY命令
(2)SETSAFETY命令命令格式:SETSAFETYON/OFF
執(zhí)行SETSAFETYON命令後,當要求系統(tǒng)執(zhí)行ZAP命令時,系統(tǒng)首先在螢幕上顯示:ZAP檔案名?(Y/N)
若用戶用Y鍵回答,系統(tǒng)立即執(zhí)行ZAP命令(清除庫中所有記錄);若以N鍵回答,系統(tǒng)不執(zhí)行ZAP命令,返回到命令狀態(tài)。
執(zhí)行SETSAFETYOFF命令後,若要求系統(tǒng)執(zhí)行ZAP命令,則系統(tǒng)立即執(zhí)行之,而不顯示任何提示資訊。系統(tǒng)的初始狀態(tài)是SAFETYON狀態(tài)。其實,當SAFETY為ON,在發(fā)出任何重寫檔命令時,系統(tǒng)都要向用戶顯示上述提示,用戶確認後,才真
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度國際貿(mào)易知識產(chǎn)權傭金協(xié)議
- 二零二五年度分手補償協(xié)議書及子女教育費用承擔
- 2025年度股份代持股份占比調(diào)整合同協(xié)議書模板
- 2025年度酒店餐飲服務兼職員工合同
- 二零二五年度隱名股東股權轉(zhuǎn)讓及管理權移交協(xié)議
- 二零二五年度足療養(yǎng)生店轉(zhuǎn)讓與品牌授權使用合同
- 二零二五年度學校食堂租賃協(xié)議書(含智能點餐系統(tǒng)建設)
- 二零二五年度文化旅游項目介紹費合作協(xié)議書
- 初中校長發(fā)言稿
- 安全教育領導發(fā)言稿
- 2024年大學英語四級詞匯和語法全真模擬試題及答案(共六套)
- 人工智能崗位招聘筆試題及解答(某大型央企)2025年
- 緊急停車按鈕的安全設置要求
- 2024年玩具陀螺項目可行性研究報告
- 城區(qū)綠地養(yǎng)護服務費項目成本預算績效分析報告
- v建筑主墩雙壁鋼圍堰施工工藝資料
- 新部編人教版六年級道德與法治下冊全冊全套課件
- 我國互聯(lián)網(wǎng)公司資本結構分析-以新浪公司為例
- 【藍天幼兒園小一班早期閱讀現(xiàn)狀的調(diào)查報告(含問卷)7800字(論文)】
- 糧油機械設備更新項目資金申請報告-超長期特別國債投資專項
- 個體戶的食品安全管理制度文本
評論
0/150
提交評論