




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、(中職)2022-2023學年第2章 數據庫和表的管理ppt課件2.1第 2 章數據庫和表的管理在 Visual FoxPro 6.0 中,數據庫文件是表、視圖、連接、關系和存儲過程等文件的集合。數據庫類似一個容器,記錄了其他各種類型文件的信息,例如文件名、保存位置等。可以把邏輯相關的表文件、本地視圖文件、遠程視圖文件和存儲過程等多種元素包含進來進行組織管理。【案例 3】創(chuàng)建“員工”數據庫案例描述數據庫文件實質就是 Visual FoxPro 6.0 的一種表文件,記錄了其他各種類型文件的信息。表文件可以在數據庫中創(chuàng)建,也可以單獨創(chuàng)建之后再添加到數據庫中。數據庫文件的擴展名是.dbc,與此數據
2、庫關聯(lián)的同名備注文件的擴展名是.dct,同名索引文件的擴展名是.dcx。本案例以創(chuàng)建“員工”數據庫為基礎,維護員工數據庫。相關知識1數據庫設計器的使用在數據庫設計器中可控制字段怎樣顯示或鍵入字段中的值,還可以添加視圖并連接到一個數據庫中,用來更新記錄或者擴充訪問遠程數據的能力,如圖 2-1-7 所示。圖 2-1-7“數據庫設計器”窗口在“數據庫設計器”工具欄中,各個按鈕作用如表 2-1-1 所示。2使用“項目管理器”管理數據庫(1)添加和刪除數據庫可以使用“項目管理器”添加已有的文件或者用它來創(chuàng)建新的文件。例如,想把一些已有的擴展名為“.dbf”的表添加到項目中,只需要在“數據”選項卡中選擇“
3、自由表”選項,然后單擊“添加”按鈕把它們添加到項目中。如果要從項目中移去文件,可先選定要移去的內容,然后單擊“移去”按鈕,打開刪除提示框,并在提示框中單擊“移去”按鈕,如圖 2-1-8 所示。移去只是將數據從項目中移動到項目外,文件依然存在,如果要徹底刪除該文件,應在提示框中單擊“刪除”按鈕。(2)修改數據庫圖 2-1-8刪除數據庫“項目管理器”簡化了創(chuàng)建和修改文件的過程。用戶只需選定要創(chuàng)建或修改的文件類型,然后單擊“新建”或“修改”按鈕,Visual FoxPro 6.0 將顯示與所選文件類型相應的設計工具。如果要創(chuàng)建添加到“項目管理器”中的文件,可以先選定要創(chuàng)建的文件類型,然后單擊“新建文
4、件”按鈕。對于某些項,可以利用向導來創(chuàng)建文件。如果要修改文件,可以先選定一個已有的文件,然后單擊“修改”按鈕。例如,要修改一個表,先選定表的名稱,然后單擊“修改”按鈕,該表便顯示在“表設計器”中。(3)為文件添加說明創(chuàng)建或添加新的文件時,可以為文件加上說明。文件被選定時,其說明將顯示在“項目管理器”的底部。如果要為文件添加說明,可以先在“項目管理器”中選定文件,然后單擊“項目”菜單,在項目列表中單擊“編輯說明”命令,在打開的“說明”對話框中鍵入該文件的說明,如圖 2-1-9 所示,最后單擊“確定”按鈕。圖 2-1-9添加說明3創(chuàng)建和管理數據庫的相關命令(1)創(chuàng)建數據庫CREATE DATABA
5、SE |?其中,用于指定創(chuàng)建數據庫的位置、文件名。如果不指定數據庫名或者在命令后加“?”,則會打開“創(chuàng)建”對話框。(2)打開數據庫OPEN DATABASE |?EXCLUSIVE|SHAREDNOUPDATE打開一個數據庫,如果不指定文件名或者在命令后加“?”,則會打開“打開”對話框。EXCLUSIVE表示以獨占的方式打開數據庫;SHARED 表示以共享的方式打開數據庫;NOUPDATE 表示不能對數據庫進行任何修改。(3)修改數據庫MODIFY DATABASE |?NOWAITNOEDIT打開數據庫設計器,交互地修改當前數據庫,如果不指定數據庫名或者在命令后加“?”,則會打開“創(chuàng)建”對話
6、框。NOWAIT 表示在打開數據庫設計器后繼續(xù)程序的執(zhí)行,不必等待數據庫設計器關閉;NOEDIT 表示禁止修改數據庫。(4)關閉數據庫CLOSEDATABASES關閉當前的數據庫和表,如果沒有當前數據庫,則關閉所有打開的自由表。(5)刪除數據庫DELETE DATABASE |?DELETETABLESRECYCLE從磁盤上刪除數據庫,如果不指定數據庫名或者在命令后加“?”,則會打開“打開”對話框。DELETETABLES 表示從磁盤上刪除包含在數據庫中的表;RECYCLE 表示將刪除的數據庫放入回收站。(6)查看和設置數據庫的屬性DBGETPROP(cName,cType,cPcoperty
7、)DBSETPROP(cName,Ctype,cProperty,eProperty Value)其中,cName 指定想要查看或設置屬性的數據庫、表、視圖、字段或命名連接的名字;cType指定 cName 所代表的類型(是數據庫、表、視圖、字段還是命名連接);cProperty 指定想要查看或設置的屬性;eProperty Value 指定想要設置的屬性值。例如,下面的代碼顯示“工資”的版本號。?DBGETPROP(工資,database,version)2.2返回值表示 Visual FoxPro 6.0 中數據庫(.dbc)的版本號,它是只讀的。如果數據有注釋,可用同樣的函數查看:?DB
8、GETPROP(工資,database,comment)與 version 屬性不同,comment 屬性即可讀又可寫。用 DBGETPROP()函數可以輸入描述或其他要存儲在數據庫中的文本:?DBGETPROP(工資,database,comment,本數據庫用于工資管理系統(tǒng))【案例 4】創(chuàng)建“在職職工”表案例描述表是處理數據和建立關系型數據庫及應用程序的基本單元。表的操作包括處理當前存儲于表中的信息、定制已有的表或者創(chuàng)建自定義的表來存儲數據。在 Visual FoxPro 6.0 中有兩種表:數據庫表和自由表。數據庫表是數據庫的一部分,而自由表是獨立存在于任何數據庫之外的。接下來以創(chuàng)建“在
9、職職工”表為基礎新建表。相關知識如果把若干個表放入數據庫,可減少冗余數據的存儲,保護數據的完整性。表文件可以在數據庫中創(chuàng)建,也可以單獨創(chuàng)建之后再添加到數據庫中。當然,也可以不把表文件添加到數據庫中或將數據庫中的表文件移出。根據表文件是否被添加到數據庫中,將表分為兩類:數據庫表和自由表。1查看數據庫中的表“項目管理器”使用類似于 Windows 的“資源管理器”的方法來組織和管理文件,以目錄樹的方式分層列出各類文件,在每類文件名的左邊都有一個圖標標識文件類型。如果某項前有加號標志,說明它還包含下一級內容,可以將其展開或折疊,以便查看不同層次中的詳細內容。如果項目中具有一個以上某一類型的項,其類型
10、符號旁邊會出現(xiàn)一個“ ”。單擊該“ ”可以顯示項目中該類型項的名稱,單擊項目旁邊的“ ”可以看到該項的組件。例如,單擊“員工”符號旁邊的“ ”,可以看到項目中員工數據庫中的表、本地視圖、遠程視圖、連接和存儲過程,如圖 2-2-5 所示。(a)展開前2管理表的相關命令(1)創(chuàng)建表CREATE |?圖 2-2-5查看數據庫(b)展開后ADD生成一個新表。如果不指定文件名或者在命令后加“?”,則會打開“創(chuàng)建”對話框,提示為正在創(chuàng)建的表命名。(2)向數據庫中添加表TABLE |?NAME 長表名向當前數據庫中添加表。(3)從表中移去相應的數據庫信息FREE TABALE 表名如果偶然從磁盤上刪除了一個
11、數據庫,該數據庫中的表仍然保留著對該數據庫的引用。使用該命令可以從一個表中刪除對數據庫的引用,然后就可以打開該表或者將該表添加到其他數據庫中。注意,如果數據庫還存在,不能使用該命令,那樣會導致數據庫不能使用。(4)將數據庫中的表刪除REMOVE TABLE2.3將當前數據庫中的表刪除,一旦表被移出數據庫長表名和長字段就不能被用于索引或者程序。【案例 5】定制“在職職工”表案例描述要創(chuàng)建表首先要創(chuàng)建該表的結構,然后才可以向表中輸入數據信息。定制表需要注意三點,首先,字段的數據類型應與將要存儲在其中的信息類型相匹配;其次,使字段的寬度足夠容納將要顯示的信息內容;最后,為“數值型”或者“浮點型”字段
12、設置正確的小數點。接下來按照職工表的需要,為表設置字段類型并輸入相應數據記錄。相關知識1表的結構表文件由表結構和記錄兩部分組成,每行稱為一條記錄,每列稱為一個字段,如圖 2-3-12所示。表結構是表文件必不可少的部分;記錄可多可少,沒有記錄只有表結構的表文件稱為空表。表文件的擴展名為.dbf。圖 2-3-12表的組成2表設計器的使用在字段中可以設計表文件的結構,包括字段名、字段類型、字段寬度和小數位數等屬性。另外,還包括是否對該字段建立索引、該字段是否可以包含空值的選項。在“表設計器”對話框中包括字段、索引和表 3 張選項卡,默認打開的是“字段”選項卡。通過單擊“類型”下拉列表可選擇所需類型,
13、如圖 2-3-13 所示。圖 2-3-13“字段”選項卡字段名是一種字段變量,它以字母或漢字開頭,后面可以用字母、數字、漢字和下畫線等符號。字段名總長度不超過 10 個字符,不能用空格。字段類型指定了數據的類型,字段寬度指定了被存儲數據的最大長度。有些字段的寬度可由用戶按需要設定,有些則由系統(tǒng)默認指定。各種字段類型及其相應寬度如表 2-3-2 所示。只有將字段類型設置為數值型、浮點型、雙精度型才需要設置小數點位數。小數位數一列才為可用狀態(tài)。索引是一種邏輯排序方式,如果希望輸出記錄時按照某個字段的升序或降序,可以單擊“索引”的下拉箭頭,選擇排序方式。控制在數據庫中有特殊的作用,他既不是“0”和“
14、空格”,也不是空字符串,他等同于沒有任何值,控制可以作為某些函數的判斷依據,但主關鍵字段不允許有空值。3管理數據的相關命令(1)打開表USE EXCLUSIVE|SHARED打開一個表,EXCLUSIVE 表示以獨占的方式打開表;SHARED 表示以共享的方式打開表。如果不加表名執(zhí)行 USE 命令,并且現(xiàn)在工作區(qū)中已打開了一個文件,表示關閉表。(2)瀏覽表BROWSE FIELDS字段列表打開瀏覽窗口,顯示當前或選定表的記錄,選擇了 FIELDS 可以選擇表中的字段。(3)追加記錄APPENDBLANK在表的末尾添加一個或者多個新記錄,如果選擇了 BLANK,表示在當前表的末尾添加一個空記錄。
15、(4)刪除記錄DELETE SCOPEFOR 1Expressionl2.4給要刪除的記錄做標記,默認的范圍是當前記錄。其中 FOR 語句表示指定滿足邏輯條件的記錄,在“命令”窗口中繼續(xù)輸入如下命令:PACK從當前表中永久刪除標有刪除標記的記錄。【案例 6】修改“工資”表的結構案例描述輸入了工資記錄后,可以在 Visual FoxPro 6.0 中查看和編輯表中的數據,當打開表后,會在系統(tǒng)菜單中增加“表”菜單,利用該菜單,可以方便地進行表中的數據編輯和處理。用戶還可以按照不同的需求定制“瀏覽”窗口,可以進行重新安排列的位置、改變顯示格式、設置驗證信息等相關操作。接下來按照工資表的瀏覽需要,修改
16、表的結構及顯示的方式。相關知識1設置顯示方式(1)調整字段的顯示大小在瀏覽表時,可以重新安排“瀏覽”窗口中的列,使它們按照需要的順序進行排列,這種排列并不影響表的實際結構。也可以在“瀏覽”窗口中改變列的寬度,這種尺寸調整只改變顯示格式,不會影響到字段的長度或表的結構。還可以拆分“瀏覽”窗口,很方便地查看同一表中的兩個不同區(qū)域,或者同時在“瀏覽”和“編輯”方式下查看同一記錄。將鼠標指針指向兩個字段之間的結合點,拖動鼠標可調整行、列的寬度和高度。調整列的寬度如圖 2-4-17 所示。圖 2-4-17調整表中列的顯示格式(2)取消網格線的顯示單擊“顯示”“網格線”菜單命令,使該命令項前面沒有“ ”顯
17、示,這樣就取消了網格線的顯示,如圖 2-4-18 所示。圖 2-4-18取消網格線顯示的表(3)拆分編輯窗口顯示將鼠標指針指向拆分條,向左或向右拖動拆分條,可改變窗格的相對大小,如圖 2-4-19 所示。如果窗口比較小,可以調整窗口的大小。圖 2-4-19使用拆分條拆分窗口2設置顯示格式對字段設置顯示格式只能對數據庫表進行,此時在“表設計器”中,可以看到一個“顯示”區(qū)域,其中包含三個內容,即“格式”、“輸入掩碼”和“標題”。(1)設置格式用戶可以對顯示格式進行設置,設置格式實質上是對字段的顯示定義了一個輸入掩碼,它決定了字段在表單、“瀏覽”窗口或報表中的顯示風格。如果要提供格式,可以在“表設計
18、器”“顯示”區(qū)的“格式”框中鍵入掩碼。表 2-4-1 中列出了一些常用的掩碼。(2)設置輸入掩碼指定輸入掩碼就是定義字段中的值必須遵守的標點、空格和其他格式要求。這樣字段中的值就有了統(tǒng)一的風格,從而可以減少數據輸入錯誤,提高輸入效率。改變輸入掩碼的設置會影響新數據的輸入但不影響現(xiàn)存數據。如要提供輸入掩碼,可在“表設計器”“顯示”區(qū)中輸入掩碼,或者用 DBSETPROP()函數設置InputMask 屬性。表 2-4-2 定義了一些常用的輸入掩碼。(3)設置標題可以為數據庫表中的每個字段創(chuàng)建一個標題。Visual FoxPro 6.0 將顯示字段的標題文字,并以此作為該字段在“瀏覽”窗口中的列標
19、題(缺省時列標題顯示為字段名)以及表格中的默認標題名稱。3設置驗證規(guī)則表設計器的“表”選項卡中還有一個區(qū)是“字段有效性”區(qū),在這個區(qū)內可以對字段的驗證規(guī)則、驗證信息和默認值進行設置。(1)有效性規(guī)則介紹為控制輸入到數據庫表字段和記錄中的數據,可以創(chuàng)建字段級和記錄級規(guī)則,為數據的輸入實施規(guī)則,這些規(guī)則稱為有效性規(guī)則。字段級和記錄級規(guī)則將把所輸入的值與所定義的規(guī)則表達式進行比較,如果輸入的值不滿足規(guī)則要求,則拒絕該值。有效性規(guī)則只在數據庫表中存在。字段級和記錄級規(guī)則能夠控制輸入到表中的信息類型,而不管數據是通過“瀏覽”窗口、表單,還是使用語言以編程方式來訪問。如果從數據庫中移去或刪除一個表,則所有
20、屬于該表的字段級和記錄級規(guī)則都會從數據庫中刪除。這是因為規(guī)則存儲在擴展名為.dbc 的文件中,而從數據庫移去表會破壞擴展名為.dbf 文件與.dbc 文件之間的鏈接。但是,由被移去或刪除的規(guī)則引用的存儲過程不會被刪除。它們不會自動移去,因為保留在數據庫中的其他表規(guī)則還在使用它們。(2)設置字段級驗證規(guī)則可以使用字段級有效性規(guī)則來控制用戶輸入到字段中的信息類型,或檢查一個獨立于此記錄其他字段值的字段數據。(3)表達式生成器對話框使用表達式生成器來生成驗證表達式。表達式生成器允許創(chuàng)建并編輯表達式。一個表達式可以簡單得像一個字段名,也可以像一個包括 IF()函數、級連和數據類型轉換的計算一樣復雜。表
21、達式生成器的主要目標是通過提供方法中每一步驟的合適選項的列表使創(chuàng)建表達式更容易,它為用戶提供了許多有用的工具,用戶可以從函數去選擇各種字符串、數學、邏輯和日期函數,可以從字段列表中選擇所有打開表中的字段,也可以從變量區(qū)中選擇內存變量。用戶可以直接在上方的“有效性規(guī)則”文本框中輸入一個表達式,也可以借助生成器提供的各種工具進行選擇。(4)設置字段驗證信息設置了字段的驗證規(guī)則之后瀏覽該表,如果改動了某條記錄中學號的長度,使它不為 6,或者在新添的記錄中輸入一個學號長度不為 6 的記錄,則會在試圖離開該字段時出錯,打開警告對話框提示出錯,并要求繼續(xù)對該字段進行編輯,直到正確為止。從警告框里我們可以知
22、道違反了字段的有效性規(guī)則,但具體錯在什么地方卻不是很清楚。為了得到明確的信息提示,可以通過給字段添加有效性文本,來定制當違反規(guī)則時要顯示的提示信息。用戶所輸入的文本將代替默認的錯誤信息并顯示出來。2.5【案例 7】管理表的相關操作案例描述有時候表中的記錄比較多而且排列沒有什么規(guī)律,使得查找所需要的內容要花費很多時間,如果能按照特定的順序定位、查看或者操作表中的記錄,可以讓管理更方便。用戶可以在表中設置一個過濾器來定制表,有選擇地顯示某些記錄。還可以通過設置字段過濾器,對表中的某些字段的訪問進行限制,這樣也可以有選擇地顯示需要的記錄信息。用戶還可以創(chuàng)建索引,利用其快速顯示、查詢或者打印記錄;可以
23、選擇記錄,控制重復字段的輸入并支持表間的關系操作。接下來按照常用的管理方式,完成刪除、篩選、排序等操作。相關知識1篩選在查看表中數據時,如果只想查看某一類型的記錄,可以通過設置過濾器對“瀏覽”窗口中顯示的記錄進行顯示限制。在某些情況下,例如只想查看工資高于某一數值的人員,或者生日在某段時間內的職員,篩選就顯得非常有用。首先要在表中建立過濾器,瀏覽要創(chuàng)建篩選的表,再單擊“表”“屬性”菜單命令,打開“工作區(qū)屬性”對話框,可以直接在“數據過濾器”文本框內輸入篩選表達式。或者單擊“數據過濾器”文本框右側的 按鈕,在“表達式生成器”中創(chuàng)建一個表達式來選擇要查看的記錄,最后單擊“確定”按鈕。再次瀏覽該表時
24、,則只顯示經篩選表達式篩選過的記錄。2限制訪問在表單中瀏覽或使用表時,若只顯示某些字段,可以設置字段篩選來限制對某些字段的訪問。選出要顯示的字段后,剩下的字段就不可訪問了。首先要建立字段篩選,瀏覽要限制訪問的表,再單擊“表”“屬性”菜單命令,打開“工作區(qū)屬性”對話框,在“允許訪問”區(qū)內,選中“字段篩選指定的字段”單選按鈕,然后單擊“字段篩選”按鈕,打開“字段選擇器”對話框,將所需字段移入“選定字段”欄,最后單擊“確定”按鈕。再次瀏覽表時,只有在“字段篩選”中選定的字段被顯示出來。3索引利用索引,不僅可以將數據排序,而且可以提高查詢的速度。在 Visual FoxPro 6.0 中可以為一個表建
25、立多個索引,每一索引代表一種處理記錄的順序。索引保存在一個結構復合索引文件中,在使用表時,該文件被打開并更新。復合結構索引文件名與相關的表同名,擴展名為.cdx。索引文件是由指針構成的文件,這些指針邏輯上按照索引關鍵字的值進行排序。索引文件和表的.dbf 文件分別存儲,并且不改變表中記錄的物理順序。實際上,創(chuàng)建索引是創(chuàng)建一個由指向.dbf 文件記錄的指針構成的文件。索引關鍵字(IndexKey)用來作為建立索引的標準。記錄出現(xiàn)的順序是由索引關鍵字的“大小”決定的。索引關鍵字通常是一個字段或字段表達式,表達式中可以出現(xiàn)函數、內存變量等。使用表達式時,將根據計算結果排序。索引標識(Tag)是索引關
26、鍵字的名稱。索引標識可以與字段同名,也可自己指定,但必須以字母、漢字或下畫線開頭,并且長度不能超過 10 字節(jié)。獨立索引文件擴展名為.idx,其中只包含一個索引關鍵字,并且各文件相互獨立。獨立索引不需要索引標識,而直接使用索引文件名。4索引文件的類型按照索引的方式不同,在 Visual FoxPro 6.0 中有四種類型的索引方式。(1)主索引此類型索引僅用于數據庫中的表,而且每個表文件只能有一個主索引。主索引的字段的值應該具有唯一性,即組成索引的字段或者表達式在表中不允許有兩條以上的記錄具有相同的值。主索引可確保字段中輸入值的唯一性并決定了處理記錄的順序,如果某個表已經有了一個主索引,可以繼
27、續(xù)添加候選索引。(2)候選索引此類型索引可用于數據庫中的表和自由表,每個表可以建立多個候選索引。它像主索引一樣要求字段值的唯一性并決定了處理記錄的順序。(3)普通索引此類型索引可用于數據庫中的表和自由表,在一個表中可以加入多個普通索引。它可以決定記錄的處理順序,但是允許字段中出現(xiàn)重復值。(4)唯一索引為了保持同早期版本的兼容性,還可以建立一個唯一索引,以指定字段的首次出現(xiàn)值為基礎,選定一組記錄,并對記錄進行排序。除了這四種用于字段的索引類型外,還有一種叫做“結構復合索引”,此類型索引可用于數據庫中的表和自由表,每次表打開時自動打開,而且在表修改時自動更新。一個結構復合索引文件通常與表具有同樣的
28、文件名,但擴展名為.cdx。nExpr、5管理操作的相關命令(1)移動記錄指針SKIP nRceords使記錄指針在表中相對當前位置向前移動或者向后移動。其中 nRecords 代表記錄指針需要移動的記錄數。如果是正數,表示向文件尾移動;如果是負數,表示向文件頭移動。GOTO TOP|BOTTOM|RECORDnRecordNumber將記錄指針移動到指定位置。其中 TOP 代表將記錄指針定位到表的第一個記錄上,BOTTOM代表將記錄指針定位到表的最后一個記錄上,RECORD nRecordNumber 代表指定一個物理記錄號,對該記錄進行操作。(2)命令的作用范圍在命令的說明中,經常用 Sc
29、ope 代表命令的作用范圍,該范圍可以有 ALL、NEXTRECORDnNumber、REST 四個子句: NEXT ALL:全部,對表或視圖中的全部記錄起作用。nExpr:后續(xù)的記錄數,對某一范圍的記錄起作用,作用范圍從當前記錄開始,持續(xù)指定數目的記錄。鍵入 1 將只對當前記錄起作用。 RECORDnNumber:記錄號,對指定記錄號的記錄起作用。 REST:其余,對某一范圍的記錄起作用,作用范圍從當前記錄開始,到表的最后一條記錄為止。(3)刪除記錄DELETE ScopeFOR|Expression1給刪除的記錄做標記,并未刪除,默認的范圍是當前記錄。其中 FOR 子句指定滿足邏輯條件的記
30、錄。PACK從當前表中永久刪除標有刪除標記的記錄TO(4)篩選記錄SET或者FIELDSON|OFFSETFIELDSFieldName1, FieldName2 |ALLLIKE Skeleton| EXCEPTSkeleton篩選字段在數據庫的標準操作中叫做投影。指定可以訪問表中的哪些字段。ON 表示指定只能訪問出現(xiàn)在字段列表中的字段;OFF 表示指定可以訪問表中的所有字段。TOFieldName1 ,FieldName2 .表示指定當前表中可訪問的字段的名稱;ALL 表示允許訪問表中的所有字段;ALL LIKE Skeleton | EXCEPT Skeleton表示可以單獨或組合使用
31、LIKE 和 EXCEPT 子句,有選擇地訪問字段。如果使用 LIKE Skeleton,可以訪問與 Skeleton 相匹配的字段,如果使用 EXCEPTSkeleton,可以訪問不與 Skeleton 相匹配的字段。在 Skeleton 中可以支持*和?通配符。(5)選擇記錄SET FILTER TO lExpression選擇記錄在數據庫的標準操作中也叫做選擇。指定訪問當前表中記錄時必須滿足的條件。其中的 lExpression 是指定的記錄必須滿足的條件。如果使用了該命令,表中只有滿足指定條件的記錄才能被訪問。如果使用不帶 lExpression 的 SET FILTER TO,表示關
32、閉當前表的選擇器。(6)建立索引INDEXONeExpressionTOIDXFileName|TAGTagName OF CDXFileNameCOMPACTASCENDING|DESCENDINGUNIQUE|CANDIDATEADDITIVE創(chuàng)建一個索引文件,利用該文件可以按某種邏輯順序顯示和訪問表記錄。其中的參數代表的功能如下: eExpression:代表指定一個索引表達式,該表達式中可以包含當前表中的字段名。在索引文件中,按索引表達式給每個表記錄都創(chuàng)建一個索引關鍵字,Visual FoxPro 6.0 使用這些關鍵字來顯示和訪問表中的記錄。 TO IDXFileName:創(chuàng)建 ID
33、X 索引文件。 TAG TagName OF CDXFileName:創(chuàng)建一個復合索引文件。復合索引文件是一種可包含任意數量的獨立標識的單個索引文件,每個標識都由其唯一標識名確定。 COMPACT:表示創(chuàng)建一個壓縮的 IDX 文件。 ASCENDING:表示指定 CDX 文件為升序 DESCENDING:表示指定 CDX 文件為降序。 UNIQUE:對于一個索引關鍵字值,只有第一個滿足該值得記錄包含在 IDX 文件或 CDX 的標識中。利用這個子句可以避免顯示或訪問記錄的重復值。 CANDIDATE:創(chuàng)建候選結構索引標識。 ADDITIVE:所有先前已打開的索引文件保持打開狀態(tài)。(7)設置排序
34、在建立了索引的表上,可以依據索引進行排序。當需要使用索引對表進行排序時,需要指定表的主索引文件。SET ORDER TO TAG TagName OF CDXFileName ASCENDING|DESCENDING一個表可以同時打開多個索引文件,但是只有一個單索引文件或一個來自復合索引文件的索引標識決定表中記錄的顯示和訪問順序。使用該命令來指定主索引文件或標識。其中的TAGTagNameOF CDXFileName 是 指 定 CDX 索 引 中 的 一 個 標 識 作 為 主 控 索 引 標 識 。 ASCENDING|DESCENDING 表示以升序或降序顯示或訪問表記錄。如果使用 SE
35、T ORDER TO 命令不帶任何參數,表示不使用任何索引。另外,Visual FoxPro 6.0 還提供了一條物理排序命令,該命令可以生成按照要求排好序的新表。該命令的格式如下:SORTTOTableNameONFieldName1/A|/D/C, FieldName2/A | /D/C ASCENDING|DESCENDINGScope FOR lExpression1對當前選定的表進行排序,并將排過序的記錄輸出到新表中。其中的參數代表的功能如下: TableName:存放經過排序的記錄的新表名,Visual FoxPro 6.0 中文件擴展名為.dbf。 ON FieldName1:在
36、當前選定的、要排序的表中指定字段,字段的內容和數據類型決定了記錄在新表中的順序。默認情況時按升序排序,不能對備注或通用字段排序。 /A | /D /C:對于排序中包含的每個字段,可以指定排序順序。/A 為字段指定了升序。/D 指定了降序。/C 表示忽略大小寫,默認情況下區(qū)分大小寫。2.6【案例 8】管理表之間的關系案例描述由于一個表中不可能包含所要使用的所有數據,因此在很多時候,我們必須打開多個表。而對于每個表,都是在它自己的工作區(qū)里打開的,要訪問多個表,就必須使用多個工作區(qū)。多個表中的數據整合在一起描述數據庫的內容,因此表之間的關聯(lián)關系是非常重要的,需要具有數據聯(lián)動性。接下來按照表的內容,完
37、成表關系的創(chuàng)建和管理等操作。相關知識1表的相關概念(1)工作區(qū)工作區(qū)是一個編號區(qū)域,它標識一個已打開的表,Visual FoxPro 6.0 中一共可以在 32 767個工作區(qū)中打開和操作表。在應用程序中,工作區(qū)通過使用該工作區(qū)的表的別名來識別。表別名是一個名稱,它可以引用在工作區(qū)中打開的表。(2)數據工作期單擊“窗口”“數據工作區(qū)”菜單命令,打開“數據工作區(qū)”對話框,可查看在一個 VisualFoxPro 6.0 工作期中打開的表的列表,并顯示在當前數據工作期中打開表的工作區(qū)別名,如圖2-6-17 所示。一個數據工作期是指表單、表單集或報表使用的當前狀態(tài)工作環(huán)境。每個數據工作期包含了它自己的
38、一組工作區(qū),這些工作區(qū)包括在工作區(qū)中打開的表、表索引以及表之間的關系。VisualFoxPro 6.0 可以通過數據工作期自動為表單或表單集的每個實例提供一個獨立的環(huán)境。圖 2-6-17“數據工作期”對話框(3)關鍵字表之間創(chuàng)建關系之前,想要關聯(lián)的表需要有一些公共的字段和索引。這樣的字段稱為主關鍵字字段和外部關鍵字字段。主關鍵字字段標識了表中的特定記錄。外部關鍵字字段標識了存于數據庫里其他表中的相關記錄。還需要對主關鍵字字段做一個主索引,對外部關鍵字字段做普通索引。為準備兩個關系表中的主表,需要在主表中添加主關鍵字字段。如果要在兩個表之間提供公共字段,需要在帶有關聯(lián)記錄的表中添加外部關鍵字字段
39、。外部關鍵字字段必須以相同的數據類型與主關鍵字字段相匹配,而且一般用相同的名稱。以主關鍵字字段和外部關鍵字字段創(chuàng)建的索引必須帶有相同的表達式。 主關鍵字:表中的一列或多列,其中的值唯一地標識了表中的一行。 外部關鍵字:一列或多列的組合,列中的值需要與另一個表中的主關鍵字相匹配。用于連接相關表。(4)完整性約束對于數據庫中的表,只在表的內部建立完整性約束不能完全保證數據的正確。數據庫中的表需要根據表之間的關系,建立表之間的完整性約束。在 Visual FoxPro 6.0 中,該約束表現(xiàn)在參照完整性上。參照完整性是控制數據一致性,尤其是不同表的主關鍵字和外部關鍵字之間關系的規(guī)則。Visual FoxPro 6.0 使用用戶自定義的字段級和記錄級規(guī)則完成參照完整性規(guī)則。“參照完整性生成器”可以建立規(guī)則,控制記錄如何在相關表中被插入、更新或刪除。2表間的關聯(lián)關系通過鏈接不同表的索引,“數據庫設計器”可以很方便地建立表之間的關系。因為這種在數據庫中建立的關系被作為數據庫的一部分保存了起來,所以稱為永久關系。設置關系應當做如下操作:(1)創(chuàng)建索引字段首先決定哪個表中包含有主記錄,哪個表中包含有關聯(lián)記錄;然后對有主記錄的表,添加一個字段,再對該字段添加一個主索引;最后對包含有關聯(lián)記錄的表,添加一個與主記錄表中關鍵字匹配的字段,再對該新字段
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 定稿-某某安市教育補短板建設PPP項目實施方案
- 干式活塞真空泵總體規(guī)模、主要生產商、主要地區(qū)、產品和應用細分研究報告
- 行業(yè)數據:中國人工智能客戶服務市場現(xiàn)狀研究分析與發(fā)展前景預測報告
- 低空經濟引爆未來城市空中出行新革命
- 林木育種技術在提高林木逆境生存能力中的應用考核試卷
- 臨床護理帶教老師職責
- 2024年臨滄市鎮(zhèn)康縣融媒體中心招聘筆試真題
- 海底油氣管道泄漏應急處理考核試卷
- 橋梁工程檢測與評估新技術考核試卷
- 學校愛心捐款活動方案(三篇)
- 領導藝術《君主論》對人性的認識
- 培訓testlab中文手冊signature testing觀察信號調整通道參數
- 國家義務教育質量監(jiān)測科學模擬測試題附答案
- 丙二醇車間丙烯醛吸收工段初步設計論文
- 土地利用現(xiàn)狀分類及新舊地類編碼對照表
- 病態(tài)竇房結綜合癥護理查房課件
- 壓力容器安全隱患排查表
- 貴州省普通高中新課程實施方案(試行)
- 評估-說專業(yè)-市場營銷專業(yè)
- 七氟丙烷滅火系統(tǒng)安全操作規(guī)程(最新)
評論
0/150
提交評論