07年度自考數(shù)據(jù)庫及其應(yīng)用筆記(6)

字號:

第六章 數(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)閉當(dāng)前工作區(qū)打開的數(shù)據(jù)庫文件USE
    關(guān)閉當(dāng)前打開的所有的庫文件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ù)值表達(dá)式>[IN<工作區(qū)號>/<文件別名>]
    (2)GO/GOTO /BOTTOM[IN<工作區(qū)>/<文件名>]
    相對移動SKIP[<數(shù)值表達(dá)式>][IN<工作區(qū)號>/<文件別名>]
    7. 插入記錄INSERT[BEFORE][BLANK]
    8. 刪除記錄DELETE[<范圍>][FOR<條件>][WHILE<條件>]:
    SET DELETED OFF/ON (取OFF,邏輯刪除無效,反之,則有效)
    恢復(fù)邏輯刪除RECALL[<范圍>][FOR<條件>][WHILE<條件>]
    物理刪除PACK
    物理刪除所有記錄ZAP(只有結(jié)構(gòu)無記錄)
    9. 記錄的修改:
    編輯修改EDIT.CHANG [<范圍>][FIELDS<字段名表>[條件]
    瀏覽編輯修改BROWSE
    替換修改REPLACE[<范圍>]<字段1>WITH<表達(dá)式1>……
    10. 數(shù)據(jù)庫文件的排序與索引
    排序:SORT TO <文件名>ON<字段1>[/A][/C][/D][,<字段2>………[FIELDS<字段名表>][FOR……
    *關(guān)鍵字只能是C,N,D. */A(升序,默認(rèn))/D(降序) /C(不區(qū)分大/小寫)
    *需要臨時文件做周轉(zhuǎn)
    索引:INDEX ON<關(guān)鍵字表達(dá)式>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ù)值表達(dá)式>/<索引文件名>]
    11. 數(shù)據(jù)查詢:
    順序查詢:LOCATE[<范圍>[FOR<條件>][WHILE<條件>]它總是把指針定位到第一個滿足條件的記錄上,想繼續(xù)查找,則用CONTINUE
    索引查詢:FIND<字符串>/<數(shù)值常數(shù)>當(dāng)設(shè)置為SET EXACT OFF時,查詢時不需要精確比較,反之,則需要精確比較。
    SEEK<表達(dá)式>它可以查詢包括字符型,數(shù)值型,日期型和邏輯型在內(nèi)的各種數(shù)據(jù)類型,也可以是內(nèi)存變量或者是表達(dá)式……
    12. 數(shù)據(jù)統(tǒng)計:
    計數(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 <分類庫文件名>[<范圍>][FIELDS<字段名表>][FOR<條件>][WHILE<條件>]要求首先對庫文件進行排序或索引
    13. 數(shù)據(jù)庫文件的復(fù)制:
    (1) 庫文件的復(fù)制COPY TO <庫文件名>[<范圍>][FIELDS<字段名表>][FOR<條件>][WHILE<條件>]將當(dāng)前庫文件中的數(shù)據(jù)(包括結(jié)構(gòu))一起復(fù)制到指定的庫文件中。
    (2) 庫文件結(jié)構(gòu)的復(fù)制COPY STRUCTURE TO <新庫文件名>[FIELDS<字段名表>]
    (3) 庫文件與文本數(shù)據(jù)文件的轉(zhuǎn)換復(fù)制
    庫文件復(fù)制成文本數(shù)據(jù)文件COPY TO <數(shù)據(jù)文件名>SDF.DELIMITED[WITH<定界符>/BLABK][<范圍>][FIELDS<字段名表>][FOR<條件>][WHILE<條件>]
    文本數(shù)據(jù)文件中的數(shù)據(jù)復(fù)制到庫文件APPEND FROM<數(shù)據(jù)文件名> SDF.DELIMITED[WITH<定界符>/BLABK] [FOR<條件>][FIELDS<字段名表>]
    (4) 任何類型文件的復(fù)制COPY FILE <源文件名> TO <目標(biāo)文件名>不能復(fù)制已經(jīng)打開的庫文件,且<源文件名>,<目標(biāo)文件名>必須包括主文件名和擴展名。
    14. 多重數(shù)據(jù)庫文件的操作
    (1) 最多達(dá)225個工作區(qū),且前十個工作區(qū)1~10還規(guī)定了別名A~J。
    (2) 工作區(qū)選擇命令SELECT<工作區(qū)號>/<別名>,從當(dāng)前工作區(qū)訪問其它工作區(qū)打開庫文件中的某個字段時,要表示為別名。字段名或者別名->字段名
    (3) 庫文件之間的關(guān)聯(lián)SET RELATION TO [<關(guān)鍵字表達(dá)式>/<數(shù)值表達(dá)式>INTO<工作區(qū)號>/<別名>[ADDITIVE]其中若選<數(shù)值表達(dá)式>,而被關(guān)聯(lián)庫沒有建立索引,則作為記錄號進行關(guān)聯(lián)。
    指定[ADDITIVE]保留以前關(guān)聯(lián)。SET RELATION TO將刪除當(dāng)前工作區(qū)與所有其他工作區(qū)連接
    (4) 庫文件的連接JOIN WITH<別名> TO <新庫文件名>[FIELDS<字段名表>][FOR<條件>]
    (5) 庫文件的更新UPDATE ON <關(guān)鍵字段>FROM<別名>REPLACE<字段名1>WITH<表達(dá)式1>……[RANDOM]其中:
    <關(guān)鍵字段>是2個庫都有的且都按此建立索引,并且打開,若提供更新的庫文件未建立索引,則需使用RANDOM