1.EDIT命令
它用來對表達式所指定的一個記錄進行編輯修改。如果命令中不指定記錄,則它對當前記錄進行編輯修改。
編輯修改是以全屏幕方式進行的,每屏一個記錄。使用可分別進入上一個記錄或下一個記錄的編輯修改。如果要對記錄中備忘類型字段的內容作修改時,把光標移到該字段開始處,打入鍵即可,修改完畢再用(保留修改)退回到CTRL模式。
2.BROWSE命令
它也是一條全屏幕方式的編輯命令。與EDIT命令不同之處在於:EDIT命令一次隻修改一個記錄,而BROWSE命令卻可以對整個文件進行修改,它一次在屏幕上顯承多達17個記錄供用戶任意挑選修改(當前記錄用反視頻顯示),而且利用BROWSE列出的字段名表,可以隻對指出的那些字段內容作修改,字段名表中字段的次序,就是它們在屏幕上出現次序,因而十分方便。
3.CHANGE命令
它同時具有EDIT命令和BROWSE命令的一些優點,即可以對指定範圍內滿足規定條件的一組記錄中的有關字段(用字段名表列出)的內容進行編輯修改,因而使用十分方便。它也是一條全屏幕工作方式的命令,一屏隻顯示一個記錄。編輯修改的操作方法與EDIT命令相同,這裏不再重複,通過這條命令還可以對備忘字段進行編輯修改。
第四節 數據庫文件的使用
數據庫管理係統最重要的功能主要反映在數據庫文件的使用方麵,即數據的排序、檢索、統計及報表生成等各種操作。在這方麵,dBASEⅢ比dBASEⅡ功能更好,操作速度也明顯提高。
為了敘述的方便,本節假設已經建立了三個數據庫文件,即學生文件成績文件和任課教師文件。它們的文件結構以及文件內容。本節將使用這些文件進行舉例,以便更好地闡明有關內容。
一、數據排序和索引文件
1.排序命令(SORT)
排序操作就是把數據庫文件中的記錄按照某個字段值的大小進行重新排列。作為排序依據的這個字段被稱為“關鍵字段”。排序可以按關鍵字段的值由小到大(即增序)進行,也可以從大到小地(即減序)進行。作為關鍵字段的字段類型必須是數值型、字符串型和日期型。邏輯型和備忘型字段不能作為排序的依據。排序操作的結果將得到一個新的數據庫文件。
排序操作也叫分類操作,這是數據處理應用中經常便用的一種操作。例如,把學生按入學成績排序,按班級排序或按照年齡大小排序等等。
2.索引命令
同一個數據庫文件,由於不同用途而需要進行不同的排序。使用命令雖然很方便,但由於建立了許多內容相同而僅僅排列次序不同的文件,從而造成了大量數據的冗餘。在更新原始的數據庫文件時,這些新生成的排了序的文件不得不重新生成,實際使用中既不方便,也很容易造成數據不一致。
解決這個問題的一個辦法是建立索引文件。所謂索引文件是指這樣一種文件,它隻包含排了序的關鍵字段的內容以及它們在原始文件中的記錄序號。
3.索引文件的使用
有了索引文件以後,用戶就可以借助索引文件而對原始數據庫文件中的內容進行排序。使用索引文件的方法有兩種,一種是在使用USE命令打開原始數據庫文件的同時打開需要的索引文件,另一種辦法是需要時,用USE命令臨時打開。
使用USE命令打開數據庫文件的同時,也可以同時打開多達7個有關的索引文件,它的命令格式是:
(數據庫文件名)(索引文件表)3其中,列在索引文件表中的第1個索引文件即為主索引文件。命令在打開數據庫文件的時候,如果不使用索引文件,則當前記錄就定位在1個記錄上,即按照物理順序。如巣主索引文件設定指向文件中的第3號記錄,該記錄即為文件打開後的當前記錄。此後的所有操作即按索引文件所給出的邏輯順序進行。
4.索引文件的修改
在原始數據庫文件的內容有了變化之後,對應的索引文件必須作修改才能保持其有效性。否則,就無法利用索引文件得到正確的結果。
在打開數據庫文件的時候,如果也同時打開索引文件,則便用GOTO命令和SKIP命令進行記錄定位時,均按邏輯順序進行。當使用APPEND命令、INSERT命令和命令添加、插入和替換記錄時,被打開的索引文件也將自動得到修改。但命令一次隻能替換記錄中的一個字段,否則會引起出錯。同樣,使用EDIT命令、BROWSE命令或命令對數據庫內容進行修改之後,所有打開的索引文件也會自動地得到修改。而使用命令和命令刪除或恢複某些記錄時,索引文件不作更改,隻在使用DELETE命令和RECALL命令的時候,才會使索引文件得到修改。
下麵是索引文件自動修改的一個例子。
從這個例子中可以看出,修改任何數據庫文件時,隻有打開的索引文件才會得到自動修玫,未打開的索引文件必須用重做索引命令重新生成一次。注意,命令也隻對已打開的索引文件才起作用。
此外需要說明的是,使用索引文件打開數據庫文件後,命令的作用一樣,它所插入的記錄實際上總添加在文件的尾部。
二、數據檢索
數據庫文件的另一種使用方式是數據檢索,即從數據庫文件中有選擇地取出符合用戶需要的數據。檢索的結果可以顯示輸出,也可以在打印機上打印出來,或者形成一個新的數據庫文件。
選擇運算就是從數據庫文件的全部或部分記隸中,把滿足規定條件的所有記錄逸出來,這是通過命令中的(範圍)短語和(條件)短語來實現的。
投影運算就是從數據文件的所有字段中,挑選出規定字段的內容,或按要求組合生成新的字段,這是通過命令中給出的一組表達式而指出的。
聯結運算需要使用兩個不同的數據庫文件,它把兩個數據庫文件中的數據按照規定的條件合並成一個新的數據庫文件,這需要使用專門的命令來完成。
1.選擇和投影
用來實現選擇和投影運算的命令有兩條,它們的格式是:
另外,第三節 中介紹過的命令也具有與命令相似的選擇和投影運算的功能,不過檢索出來的數據不是顯示輸出而形成一個新的數據庫文件保存在盤上。下麵是使用上述命令進行各種選擇和投影運算及組合運算的例子。
2.利用索引文件進行快速選擇
選擇操作除了用八了和1151'命令進行之外,也可以用第三節 中介紹過的命令來進行,但它們的速度都比較慢。利用索引文件和另外兩條新命令,則可實現快速的選擇操作。