版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、上一頁下一頁退 出1 15/3/2022第三章表的創(chuàng)建和使用(表的創(chuàng)建和使用(2 2)上一頁下一頁退 出2 25/3/20225/3/2022何為表文件?何為表文件?n用以用以大量大量存儲各類數(shù)據(jù)存儲各類數(shù)據(jù)n表文件的擴(kuò)展名為表文件的擴(kuò)展名為.dbfn表文件存有備注型或通用型數(shù)據(jù)時(shí),則形成表文件存有備注型或通用型數(shù)據(jù)時(shí),則形成同名表備注文件同名表備注文件.fptn表文件分為表文件分為數(shù)據(jù)庫表數(shù)據(jù)庫表和和自由表自由表兩種類型兩種類型n數(shù)據(jù)庫表比自由表功能強(qiáng)數(shù)據(jù)庫表比自由表功能強(qiáng)上一頁下一頁退 出3 35/3/20225/3/20223.3 3.3 表(表(Table)Table)3.3.1 表的
2、概念表的概念n數(shù)據(jù)表即一張二維表,簡稱數(shù)據(jù)表即一張二維表,簡稱表表, ,在在vfpvfp中保中保存為一個(gè)存為一個(gè)表文件表文件(.dbf)(.dbf)n表文件名規(guī)則:表文件名規(guī)則:p76p76 關(guān)鍵點(diǎn):不能用關(guān)鍵點(diǎn):不能用A-JA-J中的單個(gè)字母命名中的單個(gè)字母命名n表中的一列為字段表中的一列為字段(Field)(Field) vfpvfp中一張表最多可有中一張表最多可有255255個(gè)字段個(gè)字段n表中的一行為記錄表中的一行為記錄(Record)(Record) 同一張表每一個(gè)記錄都有相同的字段同一張表每一個(gè)記錄都有相同的字段上一頁下一頁退 出4 45/3/20225/3/20223.3.2 表結(jié)
3、構(gòu)概述表結(jié)構(gòu)概述n建表的步驟:建表的步驟: 1 1)定義表結(jié)構(gòu))定義表結(jié)構(gòu)(人腦過程)(人腦過程) 即指定表包含的字段及其屬性即指定表包含的字段及其屬性 2 2)建立表的結(jié)構(gòu))建立表的結(jié)構(gòu) 3 3)保存為表文件)保存為表文件 (人(人+ +機(jī)器過程)機(jī)器過程) 4 4)輸入記錄)輸入記錄-n表結(jié)構(gòu)概述表結(jié)構(gòu)概述上一頁下一頁退 出5 55/3/20225/3/20221 1、字段名、字段名( Field Name) ( Field Name) 見名知義,不能同名見名知義,不能同名 命名規(guī)則?(命名規(guī)則?(p76)p76)2 2、字段數(shù)據(jù)類型、字段數(shù)據(jù)類型(Type) (Type) p76p76表
4、表3-13-1 CC字符型字符型 NN數(shù)值形數(shù)值形 FF浮點(diǎn)型浮點(diǎn)型 DD日期型日期型 I I 整型整型 LL邏輯型邏輯型 MM備注型備注型 GG通用型通用型3 3、字段寬度、字段寬度(Width)(Width) ( (以下類型寬度固定)以下類型寬度固定)貨幣型、日期型、日期時(shí)間型、雙精度型:貨幣型、日期型、日期時(shí)間型、雙精度型:8 8字節(jié)字節(jié)整型、備注型、通用型:整型、備注型、通用型:4 4字節(jié)字節(jié)邏輯型:邏輯型:1 1字節(jié)字節(jié)上一頁下一頁退 出6 65/3/20225/3/20224 4、小數(shù)位數(shù)、小數(shù)位數(shù)(Decimal)(Decimal)有小數(shù)的字段:有小數(shù)的字段:數(shù)值型數(shù)值型、浮點(diǎn)型
5、、雙精度型、浮點(diǎn)型、雙精度型字段寬度字段寬度 = 整數(shù)部分寬度整數(shù)部分寬度 + 小數(shù)點(diǎn)小數(shù)點(diǎn)1位位 +小數(shù)位寬度小數(shù)位寬度p77的解釋!的解釋!5 5、空值支持、空值支持 ( Null )( Null )空值是用來標(biāo)識一個(gè)字段空值是用來標(biāo)識一個(gè)字段“沒有值沒有值”的標(biāo)志的標(biāo)志空值表示沒有任何值或沒有確定值,是用來表示數(shù)空值表示沒有任何值或沒有確定值,是用來表示數(shù) 據(jù)存在與否的屬性說明據(jù)存在與否的屬性說明空值不等同于數(shù)值空值不等同于數(shù)值0、空字符串或邏輯、空字符串或邏輯“假假”可用函數(shù)可用函數(shù)ISNULL( ) 測試空值測試空值, 判斷某字段是否有值判斷某字段是否有值上一頁下一頁退 出7 75/
6、3/20225/3/20223.3.2 3.3.2 表結(jié)構(gòu)的創(chuàng)建和修改表結(jié)構(gòu)的創(chuàng)建和修改方法方法: n可視化操作:可視化操作:表設(shè)計(jì)器表設(shè)計(jì)器 n命令方式:命令方式:SQL命令命令create table 表文件表文件: 文件名文件名.擴(kuò)展名擴(kuò)展名 文件名文件名.dbf 表結(jié)構(gòu)若包含表結(jié)構(gòu)若包含M、G字段,字段, 則系統(tǒng)同時(shí)自動產(chǎn)生表備注文件則系統(tǒng)同時(shí)自動產(chǎn)生表備注文件 文件名文件名.fpt上一頁下一頁退 出8 85/3/20225/3/20221、用表設(shè)計(jì)器創(chuàng)建表結(jié)構(gòu)、用表設(shè)計(jì)器創(chuàng)建表結(jié)構(gòu)(xs.dbf)(1) 打開打開“表設(shè)計(jì)器表設(shè)計(jì)器”?項(xiàng)目管理器項(xiàng)目管理器/自由表自由表/新建新建/新表
7、新表/保存保存注:注: A、也可從菜單或工具欄中直接新建表、也可從菜單或工具欄中直接新建表 B、與在、與在“項(xiàng)目管理器項(xiàng)目管理器”中新建表不同的是:中新建表不同的是: 這樣新建的表將不包含在項(xiàng)目中這樣新建的表將不包含在項(xiàng)目中(2)在在“表設(shè)計(jì)器表設(shè)計(jì)器”中創(chuàng)建表結(jié)構(gòu)中創(chuàng)建表結(jié)構(gòu) 表設(shè)計(jì)器表設(shè)計(jì)器/字段字段/輸入輸入/確定確定保存表結(jié)構(gòu)保存表結(jié)構(gòu)3.2.2 表結(jié)構(gòu)的創(chuàng)建表結(jié)構(gòu)的創(chuàng)建上一頁下一頁退 出9 95/3/20225/3/20222、用、用create table -SQL命令創(chuàng)建表結(jié)構(gòu)命令創(chuàng)建表結(jié)構(gòu) p101 create table 表文件名表文件名(字段名字段名1 1 字段類型字段類
8、型 (字(字段寬度段寬度 ,小數(shù)位數(shù),小數(shù)位數(shù) )NULL|NOT NULLNULL|NOT NULL , 字段名字段名2 2 字字段類型段類型 (字段寬度(字段寬度 ,小數(shù)位數(shù),小數(shù)位數(shù) ) )例:例:學(xué)生表結(jié)構(gòu)學(xué)生表結(jié)構(gòu) create table xs2(xh c(6),xm c(8),xb ; c(2),zydh c(6),ximing c(18) 上一頁下一頁退 出10105/3/20225/3/2022注意點(diǎn)注意點(diǎn):表文件存放位置表文件存放位置? 表創(chuàng)建后的狀態(tài)表創(chuàng)建后的狀態(tài)?3、使用、使用Null值值n表設(shè)計(jì)器表設(shè)計(jì)器/字段字段/NULLncreate table 中中NULL,N
9、OT NULL子句子句例:例:create table zg(gh c(6) not null,xm c(8) not null,csrq d null)nset null on/Off上一頁下一頁退 出11115/3/20225/3/20223.3.2 修改表結(jié)構(gòu)修改表結(jié)構(gòu)1、表設(shè)計(jì)器、表設(shè)計(jì)器項(xiàng)目管理器項(xiàng)目管理器/選定表選定表/修改修改2、命令、命令nUSE XS / MODIFY STRUCTUREnALTER TABLE-SQL命令命令添加字段:添加字段:ADD COLUMN 子句子句例:例: ALTER TABLE XS ADD COLUMN BJMC C(12)重命名字段:重命名字
10、段:RENAME COLUMN 子句子句例例:ALTER TABLE XS RENAME COLUMN BJMC TO BJ刪除字段:刪除字段:DROP COLUMN 子句子句例:例: ALTER TABLE XS DROP COLUMN BJ上一頁下一頁退 出12125/3/20225/3/20223.3.3 字段屬性與表屬性字段屬性與表屬性n庫表的字段屬性庫表的字段屬性=自由表字段屬性自由表字段屬性+擴(kuò)展屬性擴(kuò)展屬性n庫表的字段擴(kuò)展屬性設(shè)置庫表的字段擴(kuò)展屬性設(shè)置通過庫表設(shè)計(jì)器通過庫表設(shè)計(jì)器進(jìn)行進(jìn)行n庫表的字段擴(kuò)展屬性設(shè)置記載在數(shù)據(jù)字典中庫表的字段擴(kuò)展屬性設(shè)置記載在數(shù)據(jù)字典中上一頁下一頁退
11、出13135/3/20225/3/2022一、字段的擴(kuò)展屬性一、字段的擴(kuò)展屬性 用于指定字段用于指定字段輸入時(shí)輸入時(shí)和和顯示時(shí)顯示時(shí)的格式的格式 1)字段的標(biāo)題和注釋:)字段的標(biāo)題和注釋:增強(qiáng)增強(qiáng)可讀性可讀性 2)字段的顯示屬性)字段的顯示屬性 字段格式:字段格式:指定字段數(shù)據(jù)指定字段數(shù)據(jù)顯示顯示的格式的格式P79表表3-2 字段格式字段格式 輸入掩碼:輸入掩碼:指定字段數(shù)據(jù)指定字段數(shù)據(jù)輸入輸入的格式的格式 P79表表3-3 輸入掩碼輸入掩碼上一頁下一頁退 出14145/3/20225/3/20223)默認(rèn)值)默認(rèn)值作用:作用:可減少用戶的數(shù)據(jù)輸入工作量可減少用戶的數(shù)據(jù)輸入工作量n添加記錄時(shí),
12、指定字段所具有的最初的值添加記錄時(shí),指定字段所具有的最初的值n字段字段默認(rèn)值要與該字段類型匹配默認(rèn)值要與該字段類型匹配n允許允許.NULL.值的字段,亦可將之置為值的字段,亦可將之置為 .NULL.n系統(tǒng)自動的默認(rèn)值(系統(tǒng)自動的默認(rèn)值(P80)上一頁下一頁退 出15155/3/20225/3/20224)字段的有效性規(guī)則和有效性信息)字段的有效性規(guī)則和有效性信息1.字段有效性規(guī)則字段有效性規(guī)則n有效性規(guī)則有效性規(guī)則作用:作用:控制用戶輸入到控制用戶輸入到字段字段中的數(shù)據(jù)的中的數(shù)據(jù)的取值范圍取值范圍(也可檢查已輸入字段值的合法性也可檢查已輸入字段值的合法性) 。n有效性規(guī)則有效性規(guī)則設(shè)置方式:設(shè)
13、置方式:一個(gè)邏輯表達(dá)式(包括該字一個(gè)邏輯表達(dá)式(包括該字段)段) 字段級規(guī)則在字段值改變時(shí)發(fā)生作用。字段級規(guī)則在字段值改變時(shí)發(fā)生作用。字段級的字段級的有效性規(guī)則將把已輸入的字段值用所定義的規(guī)則表有效性規(guī)則將把已輸入的字段值用所定義的規(guī)則表達(dá)式進(jìn)行驗(yàn)證,如果輸入的值不滿足規(guī)則要求,則達(dá)式進(jìn)行驗(yàn)證,如果輸入的值不滿足規(guī)則要求,則拒絕該值。拒絕該值。2. 有效性信息有效性信息n字段有效性信息:字段有效性信息:一個(gè)字符表達(dá)式,顯示出錯(cuò)信息一個(gè)字符表達(dá)式,顯示出錯(cuò)信息上一頁下一頁退 出16165/3/20225/3/20225)字段的默認(rèn)控件類)字段的默認(rèn)控件類n該屬性用于指定使用該屬性用于指定使用“表
14、單向?qū)П韱蜗驅(qū)А鄙杀韱位驈臄?shù)生成表單或從數(shù)據(jù)環(huán)境中將字段拖放到表單上時(shí),與該字段相應(yīng)的據(jù)環(huán)境中將字段拖放到表單上時(shí),與該字段相應(yīng)的控件類。控件類。上一頁下一頁退 出17175/3/20225/3/20222、數(shù)據(jù)庫表的表屬性、數(shù)據(jù)庫表的表屬性 數(shù)據(jù)庫表不僅可以設(shè)置字段的高級屬性,且可數(shù)據(jù)庫表不僅可以設(shè)置字段的高級屬性,且可為表設(shè)置屬性為表設(shè)置屬性(也作為數(shù)據(jù)字典內(nèi)容保存也作為數(shù)據(jù)字典內(nèi)容保存)表屬性包括:表屬性包括:n 長表名長表名n 表注釋表注釋n 表記錄的有效性規(guī)則及說明表記錄的有效性規(guī)則及說明n 觸發(fā)器觸發(fā)器上一頁下一頁退 出18185/3/20225/3/20222、數(shù)據(jù)庫表的表屬性
15、、數(shù)據(jù)庫表的表屬性(1 1)長表名與表注釋)長表名與表注釋(2 2)表記錄的有效性規(guī)則和信息)表記錄的有效性規(guī)則和信息(3 3)觸發(fā)器)觸發(fā)器上一頁下一頁退 出19195/3/20225/3/20221. 長表名與表注釋長表名與表注釋n表名長度規(guī)定表名長度規(guī)定n受操作系統(tǒng)的限制(受操作系統(tǒng)的限制(DOS、Windows)n自由表自由表,數(shù)據(jù)庫表數(shù)據(jù)庫表最長最長128個(gè)字符個(gè)字符n長表名作用:長表名作用:代替表名用以在各種窗口顯示代替表名用以在各種窗口顯示 增強(qiáng)可讀性增強(qiáng)可讀性n長表名使用:長表名使用:等同于表文件名等同于表文件名 但用使用長表名打開表時(shí),表所屬數(shù)據(jù)庫必須打開并且是當(dāng)前但用使用長
16、表名打開表時(shí),表所屬數(shù)據(jù)庫必須打開并且是當(dāng)前數(shù)據(jù)庫,否則將不能成功打開。而使用表文件名打開表時(shí),如果數(shù)據(jù)庫,否則將不能成功打開。而使用表文件名打開表時(shí),如果所屬數(shù)據(jù)庫未打開,將會自動打開數(shù)據(jù)庫所屬數(shù)據(jù)庫未打開,將會自動打開數(shù)據(jù)庫n表注釋:表注釋:表的說明信息表的說明信息上一頁下一頁退 出20205/3/20225/3/20222 .表記錄的驗(yàn)證規(guī)則表記錄的驗(yàn)證規(guī)則包括:包括:表記錄表記錄有效性規(guī)則和有效性信息有效性規(guī)則和有效性信息n作用:作用:記錄級規(guī)則記錄級規(guī)則 用來驗(yàn)證用戶輸入到用來驗(yàn)證用戶輸入到記錄記錄中的一組數(shù)據(jù),通常校中的一組數(shù)據(jù),通常校驗(yàn)同一驗(yàn)同一 記錄中的兩個(gè)或多個(gè)字段值之間是否
17、滿足某種關(guān)記錄中的兩個(gè)或多個(gè)字段值之間是否滿足某種關(guān)系要求。系要求。n設(shè)置方式設(shè)置方式: :包括記錄相關(guān)字段的一個(gè)邏輯表包括記錄相關(guān)字段的一個(gè)邏輯表達(dá)式達(dá)式上一頁下一頁退 出21215/3/20225/3/20222 .表記錄的驗(yàn)證規(guī)則表記錄的驗(yàn)證規(guī)則包括:包括:表記錄表記錄有效性規(guī)則和有效性信息有效性規(guī)則和有效性信息n何時(shí)被激活何時(shí)被激活n記錄值改變時(shí):記錄值改變時(shí): 在記錄指針移離記錄時(shí)檢查;在記錄指針移離記錄時(shí)檢查; 或關(guān)閉或關(guān)閉“瀏覽瀏覽”窗口時(shí)窗口時(shí)n增加記錄有效規(guī)則,增加記錄有效規(guī)則,一般要對已有記錄數(shù)據(jù)進(jìn)行檢一般要對已有記錄數(shù)據(jù)進(jìn)行檢查查n如何設(shè)置如何設(shè)置: : n表設(shè)計(jì)器表設(shè)計(jì)
18、器“表表”選項(xiàng)卡選項(xiàng)卡nCREATE TABLE CHECK、ERROR子句子句nALTER TABLE 命令的命令的SET CHECK 、ERROR子句子句上一頁下一頁退 出22225/3/20225/3/20222、數(shù)據(jù)庫表的表屬性、數(shù)據(jù)庫表的表屬性(3 3)觸發(fā)器)觸發(fā)器n 觸發(fā)器(觸發(fā)器(Trigger)是綁定在表上的邏輯表達(dá)式,當(dāng)表中的任是綁定在表上的邏輯表達(dá)式,當(dāng)表中的任何記錄被修改(插入、更新或刪除)時(shí),在進(jìn)行了其他所有檢查何記錄被修改(插入、更新或刪除)時(shí),在進(jìn)行了其他所有檢查之后被激活。之后被激活。n分為三類:分為三類:n 插入觸發(fā)器插入觸發(fā)器n 更新觸發(fā)器更新觸發(fā)器n 刪除
19、觸發(fā)器刪除觸發(fā)器n界面:界面: 通過庫表設(shè)計(jì)器通過庫表設(shè)計(jì)器 “表表”選項(xiàng)卡選項(xiàng)卡n 注意點(diǎn):注意點(diǎn):P P8282表表3-53-5上一頁下一頁退 出23235/3/20225/3/20223 3 表的觸發(fā)器表的觸發(fā)器n 基本概念:基本概念:n“表觸發(fā)器表觸發(fā)器” (Trigger)是在對表)是在對表插入、更插入、更新或刪除新或刪除記錄時(shí)運(yùn)行的記錄時(shí)運(yùn)行的檢查規(guī)則檢查規(guī)則n不同的不同的操作動作操作動作可以對應(yīng)不同的可以對應(yīng)不同的檢查規(guī)則檢查規(guī)則。nTrigger是綁定在表上的是綁定在表上的邏輯表達(dá)式邏輯表達(dá)式,當(dāng)表中的,當(dāng)表中的任何記錄被指定的操作命令任何記錄被指定的操作命令插入、更新或刪除插
20、入、更新或刪除時(shí),時(shí),對應(yīng)觸發(fā)器在其他規(guī)則進(jìn)行了相關(guān)檢查之后被激對應(yīng)觸發(fā)器在其他規(guī)則進(jìn)行了相關(guān)檢查之后被激活?;睢如果從數(shù)據(jù)庫中移去一張表,則同時(shí)刪除和該表如果從數(shù)據(jù)庫中移去一張表,則同時(shí)刪除和該表相關(guān)聯(lián)的觸發(fā)器。相關(guān)聯(lián)的觸發(fā)器。上一頁下一頁退 出24245/3/20225/3/2022n創(chuàng)建表的觸發(fā)器:創(chuàng)建表的觸發(fā)器:n三個(gè)觸發(fā)器三個(gè)觸發(fā)器n插入(插入(INSERTINSERT)觸發(fā)器:)觸發(fā)器:每次向表中插入或追加新記錄時(shí)觸發(fā)該規(guī)則;每次向表中插入或追加新記錄時(shí)觸發(fā)該規(guī)則;n更新(更新(UPDATEUPDATE)觸發(fā)器:)觸發(fā)器:每次在表中修改記錄時(shí)觸發(fā)該規(guī)則;每次在表中修改記錄時(shí)觸發(fā)該
21、規(guī)則;n刪除(刪除(DELETEDELETE)觸發(fā)器:)觸發(fā)器:每次在表中刪除記錄時(shí)觸發(fā)該規(guī)則。每次在表中刪除記錄時(shí)觸發(fā)該規(guī)則。觸發(fā)器必須返回觸發(fā)器必須返回.T.T.(允許操作(允許操作)或)或.F.F.(不允許操作)(不允許操作)上一頁下一頁退 出25255/3/20225/3/2022n創(chuàng)建方法創(chuàng)建方法n表設(shè)計(jì)器表設(shè)計(jì)器 “表表”選項(xiàng)卡選項(xiàng)卡n命令命令CREATE TRIGGER ON 表名表名 FOR INSERT AS 邏輯表邏輯表達(dá)式達(dá)式CREATE TRIGGER ON 表名表名 FOR UPDATE AS 邏輯表邏輯表達(dá)式達(dá)式CREATE TRIGGER ON 表名表名 FOR
22、DELETE AS 邏輯表邏輯表達(dá)式達(dá)式上一頁下一頁退 出26265/3/20225/3/2022n例例:在在JS1表中創(chuàng)建更新觸發(fā)器表中創(chuàng)建更新觸發(fā)器,防止防止GL字段值字段值 大于大于50(不大于不大于)CREATE TRIGGER ON JS1 FOR UPDATE ; AS GL=50n移去或刪除觸發(fā)器移去或刪除觸發(fā)器操作方法操作方法: :n表設(shè)計(jì)器表設(shè)計(jì)器 “表表”選項(xiàng)卡選項(xiàng)卡n命令命令DELETE TRIGGER ON 表名表名 FOR ; DELETE|INSERT|UPDATE 提醒:提醒:如果從數(shù)據(jù)庫中移去或刪除表如果從數(shù)據(jù)庫中移去或刪除表,則所有屬于該表的則所有屬于該表的觸
23、發(fā)器都從數(shù)據(jù)庫中刪除觸發(fā)器都從數(shù)據(jù)庫中刪除上一頁下一頁退 出27275/3/20225/3/2022 數(shù)據(jù)庫表的字段級和記錄級規(guī)則以及表的觸發(fā)數(shù)據(jù)庫表的字段級和記錄級規(guī)則以及表的觸發(fā)器等,為表數(shù)據(jù)的輸入和修改實(shí)施了約束器等,為表數(shù)據(jù)的輸入和修改實(shí)施了約束。數(shù)據(jù)庫表的約束機(jī)制及其激活時(shí)機(jī)制數(shù)據(jù)庫表的約束機(jī)制及其激活時(shí)機(jī)制約束機(jī)制約束機(jī)制級級 激活時(shí)機(jī)激活時(shí)機(jī)NULL有效性有效性字段字段 /列列 當(dāng)從瀏覽中離開字段當(dāng)從瀏覽中離開字段/列,或在執(zhí)行列,或在執(zhí)行INSERT或或 REPLACE更改字段值時(shí)。更改字段值時(shí)。字段級規(guī)則字段級規(guī)則字段字段 /列列 當(dāng)從瀏覽中離開字段當(dāng)從瀏覽中離開字段/列,或
24、在執(zhí)行列,或在執(zhí)行INSERT或或 REPLACE更改字段值時(shí)。更改字段值時(shí)。記錄級規(guī)則記錄級規(guī)則記錄記錄發(fā)生記錄更新時(shí)。發(fā)生記錄更新時(shí)。侯選侯選 /主索引主索引記錄記錄發(fā)生記錄更新時(shí)。發(fā)生記錄更新時(shí)。VALID子句子句表單表單移出記錄時(shí)。移出記錄時(shí)。觸發(fā)器觸發(fā)器表表在在 INSERT、 UPDATA或或 DELETE事事件中,表中值改變時(shí)。件中,表中值改變時(shí)。上一頁下一頁退 出28285/3/20225/3/20221、概念、概念 工作區(qū):工作區(qū):用以標(biāo)識一張打開的表的區(qū)域用以標(biāo)識一張打開的表的區(qū)域 打開表實(shí)質(zhì)就是將數(shù)據(jù)表放入一個(gè)內(nèi)存區(qū)打開表實(shí)質(zhì)就是將數(shù)據(jù)表放入一個(gè)內(nèi)存區(qū)-工作區(qū)工作區(qū) 每個(gè)
25、每個(gè)工作區(qū)工作區(qū)都由有一個(gè)編號都由有一個(gè)編號:1-32767(p68) 使用特點(diǎn)使用特點(diǎn):一個(gè)工作區(qū)在某一時(shí)刻只能打開一張表一個(gè)工作區(qū)在某一時(shí)刻只能打開一張表.舉例:舉例: USE XS &默認(rèn)在默認(rèn)在1號工作區(qū)打開號工作區(qū)打開 LIST USE JS &XS自動關(guān)閉自動關(guān)閉 LIST3.3.4 表的打開與關(guān)閉表的打開與關(guān)閉3.3.4.1 3.3.4.1 工作區(qū)工作區(qū)上一頁下一頁退 出29295/3/20225/3/2022Cpu內(nèi)內(nèi) 存存磁盤磁盤表表1(1)表表2(2)表表3(86)表表4(11120)表表1(11121)上一頁下一頁退 出30305/3/20225/3/20
26、22一張表可以同時(shí)在多個(gè)工作區(qū)打開一張表可以同時(shí)在多個(gè)工作區(qū)打開.多張表可以同時(shí)在多個(gè)工作區(qū)分別打開多張表可以同時(shí)在多個(gè)工作區(qū)分別打開. 當(dāng)前工作區(qū)當(dāng)前工作區(qū): 又稱默認(rèn)工作區(qū)又稱默認(rèn)工作區(qū) 即正在使用的工作區(qū)即正在使用的工作區(qū)在不指定情況下在不指定情況下, 系統(tǒng)以系統(tǒng)以當(dāng)前工作區(qū)當(dāng)前工作區(qū)的表為的表為操作對象操作對象Vfp系統(tǒng)啟動后默認(rèn)的系統(tǒng)啟動后默認(rèn)的當(dāng)前工作區(qū)當(dāng)前工作區(qū)為為1號號工作區(qū)工作區(qū)SELECT命令命令:選擇當(dāng)前工作區(qū)選擇當(dāng)前工作區(qū) p83:語法語法上一頁下一頁退 出31315/3/20225/3/20222、表的別名、表的別名 對工作區(qū)中打開的表的一個(gè)臨時(shí)標(biāo)識對工作區(qū)中打開的表
27、的一個(gè)臨時(shí)標(biāo)識 USE ALIAS 例:例:USE XS ALIAS STUDENTS 重復(fù)打開?:重復(fù)打開?: USE XS Again In 03、當(dāng)前工作區(qū)設(shè)定、當(dāng)前工作區(qū)設(shè)定(1)在)在“數(shù)據(jù)工作期數(shù)據(jù)工作期”窗口中設(shè)置當(dāng)前工作區(qū)窗口中設(shè)置當(dāng)前工作區(qū) 窗口窗口/數(shù)據(jù)工作期數(shù)據(jù)工作期/別名別名 (2)命令)命令 SELECT 工作區(qū)號工作區(qū)號|別名別名例:例:SELE 2 SELE STUDENTS上一頁下一頁退 出32325/3/20225/3/2022SELECT命令命令:選擇當(dāng)前工作區(qū)選擇當(dāng)前工作區(qū)可以同時(shí)在多個(gè)工作區(qū)中打開多張表可以同時(shí)在多個(gè)工作區(qū)中打開多張表SELE 1USE
28、XSSELE 2USE JSSELE 1上一頁下一頁退 出33335/3/20225/3/2022n操作非當(dāng)前工作區(qū)中的表操作非當(dāng)前工作區(qū)中的表n把其它的工作區(qū)選為當(dāng)前工作區(qū)把其它的工作區(qū)選為當(dāng)前工作區(qū)SELE 2n在命令中強(qiáng)行指定工作區(qū)在命令中強(qiáng)行指定工作區(qū)GO TOP IN 工作區(qū)號工作區(qū)號|別名別名n關(guān)于關(guān)于 SELE 0 及及 IN 0 0 表示選擇未被使用的最小編號的工作區(qū)表示選擇未被使用的最小編號的工作區(qū)3.3.4.23.3.4.2數(shù)據(jù)工作期窗口數(shù)據(jù)工作期窗口 上一頁下一頁退 出34345/3/20225/3/2022nVFP在使用一個(gè)表前必須把表打開在使用一個(gè)表前必須把表打開 顯
29、式打開顯式打開:界面打開操作或者打開命令界面打開操作或者打開命令(use) 隱式打開隱式打開:由相關(guān)操作引起系統(tǒng)自動打開表由相關(guān)操作引起系統(tǒng)自動打開表n打開命令打開命令nUSE (當(dāng)前默認(rèn)目錄下的表的打開當(dāng)前默認(rèn)目錄下的表的打開)nUSE (指定目錄下的表的打開指定目錄下的表的打開)nVFP在結(jié)束使用一個(gè)表時(shí),必須把表關(guān)閉在結(jié)束使用一個(gè)表時(shí),必須把表關(guān)閉n關(guān)閉命令關(guān)閉命令nUSEnCLOSE ALLnCLOSE DATABASE/TABLE3.3.4表的打開和關(guān)閉表的打開和關(guān)閉上一頁下一頁退 出35355/3/20225/3/2022n剛創(chuàng)建的表處于打開狀態(tài)剛創(chuàng)建的表處于打開狀態(tài)n打開的表可以
30、被關(guān)閉打開的表可以被關(guān)閉,關(guān)閉的表也可以再關(guān)閉的表也可以再次打開次打開1、表的打開、表的打開n界面界面文件文件/打開或打開或“打開打開”按鈕按鈕窗口窗口/數(shù)據(jù)工作期數(shù)據(jù)工作期/打開打開在在“項(xiàng)目管理器項(xiàng)目管理器”中打開中打開USE ?上一頁下一頁退 出36365/3/20225/3/2022n 命令命令 (p85語法語法)USE USE IN n 多次打開同一張表多次打開同一張表一張表可以在多個(gè)工作區(qū)同時(shí)打開一張表可以在多個(gè)工作區(qū)同時(shí)打開USE AGAIN例:例:USE XS SELE 0 USE XS AGAIN上一頁下一頁退 出37375/3/20225/3/20222、表的關(guān)閉、表的關(guān)閉
31、n表的自動關(guān)閉表的自動關(guān)閉?n界面:窗口界面:窗口/數(shù)據(jù)工作期數(shù)據(jù)工作期/關(guān)閉關(guān)閉n命令命令USEUSE IN CLOSE ALL &數(shù)據(jù)庫、索引、項(xiàng)目管理器等也被數(shù)據(jù)庫、索引、項(xiàng)目管理器等也被關(guān)閉關(guān)閉CLOSE DATABASES &如果當(dāng)前沒有打開的數(shù)據(jù)如果當(dāng)前沒有打開的數(shù)據(jù)庫,則把自由表全部關(guān)閉庫,則把自由表全部關(guān)閉CLOSE TABLES &關(guān)閉所有工作區(qū)中的表關(guān)閉所有工作區(qū)中的表退出退出VFP注意注意:SQL語句能自動打開表,但不會自動關(guān)閉表!語句能自動打開表,但不會自動關(guān)閉表!上一頁下一頁退 出38385/3/20225/3/2022 表的獨(dú)占與共享使用表的
32、獨(dú)占與共享使用表的共享使用:一張表可以同時(shí)被多個(gè)用戶打開訪問表的共享使用:一張表可以同時(shí)被多個(gè)用戶打開訪問(SHARED)表的獨(dú)占使用:一張表只能被一個(gè)用戶打開表的獨(dú)占使用:一張表只能被一個(gè)用戶打開(默認(rèn)默認(rèn))(EXCLUSIVE)n設(shè)置獨(dú)占與共享打開表的狀態(tài)設(shè)置獨(dú)占與共享打開表的狀態(tài)n工具工具/選項(xiàng)選項(xiàng)/數(shù)據(jù)數(shù)據(jù)nSET EXCLUSIVE OFF/ON(共享共享/獨(dú)占獨(dú)占)n強(qiáng)行用一種方式打開表強(qiáng)行用一種方式打開表n“打開打開”“獨(dú)占獨(dú)占”復(fù)選框復(fù)選框nUSE USE SHARED/EXCLUSIVE SHARED/EXCLUSIVEn設(shè)置改變,并不改變已經(jīng)打開的表的狀態(tài)(演示)設(shè)置改變,
33、并不改變已經(jīng)打開的表的狀態(tài)(演示)n一張表同時(shí)被多次打開時(shí),只以第一次的打開方式為準(zhǔn)一張表同時(shí)被多次打開時(shí),只以第一次的打開方式為準(zhǔn)(窗口(窗口/ /數(shù)據(jù)工作期)數(shù)據(jù)工作期)上一頁下一頁退 出39395/3/20225/3/2022 3.3.5 3.3.5 記錄的處理記錄的處理一、記錄的輸入一、記錄的輸入1、立即輸入記錄(、立即輸入記錄(顯示顯示/追加方式追加方式)2、瀏覽窗口下追加(、瀏覽窗口下追加(瀏覽瀏覽/顯示顯示/追加方式追加方式 表表/追加新記錄追加新記錄)3、使用、使用INSERT - SQL命令追加記錄命令追加記錄INSERT INTO 表名表名(字段(字段1,字段,字段2);
34、VALUES(表達(dá)式(表達(dá)式1,表達(dá)式,表達(dá)式2)例:例:INSERT INTO XS(XH,XM,XB,XIMING);); VALUES(“950106”,“高山高山” ,“男男”,“管理系管理系”)4、其它追加記錄方法、其它追加記錄方法n 命令命令A(yù)PPEND BLANK :追加空記錄追加空記錄n APPEND FROM:從其他表或文件中追加記錄從其他表或文件中追加記錄5、備注型與通用型字段數(shù)據(jù)輸入、備注型與通用型字段數(shù)據(jù)輸入上一頁下一頁退 出40405/3/20225/3/2022二、記錄的瀏覽二、記錄的瀏覽1、瀏覽窗口、瀏覽窗口n進(jìn)入進(jìn)入 :BROWSE 命令命令 use xs/顯示
35、顯示/瀏覽瀏覽項(xiàng)目管理器項(xiàng)目管理器/選定某個(gè)表選定某個(gè)表/單擊單擊“瀏覽瀏覽”按鈕按鈕 n使用:窗口、使用:窗口、“表表”菜單、命令菜單、命令2、BROWSE命令命令nLIST nBROWSE FIELDS xh,xm,xb for . p88:語法語法上一頁下一頁退 出41415/3/20225/3/2022三、記錄的篩選三、記錄的篩選n 界面界面P88 “表表”“屬性屬性”“數(shù)據(jù)過濾器數(shù)據(jù)過濾器”例:例:找出所有小于找出所有小于60歲的人歲的人n 命令命令n SET FILTER TO n SET FILTER TOn BROWSEn FOR子句子句n 注意:注意:n是隱藏而非刪除是隱藏而
36、非刪除n對對SELECT-SQL、 DELETE-SQL、UPDATE-SQL無效無效上一頁下一頁退 出42425/3/20225/3/2022四、限制對字段的訪問四、限制對字段的訪問n表表/屬性屬性/字段篩選字段篩選nBROWSE FIELDSnSET FIELDS TO上一頁下一頁退 出43435/3/20225/3/2022五、記錄的定位五、記錄的定位Go topgo bottomskip1、記錄指針標(biāo)志、記錄指針標(biāo)志記錄號:按初次輸入順序記錄號:按初次輸入順序記錄的開始標(biāo)志記錄的開始標(biāo)志 BOF ( )記錄指針標(biāo)志記錄指針標(biāo)志: 當(dāng)前記錄當(dāng)前記錄 RECNO ( )記錄的結(jié)束標(biāo)志記錄的
37、結(jié)束標(biāo)志 EOF ( )2、記錄的定位方式、記錄的定位方式絕對定位絕對定位 go to相對定位相對定位 skip條件定位條件定位 locate for第第n條記錄條記錄第第1條記錄條記錄:文件頭文件頭上一頁下一頁退 出44445/3/20225/3/2022例例1 1:假設(shè)假設(shè)xs表有表有13條記錄,先后執(zhí)行以條記錄,先后執(zhí)行以 下命令:下命令: bof() eof() recno()Use xs f f 1Skip -1 t f 1 skip -1 出錯(cuò)出錯(cuò) Go bott f f 13 skip f t 14 skip 出錯(cuò)出錯(cuò)上一頁下一頁退 出45455/3/20225/3/2022例例
38、2 2 ?recno( )Use xs 1go 5 5skip +2 7skip -3 4locate for xm=“高平” 8 上一頁下一頁退 出46465/3/20225/3/20223、記錄定位的實(shí)現(xiàn)、記錄定位的實(shí)現(xiàn)n界面方式界面方式 (“表表”“轉(zhuǎn)到記錄轉(zhuǎn)到記錄”)記錄號:絕對定位記錄號:絕對定位 goto定位:條件定位定位:條件定位 locate for作用范圍作用范圍:all,next,record,rest,for找到找到/未找到未找到n命令方式命令方式 絕對定位絕對定位:GO( GOTO ) GO( GOTO ) TOP/BOTTOM 相對定位:相對定位:SKIP 快速移動快
39、速移動:SEEK 及 FIND(與索引有關(guān))(與索引有關(guān))上一頁下一頁退 出47475/3/20225/3/2022六、記錄的修改六、記錄的修改1、在瀏覽窗口中修改、在瀏覽窗口中修改n表打開后:表打開后:EDIT / CHANGE / BROWSE 或者:顯示或者:顯示/瀏覽瀏覽n項(xiàng)目管理器項(xiàng)目管理器/瀏覽瀏覽例:修改例:修改xs表中第表中第5條記錄條記錄 use xs edit record 5上一頁下一頁退 出48485/3/20225/3/20222、批量記錄的修改、批量記錄的修改(1)界面方式)界面方式 “表”“替換字段”字段條件(2)命令方式)命令方式-UpdatenUPDATE-S
40、QL命令命令(表不必事先打開表不必事先打開,語法見語法見p92) UPDATE 表名表名; SET 字段字段1=表達(dá)式表達(dá)式1,字段字段2=表達(dá)式表達(dá)式2; WHERE 條件表達(dá)式條件表達(dá)式例:把例:把js表中所有工齡不滿表中所有工齡不滿30的教師的工齡加的教師的工齡加1UPDATE JS SET GL=JS.GL+1 WHERE GL30上一頁下一頁退 出49495/3/20225/3/20222、批量記錄的修改、批量記錄的修改(2)命令方式)命令方式-ReplacenREPLACE 命令(命令(P92) Replace 字段名字段名1 with 表達(dá)式表達(dá)式1 Additive , , 范
41、圍范圍For 條件表達(dá)式條件表達(dá)式n注意:注意:使用前必須打開對應(yīng)的表使用前必須打開對應(yīng)的表n示例示例 USE JS REPLACE GL WITH GL+1 FOR GL60或者或者: use js delete for year(date()-; year(js.csrq)602、徹底刪除(物理刪除)、徹底刪除(物理刪除)瀏覽窗口瀏覽窗口/“表表”/“徹底刪除徹底刪除”命令命令: PACK(獨(dú)占)(獨(dú)占)以上操作將以上操作將徹底刪除徹底刪除當(dāng)前工作區(qū)表中當(dāng)前工作區(qū)表中加注刪除標(biāo)志記錄加注刪除標(biāo)志記錄!命令命令:ZAP 相當(dāng)于相當(dāng)于delete all +pack(獨(dú)占)(獨(dú)占)ZAP操作將
42、操作將徹底刪除徹底刪除當(dāng)前工作區(qū)表中當(dāng)前工作區(qū)表中所有記錄所有記錄!上一頁下一頁退 出52525/3/20225/3/20223.恢復(fù)帶刪除標(biāo)記的記錄恢復(fù)帶刪除標(biāo)記的記錄(撤銷邏輯刪除)(撤銷邏輯刪除) 法法1:鼠標(biāo)點(diǎn)擊:鼠標(biāo)點(diǎn)擊刪除標(biāo)記列刪除標(biāo)記列小方框小方框/ 黑黑-白白 法法2:“表表”“恢復(fù)記錄恢復(fù)記錄” (條件恢復(fù))(條件恢復(fù)) 法法3:RECALL 范圍范圍 FOR 邏輯條件表達(dá)式邏輯條件表達(dá)式 recall &恢復(fù)當(dāng)前記錄恢復(fù)當(dāng)前記錄 recall all recall all for xb=男男 (這里的這里的all 可省可省)上一頁下一頁退 出53535/3/2022
43、5/3/20224.對帶刪除標(biāo)記記錄的訪問對帶刪除標(biāo)記記錄的訪問(1)測試當(dāng)前記錄的刪除標(biāo)記測試當(dāng)前記錄的刪除標(biāo)記:delete()函數(shù)函數(shù)(2)控制對帶刪除標(biāo)記記錄的訪問控制對帶刪除標(biāo)記記錄的訪問 set deleted on/off說明:說明:默認(rèn)為默認(rèn)為OFF(允許訪問帶刪除標(biāo)記記錄允許訪問帶刪除標(biāo)記記錄)實(shí)驗(yàn):實(shí)驗(yàn):先刪除若干記錄(邏輯刪除)先刪除若干記錄(邏輯刪除)LIST 默認(rèn)為默認(rèn)為OFFSET DELETED ONLIST上一頁下一頁退 出54545/3/20225/3/2022n數(shù)據(jù)的復(fù)制:數(shù)據(jù)的復(fù)制:COPY TO命令命令 作用:作用:將當(dāng)前工作區(qū)中表的數(shù)據(jù)復(fù)制到其他表文件
44、或其將當(dāng)前工作區(qū)中表的數(shù)據(jù)復(fù)制到其他表文件或其他類型文件中他類型文件中語法格式:語法格式: Copy To 文件名文件名 Fields 字段列表字段列表范圍范圍For 條件條件表達(dá)式表達(dá)式SDF|XLS|DELIMITEDWith 分隔符分隔符 八、數(shù)據(jù)的復(fù)制八、數(shù)據(jù)的復(fù)制上一頁下一頁退 出55555/3/20225/3/20223.3.6 表的索引表的索引1、 記錄的順序記錄的順序n物理順序:指物理順序:指表記錄表記錄在存儲介質(zhì)上形成的在存儲介質(zhì)上形成的存儲順序存儲順序 是按其是按其最初輸入的時(shí)間順序最初輸入的時(shí)間順序存放的存放的 查找記錄方式:按順序找,速度慢,查找效率底查找記錄方式:按順
45、序找,速度慢,查找效率底 如何實(shí)現(xiàn)對表記錄的快速查詢?如何實(shí)現(xiàn)對表記錄的快速查詢?n邏輯順序:既將邏輯順序:既將初始表記錄初始表記錄按其按其某個(gè)字段值某個(gè)字段值或或某些字段某些字段 值的運(yùn)算結(jié)果值的運(yùn)算結(jié)果進(jìn)行排序,從而形成的進(jìn)行排序,從而形成的表表記錄記錄 新順序新順序 可作為記錄的處理順序可作為記錄的處理順序 邏輯順序下:可用快速查找記錄方式邏輯順序下:可用快速查找記錄方式上一頁下一頁退 出56565/3/20225/3/2022n排序與索引排序與索引 表記錄如何按用戶要求重新排序?表記錄如何按用戶要求重新排序? 兩種方法:兩種方法:按某種邏輯順序要求排序后形成新表按某種邏輯順序要求排序后
46、形成新表建立索引建立索引?形成索引:?形成索引:將按某種邏輯順序要求排序后形將按某種邏輯順序要求排序后形成新的表順序號成新的表順序號(邏輯順序號)(邏輯順序號)與原表物理與原表物理順序的記錄號一一對應(yīng),建立一個(gè)對照表順序的記錄號一一對應(yīng),建立一個(gè)對照表,再將該對照表保存為一個(gè)獨(dú)立文件。再將該對照表保存為一個(gè)獨(dú)立文件。索引的優(yōu)點(diǎn):索引的優(yōu)點(diǎn):(1)速度快;)速度快;(2)容量??;)容量?。唬?)多角度)多角度上一頁下一頁退 出57575/3/20225/3/2022 索引概述索引概述1、索引(、索引(Index) 是根據(jù)是根據(jù)索引關(guān)鍵字索引關(guān)鍵字(索引表達(dá)式)(索引表達(dá)式)的值的值進(jìn)行進(jìn)行邏輯邏
47、輯排序(升序或降序)排序(升序或降序),形成由,形成由索引序號指針?biāo)饕蛱栔羔樑c表原與表原物物理記錄指針理記錄指針相對應(yīng)的一組指針。相對應(yīng)的一組指針。 索引文件構(gòu)成索引文件構(gòu)成:索引序號索引序號-記錄號記錄號(物理順序指針)(物理順序指針) 主要作用主要作用:實(shí)現(xiàn)對表數(shù)據(jù)的:實(shí)現(xiàn)對表數(shù)據(jù)的快速訪問快速訪問 根據(jù)根據(jù)索引關(guān)鍵字值索引關(guān)鍵字值強(qiáng)制實(shí)現(xiàn)表記錄唯一性強(qiáng)制實(shí)現(xiàn)表記錄唯一性2、索引關(guān)鍵字、索引關(guān)鍵字(Index Key)n建立索引的依據(jù)建立索引的依據(jù)-由由字段組成字段組成的索引表達(dá)式的索引表達(dá)式n索引關(guān)鍵字組成:單個(gè)字段索引關(guān)鍵字組成:單個(gè)字段/多字段表達(dá)式多字段表達(dá)式n注意!注意!-不能
48、基于備注型和通用型字段建立索引不能基于備注型和通用型字段建立索引上一頁下一頁退 出58585/3/20225/3/2022n多字段索引表達(dá)式要求同類型字段相運(yùn)算多字段索引表達(dá)式要求同類型字段相運(yùn)算nVFP使用使用索引關(guān)鍵字的值索引關(guān)鍵字的值來排序形成來排序形成索引序號索引序號 對索引關(guān)鍵字對索引關(guān)鍵字值值: 由小到大排序由小到大排序-升序升序 由大到小排序由大到小排序-降序降序n用用多個(gè)字段多個(gè)字段建立索引表達(dá)式時(shí)應(yīng)建立索引表達(dá)式時(shí)應(yīng)注意注意:字符型索引表達(dá)式字符型索引表達(dá)式中各字段的中各字段的運(yùn)算順序運(yùn)算順序?qū)⒂绊懰饕膶⒂绊懰饕慕Y(jié)果結(jié)果 例如:例如:(XIMING+XB)與()與(XB+
49、XIMING)多個(gè)數(shù)值型字段建立的多個(gè)數(shù)值型字段建立的數(shù)值型索引表達(dá)式,數(shù)值型索引表達(dá)式,將按表達(dá)將按表達(dá)式式最終運(yùn)算結(jié)果值最終運(yùn)算結(jié)果值排序排序 例如:例如:JBGZ+GL 若要按各數(shù)值字段值分別排序,并按各自在若要按各數(shù)值字段值分別排序,并按各自在索引表達(dá)索引表達(dá)式中式中的前后順序確立優(yōu)先排序權(quán),則必須先轉(zhuǎn)為字符型:的前后順序確立優(yōu)先排序權(quán),則必須先轉(zhuǎn)為字符型:STR(JBGZ)+STR(GL)上一頁下一頁退 出59595/3/20225/3/2022不同類型字段不同類型字段構(gòu)成索引表達(dá)式時(shí),必須轉(zhuǎn)為構(gòu)成索引表達(dá)式時(shí),必須轉(zhuǎn)為同一類型同一類型,通常轉(zhuǎn)為字符型,轉(zhuǎn)換函數(shù):,通常轉(zhuǎn)為字符型,轉(zhuǎn)
50、換函數(shù):STR與與DTOC函數(shù)函數(shù) 例如:例如:XB+ STR (JBGZ) DTOC(gzrq)+STR (JBGZ)3、索引標(biāo)識(、索引標(biāo)識(Tag)nVfp中一張表可以有多個(gè)索引中一張表可以有多個(gè)索引n表的多個(gè)索引必須有對應(yīng)的索引名表的多個(gè)索引必須有對應(yīng)的索引名-索引標(biāo)識索引標(biāo)識 即即索引關(guān)鍵字的名稱索引關(guān)鍵字的名稱(索引名索引名)n命名規(guī)則同前命名規(guī)則同前n要便于記憶要便于記憶上一頁下一頁退 出60605/3/20225/3/20224、索引的類型、索引的類型 vfp中可創(chuàng)建的表索引有四種類型中可創(chuàng)建的表索引有四種類型:n侯選索引侯選索引(Candidate indexs)以表的侯選關(guān)
51、鍵字作為索引表達(dá)式而創(chuàng)建的索引以表的侯選關(guān)鍵字作為索引表達(dá)式而創(chuàng)建的索引侯選索引要求侯選索引要求: :對表中所有記錄而言對表中所有記錄而言: : 指定的索引表達(dá)式中不允許有重復(fù)值指定的索引表達(dá)式中不允許有重復(fù)值! !一張表中可以建立多個(gè)侯選索引一張表中可以建立多個(gè)侯選索引侯選索引可用于數(shù)據(jù)庫表和自由表侯選索引可用于數(shù)據(jù)庫表和自由表n主索引主索引(Primary indexs)只存在數(shù)據(jù)庫表中只存在數(shù)據(jù)庫表中, ,且每張表只能創(chuàng)建一個(gè)主索引且每張表只能創(chuàng)建一個(gè)主索引組成主索引關(guān)鍵字的字段或表達(dá)式組成主索引關(guān)鍵字的字段或表達(dá)式, ,在表的所有記錄在表的所有記錄中不能有重復(fù)的值中不能有重復(fù)的值( (
52、例如例如: :學(xué)號可以學(xué)號可以, ,姓名不可以姓名不可以) )自由表不能建立主索引自由表不能建立主索引上一頁下一頁退 出61615/3/20225/3/2022n普通索引普通索引(Regular indexs)(Regular indexs)同樣可以決定記錄的邏輯處理順序同樣可以決定記錄的邏輯處理順序可用于數(shù)據(jù)庫表和自由表可用于數(shù)據(jù)庫表和自由表允許索引關(guān)鍵字值或表達(dá)式的值出現(xiàn)重復(fù)允許索引關(guān)鍵字值或表達(dá)式的值出現(xiàn)重復(fù)對一張表可以創(chuàng)建多個(gè)普通索引對一張表可以創(chuàng)建多個(gè)普通索引n唯一索引唯一索引(Unique indexs)(Unique indexs)參加索引的字段值或表達(dá)式值在表中允許有重參加索引
53、的字段值或表達(dá)式值在表中允許有重復(fù)值復(fù)值, ,但在索引對照表中但在索引對照表中, ,具有重復(fù)值的記錄僅具有重復(fù)值的記錄僅存儲其中的第一個(gè)存儲其中的第一個(gè)(XIMING)(XIMING)其他特性與普通索引相同其他特性與普通索引相同上一頁下一頁退 出62625/3/20225/3/20225、索引文件的種類、索引文件的種類 索引本身并不改變表中數(shù)據(jù)的物理順序號索引本身并不改變表中數(shù)據(jù)的物理順序號 建立的索引信息將保存在索引文件中建立的索引信息將保存在索引文件中 vfp支持三種索引文件:支持三種索引文件:n結(jié)構(gòu)復(fù)合索引文件結(jié)構(gòu)復(fù)合索引文件(CDX)將一張表的一個(gè)或多個(gè)索引信息存儲在一個(gè)索引文件中將一
54、張表的一個(gè)或多個(gè)索引信息存儲在一個(gè)索引文件中與數(shù)據(jù)表同名與數(shù)據(jù)表同名文件名是在創(chuàng)建文件名是在創(chuàng)建結(jié)構(gòu)復(fù)合結(jié)構(gòu)復(fù)合索引時(shí)由系統(tǒng)自動給定索引時(shí)由系統(tǒng)自動給定結(jié)構(gòu)復(fù)合索引文件與表文件同步打開、更新、關(guān)閉結(jié)構(gòu)復(fù)合索引文件與表文件同步打開、更新、關(guān)閉是表結(jié)構(gòu)的一部分是表結(jié)構(gòu)的一部分n非結(jié)構(gòu)復(fù)合索引文件(非結(jié)構(gòu)復(fù)合索引文件(CDXCDX)文件名由用戶給出,與表文件不同名文件名由用戶給出,與表文件不同名不再是表結(jié)構(gòu)的一部分,不隨不再是表結(jié)構(gòu)的一部分,不隨表文件同步打開、更新、關(guān)閉表文件同步打開、更新、關(guān)閉n獨(dú)立索引文件(獨(dú)立索引文件(IDXIDX):只存儲一個(gè)索引的索引文件):只存儲一個(gè)索引的索引文件上一頁
55、下一頁退 出63635/3/20225/3/2022 創(chuàng)建結(jié)構(gòu)復(fù)合索引文件創(chuàng)建結(jié)構(gòu)復(fù)合索引文件n利用表設(shè)計(jì)器利用表設(shè)計(jì)器“表設(shè)計(jì)器表設(shè)計(jì)器”“索引索引”選項(xiàng)卡選項(xiàng)卡nIndex命令命令I(lǐng)NDEX ON TAG FOR ASCENDING|DESCENDINGASCENDING|DESCENDINGUNIQUE|CANDIDATEUNIQUE|CANDIDATE注意!注意!n默認(rèn)對當(dāng)前工作區(qū)表操作默認(rèn)對當(dāng)前工作區(qū)表操作n不能對備注字段和通用字段建立索引不能對備注字段和通用字段建立索引n不要建立無用的索引不要建立無用的索引上一頁下一頁退 出64645/3/20225/3/2022 索引的修改和刪除
56、索引的修改和刪除n索引的修改索引的修改n表設(shè)計(jì)器表設(shè)計(jì)器“表設(shè)計(jì)器表設(shè)計(jì)器”“索引索引”選項(xiàng)卡選項(xiàng)卡n命令命令I(lǐng)NDEX命令修改原索引命令修改原索引n索引的刪除索引的刪除n表設(shè)計(jì)器表設(shè)計(jì)器“表設(shè)計(jì)器表設(shè)計(jì)器”“索引索引”選項(xiàng)卡選項(xiàng)卡nDELETE TAG 刪除索引標(biāo)識刪除索引標(biāo)識n注意!命令操作對象為當(dāng)前工作區(qū)表注意!命令操作對象為當(dāng)前工作區(qū)表上一頁下一頁退 出65655/3/20225/3/2022 索引的使用索引的使用注意:表可以有多個(gè)索引,在某一時(shí)刻哪個(gè)索引起作用?注意:表可以有多個(gè)索引,在某一時(shí)刻哪個(gè)索引起作用? 創(chuàng)建的表結(jié)構(gòu)復(fù)合索引不會自動對表產(chǎn)生作用!創(chuàng)建的表結(jié)構(gòu)復(fù)合索引不會自動對
57、表產(chǎn)生作用!n設(shè)置主控索引設(shè)置主控索引 主控索引主控索引:決定顯示或訪問表中記錄的順序的索引決定顯示或訪問表中記錄的順序的索引主控索引是主控索引是:復(fù)合索引文件中的一個(gè)標(biāo)識復(fù)合索引文件中的一個(gè)標(biāo)識(主控標(biāo)識主控標(biāo)識)n打開表的同時(shí)指定主控索引打開表的同時(shí)指定主控索引 命令:命令:use+ordern打開后再設(shè)置主控索引打開后再設(shè)置主控索引窗口窗口 /數(shù)據(jù)工作期數(shù)據(jù)工作期 /屬性屬性/索引順序索引順序 或:瀏覽或:瀏覽/表表/屬性屬性/索引順序索引順序命令命令 SET ORDER TO上一頁下一頁退 出66665/3/20225/3/2022nSEEK 命令命令用于在一張表中搜索指定表達(dá)式值首次
58、出現(xiàn)的記錄用于在一張表中搜索指定表達(dá)式值首次出現(xiàn)的記錄 該記錄的索引關(guān)鍵字值必須與指定表達(dá)式值匹配。該記錄的索引關(guān)鍵字值必須與指定表達(dá)式值匹配。命令語法命令語法SEEK 命令只能在索引過的表中使用命令只能在索引過的表中使用,并且只能搜并且只能搜索索引關(guān)鍵字索索引關(guān)鍵字 例如:例如:(XS/960102)測試:測試:RECNO() EOF()FOUND() P100n函數(shù):SEEK () =SEEK+FOUND()利用索引快速定位記錄利用索引快速定位記錄上一頁下一頁退 出67675/3/20225/3/20221.庫表之間的永久關(guān)系庫表之間的永久關(guān)系(1) (1) 永久關(guān)系(永久關(guān)系(persi
59、stent relationshippersistent relationship)n永久關(guān)系是庫表之間的一種關(guān)系,不僅在運(yùn)行時(shí)存在,永久關(guān)系是庫表之間的一種關(guān)系,不僅在運(yùn)行時(shí)存在,而且一直保留,而且一直保留,擁有永久關(guān)系的表必須在數(shù)據(jù)庫中擁有永久關(guān)系的表必須在數(shù)據(jù)庫中。n表間的永久關(guān)系是表間的永久關(guān)系是使用索引建立使用索引建立的。的。n在一對多關(guān)系中,在一對多關(guān)系中,“一方一方”( (主表主表) )必須用必須用主索引關(guān)鍵字主索引關(guān)鍵字(或主索引標(biāo)識),或者用(或主索引標(biāo)識),或者用侯選索引關(guān)鍵字侯選索引關(guān)鍵字(或侯選標(biāo)(或侯選標(biāo)識);在識);在“多方多方”( (子表子表) )則使用則使用普通
60、索引關(guān)鍵字普通索引關(guān)鍵字(或普(或普通索引標(biāo)識)。通索引標(biāo)識)。n在一對一關(guān)系中,兩個(gè)表必須都用在一對一關(guān)系中,兩個(gè)表必須都用主索引關(guān)鍵字主索引關(guān)鍵字(或主(或主索引標(biāo)識)或索引標(biāo)識)或侯選索引侯選索引(或侯選索引標(biāo)識)。(或侯選索引標(biāo)識)。3.4 永久性關(guān)系與參照完整性永久性關(guān)系與參照完整性上一頁下一頁退 出68685/3/20225/3/2022(2) (2) 永久關(guān)系作用永久關(guān)系作用n在在“查詢設(shè)計(jì)器查詢設(shè)計(jì)器”和和“視圖設(shè)計(jì)器視圖設(shè)計(jì)器”中,自動作為中,自動作為默認(rèn)聯(lián)接條件默認(rèn)聯(lián)接條件n作為表單和報(bào)表的默認(rèn)的臨時(shí)關(guān)系,在作為表單和報(bào)表的默認(rèn)的臨時(shí)關(guān)系,在“數(shù)據(jù)環(huán)境數(shù)據(jù)環(huán)境設(shè)計(jì)器設(shè)計(jì)器”中顯示中顯示n用來存儲表之間的參照完整性信息
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 移動醫(yī)療設(shè)備市場分析-洞察分析
- 水暖管道材料力學(xué)性能分析-洞察分析
- 《管道識圖與施工》課件
- 水暖產(chǎn)業(yè)鏈協(xié)同發(fā)展-洞察分析
- 網(wǎng)絡(luò)功能虛擬化性能優(yōu)化-洞察分析
- 網(wǎng)絡(luò)邊緣安全密碼算法-洞察分析
- 農(nóng)村大病低保戶申請書范文(6篇)
- 《建筑工程投標(biāo)報(bào)價(jià)》課件
- 辦公環(huán)境的未來趨勢共享式與交互式公共空間發(fā)展研究
- 優(yōu)化家庭生活節(jié)奏提高教育質(zhì)量的時(shí)間管理方法
- 《數(shù)學(xué)課程標(biāo)準(zhǔn)》義務(wù)教育2022年修訂版(原版)
- 2024數(shù)字中國數(shù)字城市競爭力研究報(bào)告
- 區(qū)國有企業(yè)資產(chǎn)清查工作方案
- 2024-2030年中國游樂園行業(yè)市場發(fā)展趨勢與前景展望戰(zhàn)略研究報(bào)告
- 英語不定式、動名詞、現(xiàn)在分詞和過去分詞公開課教案教學(xué)設(shè)計(jì)課件案例試卷
- Unit 6 A Day in the Life教學(xué)設(shè)計(jì) -2024-2025學(xué)年人教版英語七年級上冊
- 質(zhì)樸的民間美術(shù)第二課概覽中外民間美術(shù) 課件 -2024-2025學(xué)年贛美版(2024)初中美術(shù)七年級上冊
- 《建筑施工工藝》 課件 第五章 鋼筋混凝土結(jié)構(gòu)施工
- 2024年北師大版數(shù)學(xué)八年級上冊知識點(diǎn)總結(jié)
- 水利水電工程單元工程施工質(zhì)量驗(yàn)收評定表及填表說明
- 建筑工地醫(yī)療急救設(shè)施
評論
0/150
提交評論