數(shù)據(jù)庫(kù)的建立和操作



《數(shù)據(jù)庫(kù)的建立和操作》由會(huì)員分享,可在線閱讀,更多相關(guān)《數(shù)據(jù)庫(kù)的建立和操作(94頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、單擊此處編輯母版標(biāo)題樣式,,單擊此處編輯母版文本樣式,,第二級(jí),,第三級(jí),,第四級(jí),,第五級(jí),,,*,第3章 數(shù)據(jù)庫(kù)的建立和操作,zpz:,,本片中,凡是,SQL,的語(yǔ)句,可選講,,內(nèi)容,介紹數(shù)據(jù)庫(kù)、數(shù)據(jù)表的基本概念,,數(shù)據(jù)庫(kù)和數(shù)據(jù)表的建立,,編輯表中的數(shù)據(jù)、記錄修改與刪除,,表的索引等有關(guān)操作。,,概念,數(shù)據(jù)庫(kù)(.,dbc,),,就是一個(gè)關(guān)于某一特定主題或目標(biāo)的信息集合。,,表(.,dbf),,基本單位,是數(shù)據(jù)庫(kù)的基礎(chǔ),,可以說(shuō)表是關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)中的基本結(jié)構(gòu)。,,要存數(shù)據(jù),為所需記錄的信息創(chuàng)建一個(gè)表。,,由行和列組成的,一行為一個(gè)記錄,一列為一個(gè)字段。,,一行為一個(gè)記錄(,Record),
2、一列為一個(gè)字段,(,Field),通常所說(shuō)的表格,,二維表簡(jiǎn)稱(chēng)表(,Table),特征:,(1)若干記錄,,(2)若干個(gè)字段,每記錄具有相同結(jié)構(gòu)的字段,,(3)不同類(lèi)型的字段來(lái)存儲(chǔ)不同類(lèi)型的數(shù)據(jù),,(4)字段的順序與存儲(chǔ)的數(shù)據(jù)無(wú)關(guān),,(5)記錄在的順序與存儲(chǔ)的數(shù)據(jù)無(wú)關(guān)。,,表的兩,要素:,,表結(jié)構(gòu)(列),,相應(yīng)記錄(行),,表結(jié)構(gòu),,表的字段,表是由記錄組成,,記錄又由字段組成,,,字段的屬性(表結(jié)構(gòu)),,字段名,,字段類(lèi)型,,字段寬度,,小數(shù)位數(shù),,1.字段名,約定:,,只能使用字母、漢字、下劃線和數(shù)字,,見(jiàn)名知義,,,> < = + / \ | [ ] : ?
3、 空格,,字段名必須以字母或漢字開(kāi)頭,并且長(zhǎng)度不能超過(guò)128個(gè)字符,,如:下列那些合法,,不以數(shù)字開(kāi)頭,×,3,mn,姓名1,,mn3,,,不能含有空格;,×,,m n,×,編 號(hào),,不能含有各種運(yùn)算符;,×,,S-N,S_N,,×,AI*X,,,,,2.字段類(lèi)型,不同類(lèi)型的字段來(lái)存儲(chǔ)不同類(lèi)型的數(shù)據(jù),字符型,貨幣型,數(shù)值型,浮點(diǎn)型,日期型,日期時(shí)間型,雙精度,整型,邏輯型,備注型,通用型,,,(1)字符型(,Character),,通常用于存儲(chǔ)鍵盤(pán)輸入的文本數(shù)據(jù)。,,漢字、字母、數(shù)字、空格、,,符號(hào)及標(biāo)點(diǎn)符號(hào),,字符型數(shù)據(jù)必用雙引號(hào)或單引號(hào)或[]來(lái)定界,,字符型字段的寬度最大為254
4、 *****,,如:,,“,how” ‘1234’ [,中國(guó)人],,zpz:,,內(nèi)存變量,,(2)貨幣型(,Currency),,保存貨幣數(shù)值時(shí),用貨幣類(lèi)型而不是數(shù)值類(lèi)型字段,,,最多保留4位小數(shù)位數(shù),多則四舍五入至4位,,,內(nèi)存變量用$數(shù)值來(lái)賦初值,,如:,x=$999,,? Type(,‘,x,’,),zpz:,,內(nèi)存變量,,(3)數(shù)值型(,Numeric),,數(shù)值型字段用來(lái)存儲(chǔ)數(shù)值數(shù)據(jù)。,,它可以包含數(shù)字0~9,也可以帶正、負(fù)號(hào)或小數(shù)點(diǎn),,如:1234 100.89,,(4)浮點(diǎn)型(,Float),,浮點(diǎn)型字段在功能上等價(jià)于數(shù)值型字段。,zpz:,,內(nèi)存
5、變量,N,,(5)日期型(,Date),,用于存儲(chǔ)包含有年、月、日的日期數(shù)據(jù),,長(zhǎng)度為8字節(jié),,(6)日期時(shí)間型(,DateTime,),,用于存儲(chǔ)包含有年、月、日、時(shí)、分、秒的日期和時(shí)間數(shù)據(jù)。,,(7)雙精度型(,Double),,雙精度型用于存儲(chǔ)精度要求較高、位數(shù)固定的數(shù)值,或真正的浮點(diǎn)數(shù)值。,zpz:,,內(nèi)存變量,5.6,,(8)備注型,(,Memo),,長(zhǎng)度固定為4字節(jié),,用于存儲(chǔ)不定長(zhǎng)度的文本數(shù)據(jù),,當(dāng)文本數(shù)據(jù)長(zhǎng)度可能大于254,無(wú)法使用字符型存儲(chǔ)時(shí),使用備注類(lèi)型字段,,所有備注型字段的實(shí)際內(nèi)容存儲(chǔ)在和表名相同,擴(kuò)展名為.,FPT,的備注文件中,,(9)通用型(,General),,
6、通用型用于存儲(chǔ),OLE,對(duì)象數(shù)據(jù),,字段寬度固定為4個(gè)字節(jié),用于存儲(chǔ)一個(gè)4個(gè)字節(jié)的指針,指向該字段的實(shí)際內(nèi)容,,其內(nèi)容存儲(chǔ)在擴(kuò)展名為.,FPT,的文件中。,,OLE,對(duì)象包括,電子表格,、,字處理文檔,、,圖像,或其他多媒體對(duì)象等,,OLE,對(duì)象可以用鏈接方式存儲(chǔ)在表中。,,存儲(chǔ)數(shù)據(jù)的大小,取決于相的,OLE,服務(wù)程序,和磁盤(pán)空間大小的限制。,,(10)整型(,Integer),,整型用于存儲(chǔ),整數(shù),數(shù)據(jù),,字段寬度固定為4個(gè)字節(jié)。,,取值范圍從-2 147 483 647 到2 147 483 646。,,(11)邏輯型(,Logical),,.T.,或.,Y.,為邏輯真,,.,F.,或.,
7、N.,為邏輯假,,長(zhǎng)度固定為1字節(jié),,(12)字符型(二進(jìn))((,Character(Binary)),,字符型(二進(jìn)制)用于存儲(chǔ)不需要系統(tǒng)代碼頁(yè)維護(hù)的字符數(shù)據(jù),,其他字段特性同字符型字段,,密碼,(各國(guó)),,(13)備注型(二進(jìn)制)((,Memo(Binary)),,備注型(二進(jìn)制)用于存儲(chǔ)不需要系統(tǒng)代碼頁(yè)維護(hù)的備注字段數(shù)據(jù)。其他字段特性同備注型字段。,,數(shù)據(jù)類(lèi)型(結(jié)),,數(shù)據(jù)類(lèi)型(,Type)13,種,,,C-,字符型,,N-,數(shù)值形,,F-,浮點(diǎn)型,,,D-,日期型,,I-,整 型,L-,邏輯型,,,M-,備注型,G-,通用型,Y,貨幣型,,3.字段寬度,規(guī)定寬度,,字符型字段
8、 254,,貨幣型字段 8,,數(shù)值型字段 20,,日期型字段 8,,備注型 4,,邏輯型,1,,日期時(shí)間型 8,,通用型字段 4,,用于存儲(chǔ)一個(gè)4個(gè)字節(jié)的指針,指向該字段的實(shí)際內(nèi)容。整型字段寬度固定為4個(gè)字節(jié)。,,寬度(,Width) (,結(jié)),,(,以下類(lèi)型寬度固定),,貨幣型、日期型、日期時(shí)間型、雙精度型:8字節(jié),,整型、備注型、備注型(二進(jìn)制)、通用型:4字節(jié),,邏輯型:1字節(jié),,,4.小數(shù)位數(shù),,有小數(shù)的字段:,,數(shù)值型,,浮點(diǎn)型,,雙精度型,,字段寬度 = 整數(shù)部分寬度 +,小數(shù)點(diǎn)1
9、位,+小數(shù)位寬度,,如小數(shù)位數(shù)不為0,則小數(shù)位數(shù)至少要比整個(gè)字段寬度小2,,小數(shù)位數(shù),一個(gè),N,形變量寬為6,小數(shù)位數(shù)為3,則這個(gè)變量最大可表示的數(shù)為多少?,,,_ _ . _ _ _,,99.999,,,5.,空值,(,NULL),空值是用來(lái)標(biāo)識(shí)一個(gè)字段“沒(méi)有值”的標(biāo)志,,空值表示沒(méi)有任何值或沒(méi)有確定值,,空值不等同于數(shù)值0、空字符串或邏輯“假”,,函數(shù),EMPTY(),測(cè)試空值,,如果允許字段接受,NULL,值,則應(yīng)選中該欄所在框,,表的關(guān)鍵字段不允許為,NULL,值,,字段類(lèi)型 中文名稱(chēng) 寬度(字節(jié)) 說(shuō)明,,,Character,字符型 254 字母、漢字、
10、數(shù)字、文本、符號(hào),,Currency,貨幣型 8 貨幣單位,,Numeric,數(shù)值型 20 整數(shù)或小數(shù),,Float,浮點(diǎn)型 20 同數(shù)值型,,Date,日期型 8 年、月、日,,DateTime,日期時(shí)間型8 年、月、日、時(shí)、分、秒,,Double,雙精度型 8 雙精度數(shù)值,,Integer,整型 4 整數(shù),,Logical,邏輯型 1 真或假,,Memo,備注型 4 不定長(zhǎng)的字母、文本、
11、數(shù)字,,General,通用型 4,,OLE,圖像、多媒體對(duì)象,,小結(jié),,數(shù)據(jù)庫(kù)是表和表間關(guān)系的集合,,表是由表結(jié)構(gòu)和記錄組成,,表結(jié)構(gòu)是由各不同字段構(gòu)成,,每一字段又具有字段名、數(shù)據(jù)類(lèi)型、數(shù)據(jù)寬度、小數(shù)位數(shù)等屬性,,表中的每一個(gè)記錄又具有相同的字段,,,建表的步驟:,,1)設(shè)計(jì)表結(jié)構(gòu),,2),建表的結(jié)構(gòu),creat,表名,,3),保存表文件,ctrl+w,,4)輸入記錄,append browse,,,表結(jié)構(gòu)的創(chuàng)建,1、表設(shè)計(jì)器,,(1),打開(kāi),“,表設(shè)計(jì)器,”,,項(xiàng)目管理器/自由表/新建/新表/保存,,注:,,,A、,也可從菜單或工具欄中直接新建表,,,B、,與在,“,項(xiàng)目管理器,
12、”,中新建表不同的是: 這樣新建的表將不包含在項(xiàng)目中,,(2),在,“,表設(shè)計(jì)器,”,中創(chuàng)建表結(jié)構(gòu),,表設(shè)計(jì)器/字段/輸入/確定,,表結(jié)構(gòu)的創(chuàng)建,2、用,create table -SQL,命令創(chuàng)建表結(jié)構(gòu),,create table |DBF,表文件名(字段名1 字段類(lèi)型[(字段寬度[,小數(shù)位數(shù)])];[,字段名2 字段類(lèi)型[(字段寬度[,小數(shù)位數(shù)])]]…)----編程時(shí)用,,例:學(xué)生表結(jié)構(gòu),,create table xs2(,xh,c(6),,xm,c(8),,xb,c(2),,zydh,c(6)),,教師表結(jié)構(gòu),,create table,js,(,xm,c(8),,xb,c(2),
13、,gl,n(2,0),,csrq,d,,jbgz,n(7,2),,jl,m),,3、使用,Null,值,,表設(shè)計(jì)器/字段,,create table,中,NULL,NOT NULL,子句,,例:,,create table books(,sh,c(6) not null,,sm,c(40) not null,,cbrq,d null),,,set null on,,數(shù)據(jù)表的建立,如:,,一張名為教師檔案文件,zgda,.dbf,,,編號(hào) 姓名 性別 年齡 職稱(chēng) 工作時(shí)間 婚否 簡(jiǎn)歷,,1 張黎黎 女 26 助教 05/24/83,T memo,,2,李
14、 艷 女 30 助教 09/14/90,T memo,,3,劉 強(qiáng) 男 38 講師 12/24/76,,T memo,,,職工檔案表結(jié)構(gòu)(,zgda,.dbf),字段名 類(lèi)型 寬度 小數(shù)位數(shù) 索引,NULL,,編號(hào) 字符型 4 無(wú) 升序 否,,姓名 字符型 6 無(wú) 無(wú) 否,,性別 字符型 2 無(wú) 無(wú) 否,,年齡 數(shù)值型 2 無(wú) 無(wú) 否,,職稱(chēng) 字符型 8 無(wú) 無(wú) 可,,工時(shí) 日期型
15、8 無(wú) 無(wú) 否,,婚否 邏輯型 1 無(wú) 無(wú) 否,,簡(jiǎn)歷 備注型 4 無(wú) 無(wú) 可,,照片 通用型 4 無(wú) 無(wú) 可,,表的打開(kāi),VFP,在使用一個(gè)表前必須把表打開(kāi),,打開(kāi)命令,,USE <,文件名>,,VFP,在結(jié)束使用一個(gè)表時(shí),必須把表關(guān)閉,,關(guān)閉命令,,USE,,CLOSE ALL,,CLOSE DATABASE/TABLE,,修改表結(jié)構(gòu),,1、表設(shè)計(jì)器,,項(xiàng)目管理器/選定表/修改,,2、命令,,USE books,,MODIFY STRUCTURE,,修改表結(jié)構(gòu),2、命令
16、,,ALTER TABLE-SQL,命令,,添加字段:,ADD [ COLUMN ],子句,,例:,ALTER TABLE books ADD COLUMN,折扣,n(4,2),,重命名字段:,RENAME COLUMN,子句,,例:,ALTER TABLE books RENAME COLUMN,折扣,TO,zk,,刪除字段:,DROP [ COLUMN ],子句,,例:,ALTER TABLE books DROP COLUMN,zk,,3、菜單/按鈕方式,,法1:,,“表”,—,“,屬性,”,,“,工作區(qū),”,,“,工作區(qū)屬性,”,—,“,修改,”,,,法2:,,“,窗口,”,—,“,
17、數(shù)據(jù)工作期,”,,,(,“,屬性,”,—,“,修改,”,),,記錄的處理,記錄的追加,,1、立即輸入記錄(瀏覽/編輯/追加方式),,2、,瀏覽窗口下追加(,USE/BROWSE)(,表/追加新記錄),,3、使用,INSERT - SQL,命令,追加,記錄,,insert into,zgda,(,姓名,性別,年齡),values (',洪七公','男',900),,4,、,從其他表中追加記錄,,命令,APPEND,,APPEND FROM,,APPEND [ BLANK ],,記錄的瀏覽,,1、瀏覽窗口,,進(jìn)入 :,,BROWSE,命令,,use books/,顯示/瀏覽,,項(xiàng)目管理器/選定某個(gè)
18、表/單擊,“,瀏覽,”,按鈕,,2、命令,,BROWSE,,LIST / DISPLAY,,BROWSE,,FIELDS,書(shū)號(hào),書(shū)名,作者,,for ...,,如何定制瀏覽窗口?,重新安排列的位置:,,拖動(dòng),,改變列的寬度:,,拖動(dòng),,顯示或隱藏表格線:,,顯示/網(wǎng)格線,,分為兩個(gè)窗格:,,左下角拖動(dòng),,6.3.3 記錄的定位,記錄結(jié)束標(biāo)志,記錄開(kāi)始標(biāo)志,第,n,條記錄,文件頭,Go top,,go bottom,,skip,1、記錄指針標(biāo)志,,記錄號(hào)(輸入順序),,記錄的開(kāi)始標(biāo)志,,,BOF ( ),,記錄指針標(biāo)志,,( 當(dāng)前記錄 ),,,,,RECNO ( ),,記錄的結(jié)束標(biāo)志,,,EOF
19、 ( ),,2、,記錄的定位方式,,絕對(duì)定位,go,,相對(duì)定位,skip,,條件定位,,幾個(gè)概念,記錄指針,,當(dāng)前記錄,,記錄定位,,記錄號(hào),RECNO(),,例1,假設(shè),ZGDA,表有848條記錄,先后執(zhí)行以下命令,,,,,bof,(),,,,eof(),,,recno,(),,use books f f 1,,skip -1,,t f 1,,skip -1 Error f 1,,go,bott,f
20、 f 848,,skip,,f t 849,,skip,,Error,,,例2,,RECN(),,Use books 1,,go 5,,5,,skip +2 7,,skip -3 4,,locate for …,,,3、記錄定位的實(shí)現(xiàn),,界面方式 (,“,表,”,—,“,轉(zhuǎn)到記錄,”,),,記錄號(hào):絕對(duì)定位,goto,,定位:條件定位,
21、locate for,,作用范圍:,all,next,record,rest,for,,找到/未找到,,命令方式,,,絕對(duì)定位:,GO( GOTO ),,,,GO( GOTO ) TOP/BOTTOM,,,相對(duì)定位,:,SKIP(,與索引有關(guān)),skip=skip 1,,,快速移動(dòng):,SEEK,,及,FIND,,記錄的修改,1、在瀏覽窗口中修改,,EDIT / CHANGE / BROWSE,,項(xiàng)目管理器/瀏覽,,例:修改,books,表中第5條記錄,,,use books,,edit record 5,,記錄的修改,2、批量記錄的修改,,(1)界面方式,,“表”—“替換字段
22、”—字段條件,,(2)命令方式,,UPDATE-SQL,命令(表不必事先打開(kāi),以下同),,REPLACE,,命令,,USE books,,copy to temp,,use temp,,REPLACE,單價(jià),,WITH 5.00 FOR,單價(jià),<5,,記錄的刪除,目的:,,節(jié)省時(shí)空,,刪除步驟:,,邏輯刪除,,物理刪除,,,邏輯刪除,給要?jiǎng)h除的記錄加標(biāo)記(*號(hào)),,標(biāo)記要?jiǎng)h除的記錄(邏輯刪除),,瀏覽窗口:,,單擊小方框,,“,表,”,,“,刪除記錄,”,,命令,DELETE FROM,表名[,WHERE,過(guò)濾條件表達(dá)式],,例:,,刪除教材表中庫(kù)存在數(shù)量為0的記錄,,delete fro
23、m books where,庫(kù)存數(shù)量=0,,物理刪除,徹底刪除(物理刪除),,“,表,”,,“,徹底刪除,”,,命令,PACK(,獨(dú)占),,刪除有刪除標(biāo)記的記錄,,命令,ZAP=delete,all,+pack(,獨(dú)占),,恢復(fù),記錄的刪除,恢復(fù)帶刪除標(biāo)記的記錄(與,set dele,無(wú)關(guān)),,,法1:,,小方框 黑-->白,,法2:,“,表,”,,“,恢復(fù)記錄,”,,法3:,RECALL [,范圍][,FOR,條件表達(dá)式1][,WHERE,條件表達(dá)式2],,例:,recall,,recall all,,recall all for,庫(kù)存數(shù)量=0(這里的,all,可?。?,說(shuō)明:,缺省范圍
24、(當(dāng)前記錄,不是全部記錄),,記錄的刪除,對(duì)帶刪除標(biāo)記記錄的訪問(wèn),,(1)測(cè)試記錄的刪除標(biāo)記,deleted(),,有刪除標(biāo)記返回為真,否為假,,(2),控制對(duì)帶刪除標(biāo)記記錄的訪問(wèn),,set deleted on/off,,說(shuō)明:,,有些默認(rèn)為,ON,,有些默認(rèn)為,OFF,,實(shí)驗(yàn):,,先刪除若干記錄(邏輯刪除),,LIST,,默認(rèn)為,OFF,,SET DELETED ON,,LIST,,set deleted on/off,為,set deleted on,時(shí),,屏蔽掉有標(biāo)記的記錄,不能訪問(wèn),,影響,Count,命令,,不影響,Reccount,(),,例:8個(gè)記錄,一個(gè)有刪除標(biāo)記,,Set
25、deleted on,,Count to x,,? X,,7,,?,Reccount,() 8,,篩選記錄,界面,,,“表”,—,“,屬性,”,—,“,數(shù)據(jù)過(guò)濾器,”,,命令,,SET FILTER TO <,條件表達(dá)式>,,SET FILTER TO,,FOR,子句:臨時(shí)性記錄篩選,,例:,USE ZGDA,,SET FILT TO,出版社=‘石油大學(xué)’,,注意:,,是隱藏而非刪除,,與,FOR,子句不同,,對(duì),SE LECT-SQL、 DELETE-SQL、UPDATE-SQL,無(wú)效,,篩選字段,表/屬性/字段篩選,,SET FIELDS TO
26、<,字段1,>,[, <字段2,>],,SET fields to,姓名,性別,,表的使用,工作區(qū):,,用以標(biāo)識(shí)一張打開(kāi)的表的內(nèi)存區(qū)域,,一個(gè)工作區(qū)在某一時(shí)刻只能打開(kāi)一張表,,一張表可以在多個(gè)工作區(qū)同時(shí)打開(kāi),,(,use,表,again),,共有255個(gè)工作區(qū),,默認(rèn)工作區(qū)號(hào)為1區(qū),,USE books(,默認(rèn)為1號(hào)),,LIST,,USE books1(books,自動(dòng)關(guān)閉),,LIST,,工作區(qū)的標(biāo)識(shí)***,用,數(shù)字來(lái)標(biāo)識(shí)各個(gè)工作區(qū)(1—255),,用相應(yīng)工作區(qū)中表名來(lái)標(biāo)識(shí)工作區(qū),,(此時(shí)表沒(méi)有指定別名,如指定別名,用別名來(lái)標(biāo)識(shí)工作區(qū),),,Sele,5,,Use,zgda,,Sele
27、,4,,Sele zgda,,1-10,個(gè)工作區(qū)常用英文字母,A-J,,Sele,10=,sele,j,,工作區(qū)的轉(zhuǎn)換,命令:,,Select,工作區(qū)號(hào)/工作區(qū)中表別名/,A-J,,如:,,Sele,1,,Use,zgda,,Sele,B,,Selct zgda,,Select 0,表示選擇未用的號(hào)最小工作區(qū),,Select O,例子,sele,1,,use,zgda,,sele,4,,use,zggz,,sele,0,,? select(),,,返回選擇的工作區(qū)號(hào),The answer is :2,,表的使用,可以同時(shí)在多個(gè)工作區(qū)中打開(kāi)多個(gè)沒(méi)有打開(kāi)的表,,SELE 1,,USE bo
28、oks1,,LIST,,SELE 2,,USE books2,,LIST,,SELE 1,,LIST,,一張表不可以在多個(gè)工作區(qū)同時(shí)打開(kāi),,表的使用,表的別名指定,,,USE <,表文件名 >,ALIAS,,<,別名 >,,例:,USE ZGDA ALIAS OK,,當(dāng)前工作區(qū):,正在使用的工作區(qū),,ALIAS ( ),及,SELECT ( ),函數(shù),,SELE(0):,測(cè)試當(dāng)前工作區(qū)的區(qū)號(hào),,ALIAS():,測(cè)試當(dāng)前工作區(qū)中表的別名,,“,數(shù)據(jù)工作期,”,窗口,,別名,,操作非當(dāng)前工作區(qū)中的表,,把其它的工作區(qū)選為當(dāng)前工作區(qū),,Sele,2,,在命令中強(qiáng)行指定工作區(qū),,GO TOP I
29、N ok,,關(guān)于表的打開(kāi)和關(guān)閉,剛創(chuàng)建的表處于打開(kāi)狀態(tài)*,,1、表的打開(kāi),,界面,,文件,/,打開(kāi),,窗口/數(shù)據(jù)工作期/打開(kāi),,USE ?,,命令,,USE <,表文件名>,,USE <,表文件名>,IN 0,,多次打開(kāi)同一張表(同時(shí)),,USE <,表文件名>,AGAIN,,例:,USE books/SELE 0/USE XS AGAIN,,2、表的關(guān)閉,,界面,,窗口/數(shù)據(jù)工作期/關(guān)閉,,命令,,USE,,USE IN <,別名/工作區(qū)>,,CLOSE ALL&&,數(shù)據(jù)庫(kù)、索引、項(xiàng)目管理器等也被關(guān)閉,,CLOSE DATABASES &&,如果當(dāng)前沒(méi)有打開(kāi)的數(shù)據(jù)庫(kù),則把自由表全
30、部關(guān)閉,,CLOSE TABLES &&,關(guān)閉表,不關(guān)閉庫(kù),,退出,VFP,,注意:,SQL,語(yǔ)句能自動(dòng)打開(kāi)表,但不會(huì)自動(dòng)關(guān)閉表,!,,表的獨(dú)占與共享使用,表的共享使用:,,一張表可以同時(shí)被多個(gè)用戶打開(kāi),,(,RECORD UNLOCKED),,表的獨(dú)占使用:,,一張表只能被一個(gè)用戶打開(kāi)(默認(rèn)),,(,EXCLUSIVE),,表的獨(dú)占與共享使用,設(shè)置獨(dú)占與共享打開(kāi)表的默認(rèn)狀態(tài),,工具/選項(xiàng)/數(shù)據(jù),,SET EXCLUSIVE OFF/ON(,共享/獨(dú)占),,強(qiáng)行用獨(dú)占方式打開(kāi)表,,“打開(kāi)”—“獨(dú)占”復(fù)選框,,USE <,工作表 >,SHARED/EXCLUSIVE,,設(shè)置改變,并不改變已
31、經(jīng)打開(kāi)的表的狀態(tài),,一張表同時(shí)被多次打開(kāi)時(shí),只以第一次的打開(kāi)方式為準(zhǔn)(窗口/數(shù)據(jù)工作期),,利用緩沖訪問(wèn)表中的數(shù)據(jù),1、數(shù)據(jù)緩沖,,在多用戶環(huán)境下,用以保護(hù)對(duì)表記錄所做的數(shù)據(jù)更新以及數(shù)據(jù)維護(hù)操作的一種技術(shù),,2、類(lèi)型,,(1)記錄緩沖(行緩沖):一次訪問(wèn)、修改、寫(xiě)一個(gè)記錄,,(2)表緩沖:對(duì)多個(gè)記錄緩沖更新,,兩種鎖定方式:,,(1)保守式緩沖:在多用戶環(huán)境中,防止一個(gè)用戶訪問(wèn)(讀/寫(xiě))另一個(gè)用戶正在修改的記錄或表,,(2)開(kāi)放式緩沖:記錄只在被,寫(xiě)入,時(shí)加鎖,,表的數(shù)據(jù)緩沖,表的數(shù)據(jù)緩沖,,保守式行緩沖,,開(kāi)放式行緩沖,,保守式表緩沖,,開(kāi)放式表緩沖,,不設(shè)置緩沖,,設(shè)置表的數(shù)據(jù)緩沖,3、設(shè)
32、置表的數(shù)據(jù)緩沖,,(1)界面,,窗口/數(shù)據(jù)工作期/屬性/,,選中,“,允許數(shù)據(jù)緩沖,”,,,“,鎖定記錄,”,,,“,緩沖,”,,“在編輯時(shí)”(保守式)“在寫(xiě)入時(shí)”(開(kāi)放式),,“當(dāng)前記錄”(記錄緩沖)“所有編輯過(guò)的記錄”(表緩沖),,設(shè)置表的數(shù)據(jù)緩沖,(2),CURSORSETPROP(),,格式:,,,CURSORSETPROP(’Buffering’,,緩沖類(lèi)型值,[工作區(qū)|別名],),,緩沖類(lèi)型值,,1無(wú)緩沖(默認(rèn)),,2保守式行緩沖,,3開(kāi)放式行緩沖,,4保守式表緩沖,,5開(kāi)放式表緩沖,,例:為,XS,表打開(kāi)開(kāi)放式表緩沖:,,SET MULTILOCKS ON(,除方式1外),,US
33、E XS,,= CURSORSETPROP( ’Buffering’, 5),,利用緩沖訪問(wèn)表中的數(shù)據(jù),4、檢測(cè)緩沖區(qū)中的數(shù)據(jù)是否與數(shù)據(jù)源表一致,,(1),CURVAL(),和,OLDVAL(),,CURVAL():,返回當(dāng)前值,,OLDVAL():,返回初始值,,(2),GETFLDSTATE(),,5、,執(zhí)行和放棄對(duì)緩沖數(shù)據(jù)的更改,,(1),TABLEUPDATE(),執(zhí)行對(duì)緩沖行、緩沖表或臨時(shí)表的修改,,格式:,TABLEUPDATE([,AllRows,][,,lForce,][,,別名|工作區(qū)],),,(2),TABLEREVERT(),放棄對(duì)緩沖行、緩沖表或臨時(shí)表的修改,,格式,:
34、,TABLEREVERT([,AllRows,][,,工作區(qū)|別名],),zpz:,,此,頁(yè)不,講,,概念,物理順序:,,一般是按照其輸入的順序進(jìn)行,記錄的存儲(chǔ)順序,,順序找,速度慢,,不便于查找需要的信息,,邏輯順序:,,記錄的處理順序,,(快速),,可以使用索引來(lái)改變記錄的順序即邏輯順序,,根據(jù)表中字段的值,建立具有邏輯順序的索引文件,然后根據(jù)索引文件重新排列數(shù)據(jù)庫(kù)表中顯示的記錄。,,索引文件,1、索引:,,如同目錄,,數(shù)據(jù)庫(kù)的輔助文件,不能單獨(dú)使用,,可以按一個(gè)字段索引,也可以多個(gè),,一個(gè)表可以創(chuàng)建多個(gè)索引,,索引存儲(chǔ)在索引文件中,,索引文件中存儲(chǔ)著記錄號(hào)和索引字段的,索引值,,理解索引
35、,索引可以理解為根據(jù)某一字段的值進(jìn)行邏輯排序的一組指針,,,按照索引顯示記錄,,VFP,按照指針排列的順序分別讀取每一條記錄,而這些記錄在數(shù)據(jù)庫(kù)中的實(shí)際存儲(chǔ)位置并未改變。,,按年齡索引后的表文件,,姓名 年齡,,張黎黎 26,,,李 艷 30,,,劉 強(qiáng) 38,,,DA.DBF,姓名 年齡,,劉 強(qiáng) 38,,李 艷 30,,張黎黎 26,,DA.DBF,,物理順序,邏輯順序,記錄號(hào) 年齡大小,,3 1,,2 2,,1 3,,,NL.CDX,,關(guān)鍵字與,索引標(biāo)識(shí),(1),索引關(guān)
36、鍵字,(,Index Key),,建立索引的依據(jù)(索引表達(dá)式),,字段/字段表達(dá)式,,VFP,使用索引關(guān)鍵字來(lái)顯示和訪問(wèn)表中的記錄,,(2)索引標(biāo)識(shí)(,Tag),,索引關(guān)鍵字的名稱(chēng)(索引名),,<=10字節(jié),,索引的類(lèi)型,4種類(lèi)型索引(根據(jù)關(guān)鍵字段),,主索引,,候選索引,,普通索引,,惟一索引,,表的索引,2、索引的類(lèi)型,,主索引(,Primary,indexs,),,在數(shù)據(jù)庫(kù)表中,每張表只能創(chuàng)建一個(gè)主索引,,組成主索引關(guān)鍵字的字段或表達(dá)式,在表的所有記錄中不能有重復(fù)的值(學(xué)號(hào)可以,姓名不可以),,自由表不能建立主索引,,主索引存儲(chǔ)于數(shù)據(jù)庫(kù)表的結(jié)構(gòu)復(fù)合索引中,,侯選索引(,Candidate
37、,indexs,),,在指定的關(guān)鍵字段或表達(dá)式中不允許有重復(fù)值的索引,,一張表中可以建立多個(gè)侯選索引,,侯選索引可用于數(shù)據(jù)庫(kù)表和自由表,,表的索引,2、索引的類(lèi)型,,普通索引(,Regular,indexs,),,可以決定記錄的處理順序,,允許關(guān)鍵字段或表達(dá)式的值出現(xiàn)重復(fù),,對(duì)一張表可以創(chuàng)建多個(gè)普通索引(,GL),,唯一索引,(,Unique,indexs,),,允許有重復(fù)值,,具有重復(fù)值的記錄僅存儲(chǔ)其中的第一個(gè)(出版社),,惟一:對(duì)每一個(gè)特定的關(guān)鍵字只存儲(chǔ)一次,而忽略了重復(fù)值第二次或以后的記錄,,表的索引,3、索引文件的種類(lèi),,索引本身并不改變表中數(shù)據(jù)的物理順序,,結(jié)構(gòu)復(fù)合索引,(,CDX)
38、,,與數(shù)據(jù)表同名,,文件名是在創(chuàng)建時(shí)由系統(tǒng)自動(dòng)給定,,結(jié)構(gòu)復(fù)合索引文件與表文件同步打開(kāi)、更新、關(guān)閉,,是表的一部分,,非結(jié)構(gòu)復(fù)合索引,(,CDX),,文件名由用戶給出,,非結(jié)構(gòu)復(fù)合索引文件中不能創(chuàng)建主索引,,獨(dú)立索引,(,IDX):,與,FoxBase,兼容,,創(chuàng)建索引文件,表設(shè)計(jì)器,,“,表設(shè)計(jì)器,”,——,“,索引,”,選項(xiàng)卡,,Index,命令,,INDEX ON <,索引表達(dá)式>,,TAG <,索引標(biāo)識(shí)名>,,[,FOR <,條件表達(dá)式>,ASCENDING|DESCENDING],,[UNIQUE|CANDIDATE,](,允許相同|不允許相同),,注意,,不能對(duì)備注字段和通用
39、字段建立索引,,不要建立無(wú)用的索引,,析,Index,命令,?結(jié)構(gòu)復(fù)合索引,(,CDX),,?,非結(jié)構(gòu)復(fù)合索引,(,CDX),,?,獨(dú)立索引,(,IDX),INDEX ON <,索引表達(dá)式>,TAG <,索引標(biāo)識(shí)名>,,[,FOR <,條件表達(dá)式>,ASCENDING|DESCENDING],,[UNIQUE|CANDIDATE,](,允許相同|不允許相同),,索引的建立,步驟:,,項(xiàng)目管理器---表---修改,,表設(shè)計(jì)器---索引,,輸入索引名----類(lèi)型---表達(dá)式,,,不要對(duì)每個(gè)字段都建立索引,否則會(huì)降低程序的運(yùn)行效率,,對(duì)多個(gè)字段,索引,操作步驟:,,項(xiàng)目管理器--選擇已索引的表
40、,選,“,修改,”,,表設(shè)計(jì)器,選索引,輸入索引的名稱(chēng),,在,“,表達(dá)式,”,框中,輸入對(duì)多個(gè)索引的表達(dá)式,,如:按性別與年齡進(jìn)行索引,其表達(dá)式應(yīng)為,性別+,STR(,年齡,2),,確定,,可以對(duì)多個(gè)字段建立索引,,其排序是按照表達(dá)式的值進(jìn)行的,,,索引的修改和刪除,索引的修改,,表設(shè)計(jì)器,,“,表設(shè)計(jì)器,”,——,“,索引,”,選項(xiàng)卡,,命令,,INDEX,命令修改原索引,,索引的刪除,,表設(shè)計(jì)器,,“,表設(shè)計(jì)器,”,——,“,索引,”,選項(xiàng)卡,,DELETE TAG,刪除索引標(biāo)識(shí),,索引的使用,設(shè)置主控索引,,主控索引:決定顯示或訪問(wèn)表中記錄的順序的索引,,主控索引可以是:,,復(fù)合索引文
41、件中的一個(gè)標(biāo)識(shí)(主控標(biāo)識(shí)),,一個(gè)獨(dú)立索引文件(主控索引文件),,打開(kāi)表的同時(shí)指定主控索引,,Use,表名,index,索引文件名,,打開(kāi)后再設(shè)置主控索引,,窗口 /數(shù)據(jù)工作期 /屬性/索引順序,,命令,SET ORDER TO TAG <,標(biāo)識(shí)名>,,取消主控索引,,SET ORDER TO,,索引函數(shù),,CDX() ORDER() TAG(),,索引的使用,利用索引快速定位記錄,,SEEK,命令,,SEEK,命令只能在索引過(guò)的表中使用,并且只能搜索索引關(guān)鍵字(,XS/960102),,EOF(),與,FOUND(),,SEEK,函數(shù)(=,SEEK+FOUND()),da:,,
42、此頁(yè)不講,,篩選記錄(,set filter to),操作步驟:,,項(xiàng)目管理器--選擇已索引的表,選,“,修改,”,,表設(shè)計(jì)器,選索引,輸入索引的名稱(chēng),,在,“,篩選,”,處,輸入過(guò)濾表達(dá)式,,按,“,確定,”,,完成篩選表達(dá)式的建立,,如:篩選性別為男的記錄,表達(dá)式為,,Set filter to,性別=,‘,男,’,,可以實(shí)現(xiàn)對(duì)記錄的控制,,,4 4 王秋燕 女 45講師 10/09/70,T memo,gen,,5 5,姜麗萍 女 45講師 10/09/70,T memo,gen,,6 6,陳麗麗 女 38講師 09/27/72,T memo,gen,,7 7,劉
43、 剛 男 50副教授 06/23/61,T memo,gen,,8 8,王 良 男 39講師 08/09/78,T memo,gen,,習(xí),題,1.在創(chuàng)建表之前需要做好哪些準(zhǔn)備工作?,,2.過(guò)濾器有什么作用?怎樣設(shè)置過(guò)濾器的過(guò)濾字段?,,3.,VFP,中的索引有哪幾種?索引的使用應(yīng)該遵守哪幾條原則?,,4.建立一個(gè),“,職工檔案,”,表,參考本章例題。建立一個(gè),“,工資,”,表,表的內(nèi)容自己定。,,5.建立一個(gè),“,學(xué)生成績(jī),”,表,表的內(nèi)容自己定。,,習(xí) 題,6.將,“,職工檔案,”,表,復(fù)制一個(gè)新文件,先添加幾個(gè)記錄,進(jìn)行修改和刪除操作。,,(1)用,“,瀏覽,”
44、,或,“,編輯,”,進(jìn)行表的修改操作。,,(2)給前3個(gè)記錄做刪除標(biāo)記,然后再恢復(fù)操作。,,(3)將職稱(chēng)是,“,助教,”,的記錄做刪除標(biāo)記,然后再?gòu)氐讋h除。,,習(xí) 題,7.用過(guò)濾器,篩選記錄,將,“,職工檔案,”,表進(jìn)行如下操作:,,(1)瀏覽前4個(gè)記錄,只列出姓名、性別和工資三個(gè)字段的內(nèi)容。,,(2)瀏覽男的全部記錄的內(nèi)容。,,(3)瀏覽職稱(chēng)是,“,講師,”,并且性別是男的記錄的內(nèi)容。,,習(xí) 題,8.將,“,職工檔案,”,表,按下列要求建立索引文件:,,(1)按職稱(chēng)建立索引文件。,,(2)按年齡建立索引文件。,,理 解,,數(shù)據(jù)庫(kù)提供一個(gè)環(huán)境,,文件名,DBC,,由多表及其關(guān)系組成,,表,提供記錄信息,,文件名,DBF,,可不放數(shù)據(jù)庫(kù)中,自由表,數(shù)據(jù)庫(kù),數(shù)據(jù)表,,索引應(yīng)遵循原則,(1)為了提高速度,用普通索引、候選索引或主索引,,,(2)控制字段的重復(fù)值對(duì)數(shù)據(jù)庫(kù),“,表,”,用,“,主索引,”,或,“,候選索引,”,,對(duì)于,“,自由表,”,,用,“,候選索引,”,。,,
- 溫馨提示:
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. 裝配圖網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 專(zhuān)題黨課講稿:以高質(zhì)量黨建保障國(guó)有企業(yè)高質(zhì)量發(fā)展
- 廉政黨課講稿材料:堅(jiān)決打好反腐敗斗爭(zhēng)攻堅(jiān)戰(zhàn)持久戰(zhàn)總體戰(zhàn)涵養(yǎng)風(fēng)清氣正的政治生態(tài)
- 在新錄用選調(diào)生公務(wù)員座談會(huì)上和基層單位調(diào)研座談會(huì)上的發(fā)言材料
- 總工會(huì)關(guān)于2025年維護(hù)勞動(dòng)領(lǐng)域政治安全的工作匯報(bào)材料
- 基層黨建工作交流研討會(huì)上的講話發(fā)言材料
- 糧食和物資儲(chǔ)備學(xué)習(xí)教育工作部署會(huì)上的講話發(fā)言材料
- 市工業(yè)園區(qū)、市直機(jī)關(guān)單位、市紀(jì)委監(jiān)委2025年工作計(jì)劃
- 檢察院政治部關(guān)于2025年工作計(jì)劃
- 辦公室主任2025年現(xiàn)實(shí)表現(xiàn)材料
- 2025年~村農(nóng)村保潔員規(guī)范管理工作方案
- 在深入貫徹中央8項(xiàng)規(guī)定精神學(xué)習(xí)教育工作部署會(huì)議上的講話發(fā)言材料4篇
- 開(kāi)展深入貫徹規(guī)定精神學(xué)習(xí)教育動(dòng)員部署會(huì)上的講話發(fā)言材料3篇
- 在司法黨組中心學(xué)習(xí)組學(xué)習(xí)會(huì)上的發(fā)言材料
- 國(guó)企黨委關(guān)于推動(dòng)基層黨建與生產(chǎn)經(jīng)營(yíng)深度融合工作情況的報(bào)告材料
- 副書(shū)記在2025年工作務(wù)虛會(huì)上的發(fā)言材料2篇
相關(guān)資源
更多