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






