“數(shù)據(jù)庫及其應(yīng)用”考前沖刺復習匯總
第一章 數(shù)據(jù)庫系統(tǒng)基本概念
1.數(shù)據(jù)管理技術(shù)的三個階段:
自由管理階段——文件管理階段——數(shù)據(jù)庫階段
2.數(shù)據(jù)庫系統(tǒng)的組成:
數(shù)據(jù)庫、支持數(shù)據(jù)庫運行的軟硬件、數(shù)據(jù)庫管理系統(tǒng)和應(yīng)用程序等部分組成。
3.數(shù)據(jù)庫系統(tǒng)的三級組織結(jié)構(gòu):概念模式、內(nèi)模式、外模式
三者之間的映射:外模式/模式、模式/內(nèi)模式
4.英文含義:
DBMS:數(shù)據(jù)庫管理系統(tǒng)
DBA: 數(shù)據(jù)庫管理員
DDL: 數(shù)據(jù)描述語言
DML: 數(shù)據(jù)操縱語言
UWA: 用戶工作區(qū)
DD: 數(shù)據(jù)字典
#p#
第二章 數(shù)據(jù)模型
1.數(shù)據(jù)模型的概念:數(shù)據(jù)庫的數(shù)據(jù)結(jié)構(gòu)形式,一一種形式化地描述數(shù)據(jù)及數(shù)據(jù)之間的聯(lián)系方法。
2.數(shù)據(jù)模型的表示方法:DM={R,L} 其中R代表記錄類型的集合;L代表不同記錄類型聯(lián)系的集合。
3.實體:實際存在的東西或是概念性的東西或是事物與事物之間的聯(lián)系。
屬性:實體所具有的性質(zhì)
“型”與“值”之分:型是概念的內(nèi)涵,表達的是個體的共性。而值是概念的實例,表達的是個體具體內(nèi)容。
“域”:實體中的每個屬性,都有一個取值范圍,這叫作屬性的“域”。
“鍵”:在實體屬性中,可用于區(qū)別實體集中不同個體的哪個屬性或幾個屬性的組合,考試#大提示稱為該實體的“鍵”。
4.實體間的聯(lián)系方式:一對一(1:1),一對多(1:N),多對多(M:N)
5.實體聯(lián)系表示法(E-R方法)
6.數(shù)據(jù)庫類型:層次模型,網(wǎng)狀模型,關(guān)系模型(用關(guān)系表示實體及其聯(lián)系)。
7.人們通過一個中間步驟,先用E-R圖反映實體及其聯(lián)系,再從E-R圖出發(fā)結(jié)合具體數(shù)據(jù)模型進行轉(zhuǎn)換,從E-R圖轉(zhuǎn)換為關(guān)系模型的基本原則在設(shè)計關(guān)系數(shù)據(jù)庫時是很有用的。
#p#
第三章 關(guān)系數(shù)據(jù)庫理論基礎(chǔ)
1.表示關(guān)系定義: 域D1={男,女},表示性別的集合,域中數(shù)據(jù)個數(shù)叫基數(shù)。即D1的基數(shù)為2.
2.表示關(guān)系定義: 笛卡爾積
3.關(guān)系對應(yīng)的二維表中,行對應(yīng)元組,列對應(yīng)域。 在FOXPRO中把關(guān)系叫做“數(shù)據(jù)庫文件”或“表”,把屬性叫做“字段”,元組叫做“記錄”。
4.集合運算符:U(并),n(交),——(差),X(笛卡爾積)
關(guān)系運算符:投影,選擇,連接
比較運算符:<,>
邏輯運算符:——(非),∧(與),∨(或)。
#p#
第四章 數(shù)據(jù)庫應(yīng)用系統(tǒng)的設(shè)計
1.數(shù)據(jù)庫設(shè)計的內(nèi)容:結(jié)構(gòu)特性設(shè)計和行為特性設(shè)計
2.數(shù)據(jù)庫邏輯設(shè)計的步驟:
(1)收集和分析用戶要求 數(shù)據(jù)及其流動方向(箭頭),對數(shù)據(jù)的加工(圓形),文件(卡片),源點和終點(方框) “由外向內(nèi),自頂而下”
(2)建立E-R模型
(3)數(shù)據(jù)庫模式設(shè)計
3.數(shù)據(jù)庫設(shè)計方法稱為:視圖設(shè)計法
#p#
第五章 FoxPro綜述
數(shù)據(jù)庫每一記錄最大字段數(shù)是255,可以同時打開的數(shù)據(jù)庫文件數(shù)225 ,內(nèi)存變量(數(shù)組)最大數(shù)65000。
1.數(shù)據(jù)類型:(1)字符型(C-254) (2)數(shù)據(jù)型(N-20) (3)浮點型(F-20) (4)邏輯型(L-1) (5)日期型(D-8) (6)備注型(M-10) (7)通用型(G-10)
2.常量: (1)字符型 (2)數(shù)據(jù)型 (3)日期型 (4)邏輯型
3.變量:
(1)字段變量: 字符型, 數(shù)據(jù)型, 浮點型, 邏輯型, 日期型, 備注型, 通用型
(2)內(nèi)存變量: 字符型, 數(shù)據(jù)型, 浮點型, 邏輯型,屏幕型(S)
*當字段變量與內(nèi)存變量同名時,字段變量優(yōu)先。但可以通過內(nèi)存變量名前加上前綴M.或M->來區(qū)別。
4.運算符及其優(yōu)先級
類別 | 符號 | 說明 | 優(yōu)先級 |
算術(shù)運算符 | () +、- **或∧ *、/、% +、- |
括號 正、負號 乘冪 乘除、求余 加、減 |
高 底 |
字符串 運算符 |
+ - |
字符串聯(lián)接 字符串聯(lián)接 |
同類優(yōu)先級相等 |
關(guān)系運算符 | 〈 〉 |
小于 大于 |
同類優(yōu)先級相等 |
邏輯運算符 | () 。NOT。 。AND。 。OR?!?/td> | 括號 邏輯非 邏輯與 邏輯或 |
高 底 |
5.命令格式:〈命令名〉[〈表達式表〉][〈范圍〉][FOR〈條件〉][WHILE〈條件〉][TO FILE〈文件名〉|TO PRINTER|TO ARRAY〈數(shù)組表〉|TO〈內(nèi)存變量〉]ALL[LIKE|EXCEPT〈通配符〉]][IN〈別名〉]
*范圍選擇:RECORD N 對第N條記錄進行操作
NEXT N 對從當前記錄開始的N條記錄進行操作
ALL 對所有的記錄進行操作
REST 對當前記錄開始到文件結(jié)束的所有記錄進行操作
FOR〈條件〉:對所有滿足“條件”的記錄進行操作。
WHILE〈條件〉:對直到不滿足條件的記錄為止的所有已滿足條件的記錄進行操作。
6.命令的執(zhí)行方式;1.立即方式 2.程序方式
7.內(nèi)存變量的賦值:(1)STORE <表達式> TO <內(nèi)存變量表>
(2)<內(nèi)存變量>=<表達式>
(3)SAVE SCREEN TO <屏幕型內(nèi)存變量>
RESTORE SCREEN FROM <屏幕型內(nèi)存變量>
8.內(nèi)存變量的釋放:(1)RELEASE<內(nèi)存變量表>
(2)RELEASE ALL [LIKE|EXCEPT<通配符>]
(3)CLEAR MEMORY/CLEAR ALL
9.內(nèi)存變量文件:(1)內(nèi)存變量文件的建立
SAVE TO <內(nèi)存變量文件名>[ALL[LIKE|EXCEPT<通配符>]]
(2)內(nèi)存變量的恢復
RESTORE FROM<內(nèi)存變量文件名>[ ADDITIVE]
ADDITIVE沒有表示清除當前內(nèi)存中所有的內(nèi)存變量,有時表示保留當前內(nèi)存變量。
(3) 數(shù)據(jù)類型轉(zhuǎn)換函數(shù)
字符型轉(zhuǎn)數(shù)值型函數(shù)VAL(<字符表達式>)
數(shù)值型轉(zhuǎn)字符型函數(shù)STR(<數(shù)值表達式>)[,<數(shù)值表達式2>[.<數(shù)值表達式3>]])
字符型轉(zhuǎn)日期型函數(shù)CTOD(<字符型表達式>)
日期型轉(zhuǎn)字符型函數(shù)DTOC(<日期表達式>[,1])(帶“1”表示可以進行索引的日期字符串。)
(4) 測試函數(shù)
數(shù)據(jù)類型測試函數(shù)TYPE(<字符表達式>)
測試文件尾函數(shù)EOF([<工作區(qū)號>|<文件別名>])
測試文件頭函數(shù)BOF([<工作區(qū)號>|<文件別名>])
測試當前記錄號函數(shù)RECNO([<工作區(qū)號>|<文件別名>])
測試庫文件記錄數(shù)函數(shù)RECCOUNT([<工作區(qū)號>|<文件別名>])
測試查找記錄函數(shù)FOUND([<工作區(qū)號>|<文件別名>])
測試屏幕(打印頭)光標坐標函數(shù)ROW(PROW)()與COL(PCOL()
#p#
第六章 數(shù)據(jù)庫的基本操作
1. 庫文件結(jié)構(gòu)建立CREAT[<文件名>|?]其中A-J作為工作區(qū)代碼
在把記錄輸入完后,按CTRL+W或CTRL+END存盤。
2. 追加記錄APPEND[BLANK]
3. 記錄顯示LIST/DISPLAY [<范圍>][FIELDS<字段名表>][FOR<條件>][WHILE<條件>][OFF][TO PRINTER/FILE<文件名>]
4. 數(shù)據(jù)庫文件打開USE[<庫文件名>/?][ALIAS<別名>]
5. 關(guān)閉數(shù)據(jù)庫文件:關(guān)閉當前工作區(qū)打開的數(shù)據(jù)庫文件USE
關(guān)閉當前打開的所有的庫文件CLOSE DATABASES
6.數(shù)據(jù)庫文件結(jié)構(gòu)的顯示:LIST/DISPLAY STRUCTURE[TO PRINTER/TO FILE<文件名>]
數(shù)據(jù)庫文件結(jié)構(gòu)的修改:MODIFY STRUCTURE*不能同時修改字段名和寬度
6. 指針的移動:
絕對移動(1)GO/GOTO [RECORD]<數(shù)值表達式>[IN<工作區(qū)號>/<文件別名>]
(2)GO/GOTO TOP/BOTTOM[IN<工作區(qū)>/<文件名>]
相對移動SKIP[<數(shù)值表達式>][IN<工作區(qū)號>/<文件別名>]
7. 插入記錄INSERT[BEFORE][BLANK]
8. 刪除記錄DELETE[<范圍>][FOR<條件>][WHILE<條件>]
SET DELETED OFF/ON (取OFF,邏輯刪除無效,反之,則有效)
恢復邏輯刪除RECALL[<范圍>][FOR<條件>][WHILE<條件>]
物理刪除PACK
物理刪除所有記錄ZAP(只有結(jié)構(gòu)無記錄)
9. 記錄的修改:
編輯修改EDIT.CHANG [<范圍>][FIELDS<字段名表>[條件]
瀏覽編輯修改BROWSE
替換修改REPLACE[<范圍>]<字段1>WITH<表達式1>……
10. 數(shù)據(jù)庫文件的排序與索引
排序:SORT TO <文件名>ON<字段1>[/A][/C][/D][,<字段2>………[FIELDS<字段名表>][FOR……
*關(guān)鍵字只能是C,N,D. */A(升序,默認)/D(降序) /C(不區(qū)分大/小寫)
*需要臨時文件做周轉(zhuǎn)
索引:INDEX ON<關(guān)鍵字表達式>TO<索引文件名>[FOR……][UNIQUE][ADD…]
*備注字段不能作為關(guān)鍵字
*字段索引只能是C,N,D,多字段索引只能是C
*UNIQUE進行唯一索引(在記錄相同,只取第一個)
*未指定ADDITIVE,關(guān)閉先打開的索引文件,反之,就不關(guān)閉。
索引文件的打開USE<庫文件名>INDEX<索引文件名表>
(允許打開25個) SET INDEX TO <索引文件名表>
索引文件的關(guān)閉SET INDEX TO/CLOSE INDEX
指定主索引SET ORDER TO [<數(shù)值表達式>/<索引文件名>]
11. 數(shù)據(jù)查詢:
順序查詢:LOCATE[<范圍>[FOR<條件>][WHILE<條件>]它總是把指針定位到第一個滿足條件的記錄上,想繼續(xù)查找,則用CONTINUE
索引查詢:FIND<字符串>/<數(shù)值常數(shù)>當設(shè)置為SET EXACT OFF時,查詢時不需要精確比較,反之,則需要精確比較。
SEEK<表達式>它可以查詢包括字符型,數(shù)值型,日期型和邏輯型在內(nèi)的各種數(shù)據(jù)類型,也可以是內(nèi)存變量或者是表達式……
12. 數(shù)據(jù)統(tǒng)計:
計數(shù)命令COUNT[<范圍>][FOR<條件>][WHILE<條件>][TO<內(nèi)存變量名>]
求和命令SUM[<范圍>][<數(shù)值表達式>][FOR<條件>][WHILE<條件>][TO<內(nèi)存變量名>/TO ARRAY<數(shù)組>]
求平均值命令AVERAGE[<范圍>][<數(shù)值表達式>][FOR<條件>][WHILE<條件>][TO<內(nèi)存變量名>/TO ARRAY<數(shù)組>]
分類匯總命令TOTAL ON <關(guān)鍵表達式> TO <分類庫文件名>[<范圍>][FIELDS<字段名表>][FOR<條件>][WHILE<條件>]要求首先對庫文件進行排序或索引
13. 數(shù)據(jù)庫文件的復制
(1) 庫文件的復制COPY TO <庫文件名>[<范圍>][FIELDS<字段名表>][FOR<條件>][WHILE<條件>]將當前庫文件中的數(shù)據(jù)(包括結(jié)構(gòu))一起復制到指定的庫文件中。
(2) 庫文件結(jié)構(gòu)的復制COPY STRUCTURE TO <新庫文件名>[FIELDS<字段名表>]
(3) 庫文件與文本數(shù)據(jù)文件的轉(zhuǎn)換復制
庫文件復制成文本數(shù)據(jù)文件COPY TO <數(shù)據(jù)文件名>SDF.DELIMITED[WITH<定界符>/BLABK][<范圍>][FIELDS<字段名表>][FOR<條件>][WHILE<條件>]
文本數(shù)據(jù)文件中的數(shù)據(jù)復制到庫文件APPEND FROM<數(shù)據(jù)文件名> SDF.DELIMITED[WITH<定界符>/BLABK] [FOR<條件>][FIELDS<字段名表>]
(4) 任何類型文件的復制COPY FILE <源文件名> TO <目標文件名>不能復制已經(jīng)打開的庫文件,且<源文件名>,<目標文件名>必須包括主文件名和擴展名。
14. 多重數(shù)據(jù)庫文件的操作
(1) 最多達225個工作區(qū),且前十個工作區(qū)1~10還規(guī)定了別名A~J.
(2) 工作區(qū)選擇命令SELECT<工作區(qū)號>/<別名>,從當前工作區(qū)訪問其它工作區(qū)打開庫文件中的某個字段時,要表示為別名。字段名或者別名->字段名
(3) 庫文件之間的關(guān)聯(lián)SET RELATION TO [<關(guān)鍵字表達式>/<數(shù)值表達式>INTO<工作區(qū)號>/<別名>[ADDITIVE]其中若選<數(shù)值表達式>,而被關(guān)聯(lián)庫沒有建立索引,則作為記錄號進行關(guān)聯(lián)。
指定[ADDITIVE]保留以前關(guān)聯(lián)。SET RELATION TO將刪除當前工作區(qū)與所有其他工作區(qū)連接
(4) 庫文件的連接JOIN WITH<別名> TO <新庫文件名>[FIELDS<字段名表>][FOR<條件>]
(5) 庫文件的更新UPDATE ON <關(guān)鍵字段>FROM<別名>REPLACE<字段名1>WITH<表達式1>……[RANDOM]其中
<關(guān)鍵字段>是2個庫都有的且都按此建立索引,并且打開,若提供更新的庫文件未建立索引,則需使用RANDOM。
#p#
第七章 FoxPro程序設(shè)計
1. 命令文件的建立、修改和運行
(1) 命令文件的建立與修改MODIFY COMMAND[<命令文件名>/?][IN WINDOW<窗口名>/SCREEN]
(2) 命令文件的執(zhí)行DO<命令文件名>
其中SET DEVELOPMENT ON/OFF ,處于ON狀態(tài)是默認,執(zhí)行新的版本,處于OFF狀態(tài),則執(zhí)行舊版本。
(3)命令文件的注釋NOTE<注釋> *<注釋> &&<注釋>
2. 順序結(jié)構(gòu)程序設(shè)計
(1)CLEAR是清屏命令,SET TALK ON為默認,每執(zhí)行一條命令就給出回應(yīng),RETURN是一條返回命令。
(2)非格式化輸入命令
ACCEPT [<字符表達式>] TO <內(nèi)存變量> 接受從鍵盤輸入的字符型數(shù)據(jù),輸入的字符串不必用引號括起來。 <字符表達式>只是提示作用。
INPUT[<字符表達式>] TO <內(nèi)存變量>接受從鍵盤輸入的C,N,D,L等,若是字符串則必須用引號括起來。
WAIT [<字符表達式>] TO <內(nèi)存變量>等待從鍵盤輸入一個字符, <字符表達式>只能是提示作用。
SET CONSOLE ON(默認,所有非格式化輸入數(shù)據(jù)都顯示)/OFF(相反)
(3)格式化輸入輸出命令
格式化輸出命令@<行,列> SAY <表達式>[PICTURE<描述符串>][FONT<字體>[,<字號>]] SET DEVICE TO SCREEN 屏幕輸出
SET DEVICE TO PRINT 打印機輸出
格式化輸入輸出命令@<行,列>[SAY<表達式1>]GET<內(nèi)存變量>|<字段>[PICTURE<描述符串>][RANGE<表達式2>[,<表達式3>]]與READ合用,才能修改變量,一個READ可以修改前面多個@…GET的變量值,通常SAY只是提示作用。
定義文本編輯區(qū)
@<行,列>EDIT<內(nèi)存變量>SIZE<數(shù)值表達式1>,<數(shù)值表達式2>[FONT<字體>[,<字號>]][SCROLL]通過READ編輯,主要是對備注字段起作用。
清屏命令
CLEAR清除整個屏幕
@<行1,列1)[CLEAR|CLEAR TO <行2,列2>]清除屏幕局部區(qū)
3.分支語句IF <條件>
<命令序列1>
[ELSE
<命令序列2>]
ENDIF
多分支選擇語句DO CASE
CASE<條件1>
<命令序列1>
CASE<條件2>
<命令序列2>
;
CASE<條件N>
<命令序列N>
[OTHERWISE
<命令序列N+1>]
ENDCASE
4.循環(huán)結(jié)構(gòu)程序設(shè)計
DO WHILE <條件>
<命令序列1>
[LOOP]
<命令序列2>
[EXIT]
ENDDO
FOR <循環(huán)變量> = <初值> TO <終止> [SETEP<步長>]
<命令序列>
[LOOP]
[EXIT]
ENDFOR
SCAN [<范圍>][FOR<條件>][WHILE<條件>]
<命令序列>
[LOOP]
[EXIT]
ENDSCAN
5.過程及自定義函數(shù)
(1)過程PROCEDURE< 過程名>
[PARAMETERS<形參表>]
<過程體>
RETURN[TO MASTER]
其中[TO MASTER]在嵌套中使用,含有[PARAMETERS<形參表>]為有參過程。
(2)過程文件建立PROCEDURE<過程名1>
<過程體1>
RETURN
…………
過程文件的打開和關(guān)閉SET PROCEDURE TO [<過程文件名>]
CLOSE PROCEDURE
(3)過程的調(diào)用DO <過程名> [WITH<實參表>]
(4)變量的作用域
全局變量PUBLIC<內(nèi)存變量表>
局部變量:未經(jīng)PUBLIC定義的
PRIVATE <內(nèi)存變量表>
PRIVATE ALL [LIKE<通配符變量名>|EXCEPT<通配符變量名>]隱藏指定的內(nèi)存變量,避免同名變量
(5)定義自定義函數(shù)FUNCTION<函數(shù)名>
[PARAMETERS<形參表>]
<函數(shù)體>
RETURN<表達式>
自定義函數(shù)的調(diào)用:函數(shù)名([<實參表>])
參數(shù)傳遞方式 SET UDFPARMS TO [VALUE|REFERENCE]若選用VALUE為值傳遞(默認),不會改變變量的值,若REFERENCE,則為引用方式。
【編輯推薦】






