




已閱讀5頁,還剩65頁未讀, 繼續免費閱讀
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1,表的創建和使用,第二章,2,【本章要點】,表的概念 表結構的創建和修改 表記錄的添加、瀏覽、刪除 記錄指針的概念、定位 數據的修改、篩選 索引的概念、創建和使用,3,2.1 表,4,2.1.1 表的概念,表(Table):是指存放在磁盤文件中的一張二維表。一張表保存為一個表文件(.DBF)。 字段(Field):表中的一列。字段規定了數據的特征。 記錄(Record):表的一行。記錄是多個字段的集合。同一個表的每一個記錄都有相同的字段。 表結構:存儲表的記錄的一個公共的結構。,5,字段(fields),記錄 (records),6,2.1.2 字段的基本屬性,字段名(Field Name) 用以標識一個字段的名字。 字段的數據類型(Type) 不同的數據類型的表示和運算的方法不一樣。 VFP提供了13種字段的數據類型。 P.21(表2-1)。 字段寬度(Width) 指該字段所能容納數據的最大字節數。,8,2.1.2 字段的基本屬性,小數位數(Decimal) 對于數值型、浮點型和雙精度型的字段可以指定其小數的位數。 字段寬度=整數部分寬度+小數點1位+小數位數 如果小數位數不為0,則小數位數必須比整個字段寬度至少小2。 空值支持(Null) 空值是用來指示記錄中的一個字段“有或沒有”數據的標識。 Null不是一種數據類型或一個值,確切地講,它是用來指示數據存在或不存在的一種屬性。,9,2.2 表結構的創建和修改,10,2.2.1 表結構的創建,創建表結構的方式有兩種: 表設計器(Table Designer)方式 SQL命令方式,11,一、用“表設計器”創建表結構,通過菜單或工具欄打開“表設計器” CREATE CREATE ? CREARE 表文件名 在項目中新建表,12,二、用CREATE TABLE-SQL命 令創建表結構,格式是: CREATE TABLE|DBF 表文件名(字段名1 字段類型(字段寬度,小數位數),字段名2 字段類型(字段寬度,小數位數)) 例如: CREATE TABLE XS2(xh C(6),xm C(6),xb C(2),字段名,字段類型,字段寬度,13,2.2.2 表結構的修改,修改表結構的方式有兩種: 表設計器方式 ALTER TABLE 命令方式,14,一、用“表設計器”修改表結構,MODIFY STRUCTURE 命令 在項目中修改表結構,15,二、用 ALTER TABLE 命令修 改表結構,添加字段:ADD COLUMN子句。 例如,把“BJMC”(班級名稱)字段添加到XS表中: ALTER TABLE XS ADD COLUMN BJMC C(12) 重命名字段:RENAME COLUMN 子句。 例如,重新命名XS表的“BJMC”字段為“BJ”: ALTER TABLE XS RENAME COLUMN BJMC TO BJ 刪除字段:DROPCOLUMN子句。 例如,從XS表中刪掉“BJ”字段: ALTER TABLE XS DROP COLUMN BJ,16,2.3 表記錄的處理,17,2.3.1 記錄的追加,追加記錄的方式主要有四種: 一. 立即輸入記錄 二. 在瀏覽狀態下向表中追加記錄 三. 使用INSERT SQL命令追加記錄 四. 從其他表中追加記錄,18,用 INSERT SQL命令追加記錄,INSERTSQL命令的一般格式是: INSERT INTO 表名 (字段1 ,字段2,); VALUES(表達式1,表達式2,) 例如,向XS表中插入一個新記錄: INSERT INTO XS(XH,XM,XB,XIMING); VALUE(” 96010057”,”曹曉燕”,”女”,”文”),19,從其他表中追加記錄,從另一個DBF文件中追加記錄到當前表中 APPEND FROM 另一個表文件名 從一個TXT文本文件中追加記錄到當前表中 APPEND FROM TXT文件名 SDF,20,2.3.2 記錄的瀏覽,BROWSE命令 瀏覽窗口 定制瀏覽窗口 篩選瀏覽的字段,21,2.3.3 記錄的定位,記錄指針的概念 記錄的定位方式 記錄定位的實現,22,一、記錄指針的概念,文件頭,(包含表結構等信息),第1號記錄,第2號記錄,第n號記錄,記錄指針,記錄開始標志,記錄結束標志,23,幾個概念,三個控制標志:記錄的開始標志、記錄指針標志、記錄的結束標志 記錄號 當前記錄,24,二、記錄的定位方式,1、指針的絕對移動:把指針移動到指定的位置。 2、指針的相對移動:指從當前位置開始,相對于當前記錄向前或向后移動若干個記錄位置。 3、有條件的記錄指針移動:指讓計算機按照一定的條件自動地在表的某個指定范圍中查找符合該條件的記錄,如果找到符合條件的記錄,則把指針移動到該記錄上,否則,指針將移動到整個表或表的指定范圍的末尾。,25,三、記錄定位的實現,1、在瀏覽狀態下 2、使用命令 絕對定位命令:GO/GOTO/n 相對定位命令:SKIP n 條件定位命令:LOCATE(忽略) 快速定位命令:SEEK,26,三、記錄定位的實現,在“作用范圍” 的四個選項: “All”:表中的全部記錄; “Next”:從當前記錄開始的n個記錄,個數在其右邊的文本框中輸入; “Record”:指定的記錄,記錄號在其右邊的文本框中輸入; “Rest”:當前記錄后的所有記錄。,1. ,文件頭 首記錄 記錄 2 : : 當前記錄 : : RECORD n 記錄 n : : 末記錄 文件尾,ALL,NEXT n,REST,28,2.3.4 記錄的修改,一、在瀏覽窗口中編輯修改記錄 二、批量記錄的修改 1、使用“表”菜單中的“替換字段”項 2、使用命令批量修改記錄,29,修改記錄字段值的的命令有兩個:,REPLACE命令(忽略) UPDATE-SQL命令 語法: UPDATE 表名 SET 字段1=表達式1 ,字段2 = 表達式2 . WHERE 條件表達式,30,2.3.5 記錄的刪除,刪除表中的記錄要分兩個步驟來實現: (1)標記要刪除的記錄; (2)徹底刪除帶刪除標記的記錄。,31,一、標記要刪除的記錄,1、界面方式的刪除 (1)在表的瀏覽窗口中刪除個別記錄 (2)在表的某一范圍內刪除一組符合指定條件的記錄,32,2、命令方式的刪除 (1)DELETE命令 DELETE 范圍 FOR 條件表達式 范圍: ALL(所有記錄) REST(從當前記錄開始到記錄結束) RECORD n(第n號記錄) NEXT n(從當前記錄開始的n條記錄) 默認范圍:當前記錄 FOR 條件表達式:刪除符合條件的記錄 例如: use xs delete delete next 3 delete all for xs.xb=男 delete all,33,2、命令方式的刪除 (2)DELETE-SQL命令 DELETE FROM 表名 WHERE 過濾條件表達式 例如: DELETE FROM xs WHERE xs.xb=男 DELETE FROM xs,34,二、對帶刪除標記記錄的處理,1、測試刪除標記 DELETE()函數 2、恢復刪除 3、徹底刪除 4、控制其他命令對帶刪除標記的記錄的訪問 SET DELETED ON 使命令忽略標有刪除標記的記錄 SET DELETED OFF (默認值)命令可以訪問標有刪除標記的記錄,35,2.3.6 篩選記錄,是指從表中選出部分滿足指定條件的記錄來進行瀏覽或其他操作,不滿足條件的記錄則被“隱含”起來。,36,一. 通過界面操作篩選記錄,在“工作區屬性”對話框中,在“數據過濾器”文本框中輸入篩選條件表達式。,37,二. 使用命令篩選記錄,SET FILTER TO 條件表達式 例如,用以下命令篩選出所有男學生: SET FILTER TO XB=“男” 去掉記錄篩選條件的命令: SET FILTER TO 另外在許多命令的用法中,可以包含FOR子句,使命令在執行時進行臨時性篩選。,38,2.1.1 篩選字段,篩選字段是選取表的部分列。,39,一. 通過界面操作篩選字段,“工作區屬性”對話框中打開“字段篩選器”,40,二、使用命令篩選字段,SET FIELDS ON 指定只能訪問出現在字段列表中的字段。 SET FIELDS OFF (默認值)指定可以訪問當前表中的所有字段。 SET FIELDS TO 字段1 ,字段2. 指定當前表中可訪問的字段的名稱。 SET FIELDS TO ALL 允許訪問當前表中的所有字段。,41,2.4 表的使用,表打開以后才能進行操作,實際上打開表就是把表從磁盤調入內存中某一個工作區。 VFP提供了32767個工作區,編號從132767。,42,2.4.1 工作區,一、工作區的概念 工作區是指用以標識一個打開的表的區域。 每個工作區有一個編號。 每個工作區在某一時刻只能打開一個表。 在同一個工作區打開另外一個表時,以前打開的表會自動關閉。,內存,1,2,3,43,二、工作區表的別名,表的別名是對工作區中打開的表的一個臨時標識。 定義表的別名 (1)在打開表時指定別名 USE 表文件名 ALIAS 別名 (2)在打開表時,如果沒有自定義別名,則系統默認以表文件名作為別名。 (3)前10個工作區除了使用110為編號外,還可以依次使用AJ 十個字母來表示,后者也是別名。,內存,1 xs,2 teacher,3,44,三、當前工作區,1、概念 VFP正在使用的工作區稱為當前工作區,即默認的工作區。 2、當前工作區的區號和別名 (1)用函數SELECT(0)測試當前工作區的區號. (2)用省略參數的ALIAS()函數取得當前工作區表的別名。 (3)在主窗口的狀態行中查看當前工作區中表的別名。,內存,1 xs,2 teacher,3,45,三、當前工作區,3、設置當前工作區 (1)在“數據工作期”窗口中設置 (2)使用SELECT命令設置 SELECT 工作區號|別名 4、處理非當前工作區中的表 方法有二: (1)把其他工作區設成當前工作區; (2)在命令中指定工作區。其一般格式為: 命令 IN 工作區號|別名 (P31例) 5、SELECT 0 命令用來選定當前尚未使用的最小區號。,內存,1 xs,2 teacher,3,46,2.4.2 表的打開和關閉,表只有在被打開時,表中的數據才能被訪問。 每個打開的表占用一個工作區。 一個工作區只能打開一個表。 但一個表可以同時被打開在多個工作區中。 打開的表可以被關閉。,47,一. 打開表,1.通過界面操作 使用“文件”菜單或工具條; 在“數據工作期”窗口中打開(占用一未被使用的工作區); 用USE ?命令打開“使用”窗口,在該窗口中打開; 2.使用命令 USE 表文件名 IN 工作區號|別名 3.多次打開一個表 USE 表文件名 IN 工作區號|別名 AGAIN,48,二. 關閉表,1.通過界面操作 在“數據工作期”窗口中關閉; 2.使用命令 (1)關閉當前工作區中的表:USE (2)關閉非當前工作區中的表的命令: USE IN 工作區號|別名 或者 SELECT 工作區號|別名 USE (3)關閉所有工作區中的表的命令: CLOSE ALL 或者 CLOSE DATABASES ALL 或者 CLOSE TABLES ALL (4)在退出VFP系統時,所有的表都將被關閉。,49,2.4.3 表的獨占與共享使用,一個表同時被多個用戶訪問的情況,就是表的共享使用。反之當一個表只能被一個用戶打開時,稱為表的獨占使用。,50,一. 設置獨占與共享的默認狀態,1、使用“選項對話框”“數據”設置 2、使用SET EXCLUSIVE命令設置: 設置“共享”為默認打開方式 SET EXCLUSIVE OFF 設置“獨占”為默認打開方式 SET EXCLUSIVE ON,51,二. 強行以一種方式打開表,1、在“打開”窗口中設置 2、在用USE命令打開表時,加 “SHARED”(共享)或“EXCLUSIVE”(獨占)子句來指定打開方式 (1)以共享方式打開表 USE 表文件名 SHARED (2)以獨占方式打開表 USE 表文件名 EXCLUSIVE,52,2.4.4 緩沖訪問表中的數據,一、數據緩沖 數據緩沖是VFP在多用戶環境下,用以保護對表記錄所做的數據更新以及數據維護操作的一種技術。它為啟用數據緩沖的表在內存中開辟一個緩沖區,對表的一個或多個記錄的修改可以先保存在緩沖區中,用戶可以決定是否將緩沖區中的數據更新表文件。在更新表文件時,緩沖區自動測試、鎖定以及解鎖記錄或表。,53,1、緩沖的類型有兩種:記錄緩沖和表緩沖。 (1)記錄緩沖(也叫行緩沖)僅對表的一個記錄開設緩沖區,當記錄指針移動時或者關閉表時,緩沖區將自動更新表中相應的記錄。若一次只對一個記錄進行訪問、修改或寫操作,應選擇記錄緩沖。 (2)表緩沖對整個表實施緩沖,僅當發出更新表的命令或關閉表時更新表。若要對多個記錄的更新使用緩沖,應選擇表緩沖。,54,55,(1)保守式緩沖。在多用戶環境中防止一個用戶訪問另一個用戶正在修改的記錄或表。 (2)開放式緩沖。記錄只在被寫入時加鎖。 故有四種緩沖方式: (1)保守式行緩沖 (2)開放式行緩沖 (3)保守式表緩沖 (4)開放式表緩沖,2、緩沖的兩種鎖定方式,56,(1)工作區屬性對話框. (2)使用CURSORSETPROP()函數. 格式: CURSORSETPROP(Buffering,緩沖類型值,工作區|別名) 緩沖類型值有:1為無緩沖 2為保守式行緩沖3為開放式行緩沖 4為保守式表緩沖 5為開放式表緩沖,3、設置表的數據緩沖,57,(1)CURVAL()函數和OLDVAL()函數 (2)GETFLDSTATE()函數 5.執行和放棄對緩沖數據的更改 (1)用TABLEUPDATE()函數執行對緩沖行、緩沖表或臨時表的修改。 (2)用TABLEREVERT()函數放棄對緩沖行、緩沖表或臨時表的修改。,4、檢測緩沖區中數據是否與數據源表一致,58,2.5 表的索引,59,2.5.1 記錄的順序,一、物理順序 按記錄輸入的時間順序存放,并用記錄號予以標識,除非有記錄的刪除和插入,否則表中的物理順序總是不變的。 二、邏輯順序 對記錄按某個字段值或某些字段值排序。,60,2.5.2 索引的幾個概念,一、索引(Index) 索引實際上是一種排序,但是它不改變數據表中的物理順序,而是另外建立一個記錄號列表。而表的索引指明由索引關鍵字的大小決定的記錄排列的順序(記錄的邏輯順序)。 表一旦按索引表達式建立索引后,就產生了一個相應的索引文件,其文件名與表名相同,但擴展名不同。 注意:雖然排序和索引都以增加一個文件為代價,但索引文件只包含關鍵字和記錄號兩個字段,比原來的表要小的多。索引起作用后,增加或修改表的記錄時,索引文件會自動更新,所以索引的應用原比排序廣泛。 1、索引關鍵字 2、索引表達式的構成 3、索引標識(TAG),61,二. 索引的類型,1. 主索引(Primary Indexes) 組成主索引關鍵字的字段或表達式,在表的所有記錄中不能有重復的值的索引。 每張表只能創建一個主索引。 自由表不能建立主索引。 2. 候選索引(Candidate Indexes) 在指定的關鍵字段或表達式中不允許有重復值的索引。 一張表中可以建立多個候選索引。 候選索引可用于數據庫表和自由表。,62,二. 索引的類型,3. 普通索引(Regular Indexes) 允許關鍵字段或表達式的值出現重復。 4. 唯一索引(Unique Indexes) 索引的關鍵字段或表達式在表中可以有重復值,但在索引對照表中,重復的值僅存儲一次,而忽略其他的相同的值。,64,三. 索引文件的種類,1. 索引文件 保存索引信息的文件。 2. 索引文件的種類 (1)結構復合索引文件(.cdx) 結構復合索引文件與對應的表文件的主文件名相同。 與表同步打開、更新和關閉。 (2)非結構復合索引文件(.cdx) 非結構復合索引文件名由用戶給出。 不隨表的打開而自動打開。 (3)獨立索引文件(.idx) 單索引文件只包含一個索引,這種類型是為了與FOXBASE+開發的應用程序相兼容而保留的。但若將它定義為壓縮的,將不能被FOXBASE+使用。 獨立索引不會隨表的打開而自動打開。,65,2.5.3 結構復合索引文件的創建,一、用“表設計器”創建 二、 用INDEX命令創建 INDEX ON 索引表達式 TAG 索引標識名 FOR 條件表達式 ASC
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 江蘇省蘇州市同里中學2024-2025學年初三年級第一次模擬考試(二)數學試題含解析
- 江蘇省四校聯考2025屆高三第二學期月考(三)英語試題含解析
- 家具定制交易合同
- 版個人房屋建設承包協議案例
- 鋁門采購合同
- 2《讓家更美好》表格式公開課一等獎創新教學設計 統編版七年級上冊道德與法治
- 建筑項目勞動力計劃和主要設備供應計劃
- 人教部編版二年級上冊課文4口語交際:商量教案設計
- 經管營銷多維-廣東溢達-問題分析與解決培訓核心片段記錄-1021-22
- 八年級數學下冊 第20章 數據的初步分析20.2 數據的集中趨勢與離散程度 1數據的集中趨勢第2課時 中位數與眾數教學設計 (新版)滬科版
- 科學知識點(知識清單)五年級上冊科學粵教版
- 設備維修規程
- 西川煤礦整合區礦山地質環境保護與土地復墾方案
- Unit 6 Lesson 1 A Medical Pioneer教學設計 高中英語北師大版(2019)必修第二冊
- 英語答題卡2023年全國小學生英語能力測評(NEPTP)低年級組
- 國家開放大學《哲學基礎》形考任務1-3參考答案
- 輸電線路外力破壞危害及特點
- 醫院工作中常見的法律風險和對策專家講座
- (完整word版)扣字詞匯124
- 升壓站建筑工程施工作業指導書
- GB/T 24825-2009LED模塊用直流或交流電子控制裝置性能要求
評論
0/150
提交評論