2010年軟考-數(shù)據(jù)庫(kù)系統(tǒng)工程師備考指南
第一章 數(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ù)字典
第二章 數(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)算符:——(非),∧(與),∨(或)。
第四章 數(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ì)的步驟:
◆收集和分析用戶要求 數(shù)據(jù)及其流動(dòng)方向(箭頭),對(duì)數(shù)據(jù)的加工(圓形),文件(卡片),源點(diǎn)和終點(diǎn)(方框) “由外向內(nèi),自頂而下”
◆建立E-R模型
◆數(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.變量:
◆字段變量: 字符型, 數(shù)據(jù)型, 浮點(diǎn)型, 邏輯型, 日期型, 備注型, 通用型
◆內(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í)
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)存變量的賦值:
◆STORE 《表達(dá)式》 TO 《內(nèi)存變量表》
◆《內(nèi)存變量》=《表達(dá)式》
◆SAVE SCREEN TO 《屏幕型內(nèi)存變量》
◆RESTORE SCREEN FROM 《屏幕型內(nèi)存變量》
8.內(nèi)存變量的釋放:
◆RELEASE《內(nèi)存變量表》
◆RELEASE ALL [LIKE|EXCEPT《通配符》]
◆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存盤。
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í)修改字段名和寬度
7. 指針的移動(dòng):
◆GO/GOTO [RECORD]《數(shù)值表達(dá)式》[IN《工作區(qū)號(hào)》/《文件別名》]
◆GO/GOTO TOP/BOTTOM[IN《工作區(qū)》/《文件名》]
◆相對(duì)移動(dòng)SKIP[《數(shù)值表達(dá)式》][IN《工作區(qū)號(hào)》/《文件別名》]
8. 插入記錄INSERT[BEFORE][BLANK]
9. 刪除記錄DELETE[《范圍》][FOR《條件》][WHILE《條件》]
SET DELETED OFF/ON (取OFF,邏輯刪除無(wú)效,反之,則有效)
恢復(fù)邏輯刪除RECALL[《范圍》][FOR《條件》][WHILE《條件》]
物理刪除PACK
物理刪除所有記錄ZAP(只有結(jié)構(gòu)無(wú)記錄)
10. 記錄的修改:
編輯修改EDIT.CHANG [《范圍》][FIELDS《字段名表》[條件]
瀏覽編輯修改BROWSE
替換修改REPLACE[《范圍》]《字段1》WITH《表達(dá)式1》…… #p#
11. 數(shù)據(jù)庫(kù)文件的排序與索引
排序:SORT TO 《文件名》ON《字段1》[/A][/C][/D][,《字段2》………[FIELDS《字段名表》][FOR……
◆關(guān)鍵字只能是C,N,D. */A(升序,默認(rèn))/D(降序) /C(不區(qū)分大/小寫)
◆需要臨時(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á)式》/《索引文件名》]
12. 數(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á)式……
13. 數(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)行排序或索引
14. 數(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ò)展名。
15. 多重?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。
【編輯推薦】