版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
3.1數(shù)據(jù)表的建立3.2數(shù)據(jù)表的操作3.3數(shù)據(jù)表的索引第三章數(shù)據(jù)表的建立和使用3.4工作區(qū)的使用3.5表之間的臨時(shí)關(guān)系1本章的重點(diǎn)要求重點(diǎn)掌握表結(jié)構(gòu)的創(chuàng)建、修改和表記錄的輸入記錄的瀏覽、定位、修改和刪除索引的建立和主控索引的設(shè)置2
數(shù)據(jù)庫(kù)表
自由表VFP中表的類型與數(shù)據(jù)庫(kù)相關(guān)聯(lián)的表與數(shù)據(jù)庫(kù)無(wú)關(guān)聯(lián)的表本章介紹自由表的基本操作33.1數(shù)據(jù)表的建立表(Table)-----二維表,在磁盤上存為表文件表中的一行為記錄(Record)表中的一列為字段(Field)表文件的擴(kuò)展名為.dbf43.1數(shù)據(jù)表的建立3.1.1表結(jié)構(gòu)的設(shè)計(jì)3.1.2表結(jié)構(gòu)的創(chuàng)建3.1.3表結(jié)構(gòu)的修改3.1.4表記錄的輸入53.1.1表結(jié)構(gòu)的設(shè)計(jì)定義字段名稱
選擇數(shù)據(jù)類型
確定字段寬度
指定小數(shù)位數(shù)
建立索引
確定是否允許空值6
字段名(FieldName)
見(jiàn)名知義,不能同名
字段名的命名規(guī)則P29名稱中只能包含字母、下劃線“_”、數(shù)字符號(hào)和漢字名稱的開(kāi)頭只能是字母或漢字,不能是數(shù)字或下劃線“_”自由表的字段名、表的索引標(biāo)識(shí)名至多只能10個(gè)字符(即:至多5個(gè)漢字)xs_name、基本工資、07專業(yè)、所在院系名稱3.1.1表結(jié)構(gòu)的設(shè)計(jì)7
數(shù)據(jù)類型(Type)-輸入數(shù)據(jù)必須具備的格式
最常用的:
C—字符型N—數(shù)值型F—浮點(diǎn)型D—日期型I—整型L—邏輯型M—備注型G—通用型3.1.1表結(jié)構(gòu)的設(shè)計(jì)8
字段寬度(Width)定義:字段所能容納數(shù)據(jù)的最大字節(jié)數(shù)或數(shù)值位數(shù)字符型字段的寬度最大為:254個(gè)字節(jié)數(shù)值型和浮點(diǎn)型的寬度最大為:20位
貨幣型、日期型、日期時(shí)間型、雙精度型:8字節(jié)整型、備注型、通用型:4字節(jié)邏輯型:1字節(jié)3.1.1表結(jié)構(gòu)的設(shè)計(jì)9
小數(shù)位數(shù)(Decimal)字段寬度
=
整數(shù)位數(shù)+小數(shù)點(diǎn)1位+小數(shù)位數(shù)對(duì)數(shù)值型、浮點(diǎn)型、雙精度型字段3.1.1表結(jié)構(gòu)的設(shè)計(jì)
索引(Index)放到3.3數(shù)據(jù)表的索引講10
空值(.Null.)定義:空值是用來(lái)標(biāo)識(shí)一個(gè)字段“沒(méi)有值”的標(biāo)志注意:(1)空值表示“沒(méi)有任何值”或“沒(méi)有確定值”(2)空值不等同于數(shù)值0、空字符串或邏輯“假”3.1.1表結(jié)構(gòu)的設(shè)計(jì)11主要掌握:3.1.2表結(jié)構(gòu)的創(chuàng)建1.利用表設(shè)計(jì)器建表2.利用SQL命令方式12【例3-1】利用表設(shè)計(jì)器創(chuàng)建P372附表13教師表(js.dbf)結(jié)構(gòu)。
3.1.2表結(jié)構(gòu)的創(chuàng)建字段名類型寬度NULL值ghC6否xmC8是xbC2是csrqD8是gzsjD8是zcmcC12是jbgzN7,2是xybhC2是jlM4是zpG4是【操作步驟】第1步:打開(kāi)表設(shè)計(jì)器(1)項(xiàng)目管理器方式
(2)菜單方式第2步:創(chuàng)建表結(jié)構(gòu)第3步:完成133.1.2表結(jié)構(gòu)的創(chuàng)建第1步:打開(kāi)表設(shè)計(jì)器(1)項(xiàng)目管理器方式
14第2步:創(chuàng)建表結(jié)構(gòu)3.1.2表結(jié)構(gòu)的創(chuàng)建第3步:完成15練習(xí):通過(guò)菜單方式打開(kāi)表設(shè)計(jì)器,創(chuàng)建如下表所示的職工表結(jié)構(gòu)(zg.dbf),并將其添加到“學(xué)生學(xué)籍管理系統(tǒng)”項(xiàng)目中。3.1.2表結(jié)構(gòu)的創(chuàng)建163.1.2表結(jié)構(gòu)的創(chuàng)建打開(kāi)表設(shè)計(jì)器(2)菜單方式選擇“文件︱新建”菜單項(xiàng)
173.1.2表結(jié)構(gòu)的創(chuàng)建將通過(guò)菜單創(chuàng)建的表添加到項(xiàng)目中18CREATETABLE<表文件名>(<字段名1><字段類型>[(<字段寬度[,小數(shù)位數(shù)]>)][NULL|NOTNULL][,<字段名2>…])
3.1.2表結(jié)構(gòu)的創(chuàng)建【例3-2】利用CREATETABLE-SQL命令創(chuàng)建附表13教師表(js.dbf)結(jié)構(gòu)。193.1.2表結(jié)構(gòu)的創(chuàng)建CREATETABLEjs(ghC(6),xybhC(2)NULL,xmC(8)NULL,xbC(2)NULL,csrqDNULL,gzsjDNULL,zcmcC(12)NULL,jbgzN(7,2)NULL,jlMNULL,zpGNULL)
字段名類型寬度NULL值ghC6否xmC8是xbC2是csrqD8是gzsjD8是zcmcC12是jbgzN7,2是xybhC2是jlM4是zpG4是203.1.2表結(jié)構(gòu)的創(chuàng)建SETNULLOFF:表示不接受空值,默認(rèn)狀態(tài);SETNULLON:表示可以接受空值。
SETNULLON|OFF:控制表中的字段是否接受空值CREATETABLEjs(ghC(6)NOTNULL,xybhC(2),xmC(8),xbC(2),csrqD,gzsjD,zcmcC(12),jbgzN(7,2),jlM,zpG)
21主要掌握:3.1.3表結(jié)構(gòu)的修改1.利用表設(shè)計(jì)器修改表結(jié)構(gòu)2.利用ALTERTABLE-SQL命令221.利用表設(shè)計(jì)器修改表結(jié)構(gòu)(1)項(xiàng)目管理器方式3.1.3表結(jié)構(gòu)的修改修改字段名稱、類型、寬度等保存對(duì)結(jié)構(gòu)的修改23(2)菜單方式:“文件︱打開(kāi)”菜單項(xiàng)(3)命令方式:
MODIFYSTRUCTURE1.利用表設(shè)計(jì)器修改表結(jié)構(gòu)3.1.3表結(jié)構(gòu)的修改242.利用ALTERTABLE-SQL命令3.1.3表結(jié)構(gòu)的修改添加或修改字段ALTERTABLE<表文件名>ADD|ALTER[COLUMN]<字段名1><字段類型>[(字段寬度[,小數(shù)位數(shù)])]25添加字段:ADD[COLUMN]子句【例3-3】給教師表添加一個(gè)字段“jtdz”(家庭地址)。
ALTERTABLEjsADDCOLUMNjtdzC(20)可以省略用ALTERTABLE-SQL命令修改表結(jié)構(gòu)26用ALTERTABLE-SQL命令修改表結(jié)構(gòu)修改字段:ALTER[COLUMN]子句【例3-4】將教師表“jtdz”的字段寬度由20改為30。
ALTERTABLEjsALTERCOLUMNjtdzC(30)可以省略27用ALTERTABLE-SQL命令修改表結(jié)構(gòu)重命名字段:RENAME[COLUMN]子句【例3-5】將教師表字段家庭地址(jtdz)改為dzALTERTABLEjsRENAMECOLUMNjtdzTOdz可以省略28用ALTERTABLE-SQL命令修改表結(jié)構(gòu)刪除字段:DROP[COLUMN]子句【例3-6】刪除教師表的字段家庭地址(dz)
ALTERTABLEjsDROPCOLUMNdz可以省略293.1.4表記錄的輸入【例3-7】在【例3-1】創(chuàng)建的教師表(js.dbf)中輸入數(shù)據(jù)記錄工號(hào)姓名性別出生日期工作時(shí)間職稱名稱基本工資系院編號(hào)010001李平男1961-9-41985-8-3教授4500.501010002王一剛男1976-4-92002-8-6講師300001010003程莉女1980-4-62004-8-9助教1750.501020001方媛女1972-9-41997-8-3講師2800.502020002鄧芳女1973-7-201998-8-5講師260002020003蔣凱男1977-9-42000-8-2助教185002030001王宏偉男1959-7-241987-8-6教授500003030002陸文龍男1972-12-211996-8-3講師240003030003談向東男1973-11-141997-8-3講師220003040001汪濤男1955-1-101977-8-7教授400004303.1.4表記錄的輸入【例3-7】在【例3-1】創(chuàng)建的教師表(js.dbf)中輸入數(shù)據(jù)記錄1.打開(kāi)表的瀏覽窗口2.輸入數(shù)據(jù)記錄多條記錄:“顯示”+“追加方式”一條記錄:“表”+“追加新記錄”用Tab建移到下一字段31備注型字段的輸入:雙擊M型字段FoxPro規(guī)定:含有備注型或通用型字段,在生成表文件(.dbf)的同時(shí),自動(dòng)生成擴(kuò)展名為“.fpt”的備注文件特殊字段的輸入:3.1.4表記錄的輸入32通用型字段的輸入:雙擊雙擊gen字段注意:在輸入的前后G與g,M與m變化3.1.4表記錄的輸入選擇“編輯︱插入對(duì)象”333.1.4表記錄的輸入通過(guò)INSERTINTO-SQL命令輸入記錄INSERTINTO<表名>[(<字段1>[,<字段2>…])]VALUES(<表達(dá)式1>[,<表達(dá)式2>…])
例如:INSERTINTOjs(gh,xm,xb,csrq)VALUES("020004","高山","男",{^1977-2-2})343.2數(shù)據(jù)表的操作3.2.1表的打開(kāi)和關(guān)閉3.2.2記錄的瀏覽和顯示3.2.3記錄的定位3.2.4記錄的修改3.2.5記錄的刪除3.2.6數(shù)據(jù)的篩選353.2.1表的打開(kāi)和關(guān)閉表的打開(kāi)剛創(chuàng)建的表處于打開(kāi)狀態(tài)(1)界面方式(2)命令方式表的關(guān)閉363.2.1表的打開(kāi)和關(guān)閉可以通過(guò)“顯示”菜單判斷表是否已經(jīng)打開(kāi)
表未打開(kāi)
表已經(jīng)打開(kāi)37①界面方式打開(kāi)3.2.1表的打開(kāi)和關(guān)閉文件/打開(kāi)數(shù)據(jù)工作期/打開(kāi)項(xiàng)目管理器瀏覽38①界面方式3.2.1表的打開(kāi)和關(guān)閉表的關(guān)閉數(shù)據(jù)工作期/關(guān)閉393.2.4表的獨(dú)占與共享表的打開(kāi)②命令方式USE<表文件名>[NOUPDATE][EXCLUSIVE|SHARED]①NOUPDATE指定以“只讀”的方式打開(kāi)表,省略時(shí)以“讀/寫(xiě)”的方式打開(kāi)。②EXCLUSIVE指定以“獨(dú)占”方式打開(kāi)表。③SHARED指定以“共享”方式打開(kāi)表。403.2.1表的打開(kāi)和關(guān)閉表的關(guān)閉②命令方式(1)關(guān)閉當(dāng)前工作區(qū)中表USE
(2)關(guān)閉所有工作區(qū)中的表CLOSETABLES
(3)關(guān)閉所有文件但不釋放內(nèi)存變量CLOSEALL
(4)關(guān)閉所有文件并釋放內(nèi)存變量
CLEARALL413.2.2記錄的瀏覽和顯示記錄的瀏覽②使用BROWSE命令①使用瀏覽窗口通過(guò)LIST/DISPLAY命令
記錄的顯示42①使用瀏覽窗口記錄的瀏覽項(xiàng)目管理器方式菜單方式
使用滾動(dòng)條、箭頭鍵和Tab鍵瀏覽表改變字段的顯示順序改變字段的顯示寬度“窗口拆分條”將窗口分為兩個(gè)窗格以“編輯”和“瀏覽”方式顯示表中的記錄43記錄的瀏覽②使用BROWSE命令BROWSE[FIELDS<字段名表>][FOR<條件表達(dá)式>]
【例3-12】瀏覽教師表(js.dbf)中性別為女,基本工資大于2000元的教師的工號(hào)、姓名、基本工資。BROWSEFIELDSgh,xm,jbgzFORxb="女"andjbgz>200044記錄的顯示通過(guò)LIST/DISPLAY命令例如: USEjs DISPLAY LIST DISPLAYALL453.2.3記錄的定位(1)記錄的三個(gè)控制標(biāo)志
(2)記錄的定位方式(3)記錄定位的實(shí)現(xiàn)對(duì)記錄進(jìn)行定位,即將記錄指針移到指定的記錄上。
46(1)記錄的三個(gè)控制標(biāo)志
記錄號(hào):VFP按輸入的順序?yàn)槊總€(gè)記錄指定記錄的開(kāi)始標(biāo)志記錄指針標(biāo)志記錄的結(jié)束標(biāo)志3.2.3記錄的定位47文件頭(包含表結(jié)構(gòu)等信息)第1條記錄第2條記錄第N條記錄...每當(dāng)打開(kāi)一個(gè)表文件時(shí),記錄指針總是指向第一條記錄,即RECNO()的返回值為1(1)記錄控制標(biāo)志
記錄開(kāi)始標(biāo)志BOF()記錄結(jié)束標(biāo)志EOF()記錄指針標(biāo)志RECNO()3.2.3記錄的定位48打開(kāi)表時(shí)記錄控制標(biāo)志的狀態(tài)(1)記錄控制標(biāo)志
記錄指針的初始值總是1,不可能為0或負(fù)數(shù),最大值為記錄總數(shù)加1表中記錄情況BOF()EOF()RECNO()無(wú)記錄(瀏覽前).T..T.1無(wú)記錄(瀏覽后).F..T.1有記錄.F..F.13.2.3記錄的定位49移動(dòng)記錄指針指向用戶所需操作的記錄(即成為當(dāng)前記錄)的過(guò)程(2)記錄的定位方式3.2.3記錄的定位分類:絕對(duì)定位
相對(duì)定位條件定位
50
絕對(duì)定位:把指針移動(dòng)到指定的位置
例如:“第一個(gè)”“最后一個(gè)”“記錄號(hào)n”
相對(duì)定位:指針從當(dāng)前位置開(kāi)始,相對(duì)向前或向后移動(dòng)若干記錄位置例如:“下一個(gè)”、“前一個(gè)”
條件定位:按照條件自動(dòng)查找記錄(2)記錄的定位3.2.3記錄的定位513.2.3記錄的定位(3)記錄定位的實(shí)現(xiàn)①界面方式②命令方式523.2.3記錄的定位①界面方式當(dāng)表處于瀏覽狀態(tài)時(shí)選“表”----“轉(zhuǎn)到記錄”絕對(duì)定位相對(duì)定位單擊“記錄號(hào)”后彈出“轉(zhuǎn)到記錄”窗口533.2.3記錄的定位單擊“定位”后彈出“定位記錄”窗口條件定位54條件定位:實(shí)現(xiàn)按照條件自動(dòng)查找記錄3.2.3記錄的定位作用范圍:ALL:表中全部記錄NEXT:從當(dāng)前記錄開(kāi)始的N個(gè)記錄Record:指定的記錄(不受條件限制)Rest:當(dāng)前記錄及其后的所有記錄553.2.3記錄的定位【例3-14】將記錄指針定位到教師表(js.dbf)中性別為“男”且系院編號(hào)為“02”的教師記錄上。
【操作步驟】第1步:打開(kāi)表的瀏覽窗口。第2步:選擇“表︱轉(zhuǎn)到記錄”,打開(kāi)“定位記錄”對(duì)話框。第3步:設(shè)置定位條件:xb=”男”andxybh=”02”。第4步:完成。
563.2.3記錄的定位通過(guò)“表達(dá)式生成器”設(shè)置定位條件57②命令方式3.2.3記錄的定位絕對(duì)定位命令:GO/GOTOn:定位到記錄號(hào)為n的記錄上GO/GOTOTOP:定位到第一個(gè)記錄上GO/GOTOBOTTOM:定位到最后一個(gè)記錄上相對(duì)定位命令:SKIP[<n>]58②命令方式3.2.3記錄的定位條件定位命令:LOCATEFOR<條件表達(dá)式>[<范圍>]定位到滿足條件的記錄CONTINUE從當(dāng)前記錄開(kāi)始繼續(xù)進(jìn)行條件定位59②命令方式3.2.3記錄的定位例3-15
?recno()Usejsgo5skip+2skip–3Locateforxybh=“03”continue返回當(dāng)前記錄號(hào)函數(shù)147560②命令方式3.2.3記錄的定位例3-16:假設(shè)js表有15條記錄,先后執(zhí)行以下命令bof()eof()recno()usejsskip-1skip-1gobottskipskip.f..f.1(打開(kāi)).t..f.1出錯(cuò):已到文件頭.f..f.15.f..t.16出錯(cuò):已到文件尾61界面方式命令方式3.2.4記錄的修改621、界面方式的記錄修改當(dāng)表處于瀏覽狀態(tài)時(shí)選“表”----“替換字段”【例3-17】對(duì)教師表(js.dbf)中職稱名稱為“教授”的職工,將其基本工資增加200元。選擇要替換的字段給出替換表達(dá)式選擇作用范圍,生成替換條件單擊“替換”得到結(jié)果632、命令方式的記錄修改UPDATE-SQL(表不必事先打開(kāi))REPLACE(必須先把表打開(kāi))REPLACE<字段名1>WITH<表達(dá)式1>[ADDITIVE][,<字段名2>WITH<表達(dá)式2>[ADDITIVE]…][<范圍>][FOR<條件表達(dá)式>]
UPDATE<表文件名>SET<字段名1=表達(dá)式1>[,<字段名2=表達(dá)式2>…][WHERE<條件表達(dá)式>]64(1)使用REPLACE命令USEjsREPLACEjbgzWITHjbgz+200FORxb="女“(2)使用UPDATE-SQL命令UPDATEjsSETjbgz=jbgz+200WHERExb="女"WHERE子句缺省時(shí)表示所有記錄2、命令方式的記錄修改【例3-18】將教師表(js.dbf)中性別為“女”的教師的基本工資增加200元。
651、標(biāo)記要?jiǎng)h除的記錄2、徹底刪除記錄3、恢復(fù)帶刪除標(biāo)記的記錄4、對(duì)帶刪除標(biāo)記記錄的訪問(wèn)3.2.5記錄的刪除663.2.5記錄的刪除1、標(biāo)記要?jiǎng)h除的記錄(邏輯刪除)①界面方式②命令方式673.2.5記錄的刪除①界面方式1單擊要?jiǎng)h除記錄前的小方框小方框變成黑色,為記錄添加了刪除標(biāo)記68①界面方式2【例3-19】3.2.5記錄的刪除當(dāng)表處于瀏覽狀態(tài)時(shí)選“表”----“刪除記錄”選擇作用范圍給出篩選條件單擊“刪除”為符合條件的記錄添加刪除標(biāo)記693.2.5記錄的刪除②命令方式DELETE[<范圍>][FOR<條件表達(dá)式>]DELETEFROM<表文件名>[WHERE<條件表達(dá)式>]不預(yù)先打開(kāi)表WHERE子句缺省時(shí)表示所有記錄703.2.5記錄的刪除②命令方式例1:delete&&刪除當(dāng)前記錄deleteall&&刪除所有記錄例2:邏輯刪除js.dbf中年齡在40歲以上的記錄deletefromjswhereyear(date())-year(csrq)>40注意條件表達(dá)式的構(gòu)建712、徹底刪除記錄(物理刪除)3.2.5記錄的刪除①界面方式②命令方式723.2.5記錄的刪除①界面方式選“表”----“徹底刪除”單擊“是”添加了刪除標(biāo)記的記錄被徹底刪除733.2.5記錄的刪除②命令方式PACK徹底刪除加注了刪除標(biāo)記的記錄ZAP=deleteall+pack刪除所有記錄
必須以獨(dú)占方式打開(kāi)表743、恢復(fù)帶刪除標(biāo)記的記錄3.2.5記錄的刪除①界面方式②命令方式75單擊帶恢復(fù)刪除標(biāo)記的記錄前的小方框小方框變成白色,恢復(fù)了帶刪除標(biāo)記的記錄3.2.5記錄的刪除①界面方式176①界面方式23.2.5記錄的刪除當(dāng)表處于瀏覽狀態(tài)時(shí)選“表”----“恢復(fù)記錄”選擇作用范圍給出篩選條件單擊“恢復(fù)記錄”恢復(fù)符合條件的記錄773.2.5記錄的刪除②命令方式RECALL[<范圍>][FOR<條件表達(dá)式>]例:recallrecallallrecallallforxb=‘女’(all
可缺?。?84、對(duì)帶刪除標(biāo)記記錄的訪問(wèn)3.2.5記錄的刪除控制對(duì)帶刪除標(biāo)記記錄的訪問(wèn)
setdeletedon/offON----忽略標(biāo)有刪除標(biāo)記的記錄OFF----(默認(rèn)值)允許訪問(wèn)標(biāo)有刪除標(biāo)記的記錄setdeletedonbrowforxb="女"793.3數(shù)據(jù)表的索引3.3.1索引的建立3.3.2索引的修改和刪除3.3.3設(shè)置主控索引3.3.4利用索引定位記錄803.3.1索引的建立物理順序記錄的存儲(chǔ)順序順序找,速度慢邏輯順序表中的記錄號(hào)按照某種順序重新排列,記錄的處理順序速度快81例如:在Student表中,若要根據(jù)入學(xué)成績(jī)(score)由高到低重新排序顯示表中的記錄,用戶可以根據(jù)score字段來(lái)建立索引文件。RecNostudidnamesexbirthdayscore1981101趙文化男2-28-805002981102徐逸華男6-7-814603981103郭茜茜女11-17-825804981201錢途男5-1-803805981202高涵男11-06-806806981203李曉鳴女11-17-82400索引號(hào)記錄號(hào)關(guān)鍵字的值156802358031500424605640064380索引本身并不改變數(shù)據(jù)的物理順序,只是把索引信息保存在稱之為“索引文件”的另一個(gè)文件中。索引文件是索引關(guān)鍵字的值和表的記錄號(hào)的對(duì)照表。82①利用表設(shè)計(jì)器②利用Index命令3.3.1索引的建立83表設(shè)計(jì)器方式選擇“索引”選項(xiàng)卡排序,輸入索引名,選擇索引類型,給出索引表達(dá)式,單擊“確定”3.3.1索引的建立【例3-30】為教師表(js.dbf)建立一個(gè)索引,要求索引名為jbgz,索引類型為“普通索引”,索引表達(dá)式為基本工資(jbgz)字段,按降序排列。84①排序3.3.1索引的建立用于設(shè)置索引的方向,即確定按升序或降序排列記錄。②索引名索引的名稱(索引標(biāo)識(shí))以字母、漢字或下劃線開(kāi)頭<=10字節(jié)85③索引的類型(1)侯選索引(2)主索引(3)普通索引(4)唯一索引3.3.1索引的建立86索引的類型侯選索引(Candidateindexs)不允許索引表達(dá)式的值出現(xiàn)重復(fù)一張表中可以建立多個(gè)侯選索引侯選索引可用于數(shù)據(jù)庫(kù)表和自由表3.3.1索引的建立87索引的類型主索引(Primaryindexs)不允許索引表達(dá)式的值出現(xiàn)重復(fù)對(duì)數(shù)據(jù)庫(kù)表,可以從候選索引中選取一個(gè)作為主索引在數(shù)據(jù)庫(kù)表中,每張表只能創(chuàng)建一個(gè)主索引自由表不能建立主索引3.3.1索引的建立88索引的類型普通索引(Regularindexs)允許索引表達(dá)式的值出現(xiàn)重復(fù)對(duì)一張表可以創(chuàng)建多個(gè)普通索引例:年齡、性別均可以3.3.1索引的建立89索引的類型唯一索引(Uniqueindexs)允許索引表達(dá)式的值出現(xiàn)重復(fù)在索引文件中,具有重復(fù)值的記錄僅存儲(chǔ)其中的第一個(gè)3.3.1索引的建立90四種索引類型的比較索引表達(dá)式的值是否允許重復(fù)記錄使用范圍一張表允許創(chuàng)建的索引個(gè)數(shù)候選索引不允許數(shù)據(jù)庫(kù)表和自由表多個(gè)主索引不允許數(shù)據(jù)庫(kù)表一個(gè)普通索引允許數(shù)據(jù)庫(kù)表和自由表多個(gè)唯一索引允許數(shù)據(jù)庫(kù)表和自由表多個(gè)3.3.1索引的建立91④索引關(guān)鍵字建立索引的依據(jù)字段/字段表達(dá)式(索引表達(dá)式)3.3.1索引的建立⑤篩選只對(duì)滿足條件的字段建立索引92字段在表達(dá)式中的前后順序?qū)⒂绊懰饕慕Y(jié)果
例:XB+XDH與XDH+XB多個(gè)數(shù)值型字段求和建立的索引表達(dá)式,按表達(dá)式的和排序
例:COMPUTER+ENGLISH不同類型字段構(gòu)成表達(dá)式,必須轉(zhuǎn)換成相同的數(shù)據(jù)類型。
例:XB+STR(COMPUTER)函數(shù):STR(數(shù)值型轉(zhuǎn)化為字符型)
DTOC(日期型轉(zhuǎn)化為字符型)用多個(gè)字段建立索引表達(dá)式應(yīng)注意:93RecNoXBXDH1男054男072男083女05RecNoXBXDH1男053女054男072男08RecNoGHXMXBXDH1E0001王一平男052E0002李剛男083H0001程?hào)|萍女054981202趙龍男07XB+XDHXDH+XB用多個(gè)字段建立索引表達(dá)式應(yīng)注意:94RecNoXHXMXBCOMPUTERENGLISH1981102徐逸華男75832981103郭茜茜女75903981202高涵男8575RecNoCOMPUTERENGLISH275903857517583COMPUTER+ENGLISH按降序,分?jǐn)?shù)由高到低用多個(gè)字段建立索引表達(dá)式應(yīng)注意:95RecNoXHXMXBCOMPUTERENGLISH1981102徐逸華男77832981103郭茜茜女89903981202高涵男7075RecNoXBCOMPUTER3男701男772女89XB+STR(COMPUTER)用多個(gè)字段建立索引表達(dá)式應(yīng)注意:STR(數(shù)值型轉(zhuǎn)化為字符型)96Index命令I(lǐng)NDEXON<索引表達(dá)式>TAG<索引標(biāo)識(shí)名>[FOR<條件表達(dá)式>][ASCENDING|DESCENDING][UNIQUE|CANDIDATE]
如:INDEXONcsrqTAGbirthday(升序,普通索引)3.3.1索引的建立973.3.2索引的修改和刪除表設(shè)計(jì)器“表設(shè)計(jì)器”——“索引”選項(xiàng)卡命令I(lǐng)NDEX命令修改原索引DELETETAG刪除索引標(biāo)識(shí)983.3.2索引的修改和刪除【例3-32】用INDEX命令修改教師表中已經(jīng)建立的索引?!纠?-33】用DELETETAG命令刪除教師表中已建立好的索引。INDEXONxybhTAGxybhINDEXONxybh+xbTAGxybh
INDEXONghTAGghDELETETAGgh
993.3.3設(shè)置主控索引主控索引決定顯示或訪問(wèn)表中記錄順序的索引設(shè)置主控索引①界面方式②命令方式100界面方式打開(kāi)表的瀏覽窗口選擇“表”中的“屬性”選擇索引順序3.3.3設(shè)置主控索引1013.3.3設(shè)置主控索引打開(kāi)表的同時(shí)指定主控索引USE<表文件名>ORDER<索引標(biāo)識(shí)名>[ASCENDING|DESCENDING]
【例3-35】假設(shè)已經(jīng)在教師表(js.dbf)中建立了多個(gè)索引,使用USE命令在打開(kāi)表的同時(shí)設(shè)置其中一個(gè)索引為主控索引。USEjsORDERjbgzASCENDINGBROWSE102打開(kāi)表后再設(shè)置主控索引的命令方式SETORDERTO[<索引標(biāo)識(shí)名>][ASCENDING|DESCENDING
例如:USEjsSETORDERTOghBROW取消主控索引SETORDERTO3.3.3設(shè)置主控索引1033.3.4利用索引定位記錄SEEK命令SEEK命令只能在索引過(guò)的表中使用,并且只能搜索索引關(guān)鍵字例:USEjsORDERTAGxmSEEK“王”找到?jīng)]找到EOF().F..
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 技術(shù)經(jīng)濟(jì)學(xué)課件-不確定性分析
- 妊娠合并甲狀腺功能減退的臨床護(hù)理
- 類丹毒的臨床護(hù)理
- 《機(jī)械設(shè)計(jì)基礎(chǔ)》課件-第10章
- 銀屑病的臨床護(hù)理
- 《證券經(jīng)紀(jì)人培訓(xùn)》課件
- JJF(陜) 010-2019 標(biāo)準(zhǔn)厚度塊校準(zhǔn)規(guī)范
- 《計(jì)算器定時(shí)器》課件
- 制定圖文并茂的工作計(jì)劃
- 秋季素質(zhì)測(cè)評(píng)與綜合評(píng)價(jià)體系計(jì)劃
- 紅軍故事谷文昌事跡
- 確保煤粉倉(cāng)安全措施
- 北師大版 2024-2025學(xué)年四年級(jí)數(shù)學(xué)上冊(cè)典型例題系列數(shù)學(xué)好玩其二:數(shù)字編碼(編碼問(wèn)題)專項(xiàng)練習(xí)(原卷版+解析)
- 2019年一級(jí)注冊(cè)消防工程師繼續(xù)教育三科題庫(kù)+答案
- 安徽建筑大學(xué)C語(yǔ)言程序設(shè)計(jì)及答案
- 園林裝飾行業(yè)分析
- 構(gòu)建以客戶需求為中心的組織架構(gòu)
- 進(jìn)入國(guó)際市場(chǎng)的戰(zhàn)略
- 大學(xué)廣播與主持培養(yǎng)主持能力
- 日本干細(xì)胞行業(yè)分析
- 《老年冠心病慢病管理指南(2023版)》解讀
評(píng)論
0/150
提交評(píng)論