一、工作區的概念
工作區是FOXBASE係統提供在內存中劃分的區域,以供運行FOXBASE命令,同時FOXBASE規定,在一個工作區中,同時隻能打開一個數據庫文件,在同一係統中,FOXBASE提供了最多可以開辟120個工作區。
1.工作區的標號
FOXBASE允許開辟120個工作區,分別用序號12到10作為每個工作區的標號。
2.工作區的別號
除標號外,FOXBASE對每個工作區還規定了一個等效的別號,係統提供了10個固定的別號,分別對應為A到J的10個字母,另外用戶還可以在打開一個數據庫的同時,給這個工作區定義一個自定義的別名,其定義格式如下:
USE[A1.IAS]
當選擇項A12.IAS缺省時,係統將數據庫文件名作為工作區別名。
二、工作區的選擇命令
由於一次可定義10個工作區,因此涉及到一個主工作區(當前工作區)的選擇,其命令格式為:
SE12。ECT/
用此命令,可選擇當前工作區,即當前操作將針對選擇的工作區。
三、多個工作區的操作
當在工作區中需要對其它工作區數據進行操作時,可用如下命令格式:
一
在當前工作區使用其它工作區打開庫字段時,加上此格式可以對其它工作區數據讀取,但不能寫入。
四、一個庫文件對另一個庫文件的更新
UPDATEONFRoM
REP12.ACEWITH[RANDOM]
使用此命令,將用另一個數據庫中的數據更新當前數據庫文件中的字段,該命令隻對兩個文件中關鍵字段匹配的記錄更新。
可選項RANDOM的作用是規定當前源數據庫文件不按關鍵字段索引或排序。
注意:在使用該命令之前,目的數據庫必須是按字段建立索引或排序的,否則將出錯。
五、數據庫文件之間關聯的建立
在數據庫操作中會碰到兩個數據庫的同步操作,即當主工作區中數據記錄指針移動時,要求對應關聯數據庫的指針也移動,為此必須建立數據庫的關聯,可用如下命令:
SETRE12.ATIONTO[//RECNO]
INT0[ADDITIVE-]
使用此命令,用一個表達式鏈接兩個打開的數據文件,鏈接表達式必須是兩個數據庫共有的字段。
若使用選項ADDITIVE則將保留可取消關聯。建立關聯後,主工作區和關聯的工作區數據庫記錄同時移動。
六、兩個數據文件的連接
可用如下命令:
JOINwITHTO[FOR]FFIE12。Ds]
利用此命令,通過當前庫文件和別名所指定工作區庫文件,把指定的記錄和字段連接起來,建立一個新的庫文件。
第五節 關係型數據庫管理係統的三種基本操作
一、篩選
篩選操作是對數據庫文件中的某些指定的記錄進行數據操作。一個數據庫文件可能有許多記錄,用戶可根據需要有選擇性地對其中的某些記錄進行操作。
二、投影
投影操作是對記錄中的某些字段進行操作。一個數據庫文件可能有許多字段,用戶同樣可以有選擇性地對其中的某些字段進行操作。例如,如下FOXBASE命令可完成投影操作:
DISP12.AYA12,I.學號,姓名,升學考分
該命令的功能是:顯示學生情況數據庫中所有記錄的學號、姓名、升學考分三個字段的數據,也就意味著不顯示其它字段的數據。其顯示結果如下:
說明:(1)顯示結果中的記錄號不屬於任何字段。
(2)顯示命令DISP12.AY的詳細格式及功能。
(3)在同一命令中,可同時完成篩選及投影功能。
三、連接
連接操作指的是將兩個數據庫文件按一定條件連接成一個新的數據庫文件。
我們已經知道學生情況數據庫,它有學號、姓名、性別、出生日期、三好學生、升學考分和備注7個字段。假設我們還有一個學生成績數據庫,它有學號、數學成績、語文成績、體育成績4個字段,那麼,在一定條件下可以把這兩個數據庫連接起來,形成一個具有學號、姓名、性別、出生日期、三好學生、升學考分、備注、數學成績、語文成績、體育成績120個字段的新的數據庫。注意,相同字段隻取一個。