網(wǎng)友整理的數(shù)據(jù)庫及應(yīng)用筆記(二)

字號:

第四章
    數(shù)據(jù)庫設(shè)計是數(shù)據(jù)庫應(yīng)用系統(tǒng)的核心部分,它包括兩方面的內(nèi)容:結(jié)構(gòu)特性設(shè)計和行為特性設(shè)計。
    在數(shù)據(jù)庫的兩方面設(shè)計中,結(jié)構(gòu)特性是靜態(tài)的,一旦形成輕易不再改變,行為特性是指用戶的業(yè)務(wù)活動,這種活動體現(xiàn)在應(yīng)用程序中。結(jié)構(gòu)特性設(shè)計是指數(shù)據(jù)庫總體概念設(shè)計。它應(yīng)該是具有最小數(shù)據(jù)冗余的,能反映不同用戶數(shù)據(jù)需求的,能實現(xiàn)數(shù)據(jù)共享的系統(tǒng)。數(shù)據(jù)庫設(shè)計中結(jié)構(gòu)設(shè)計是關(guān)鍵。
    在數(shù)據(jù)庫設(shè)計中,結(jié)構(gòu)特性是在模式和子模式中定義的,而行為特性通過應(yīng)用程序?qū)崿F(xiàn)。
    數(shù)據(jù)庫設(shè)計包括數(shù)據(jù)庫系統(tǒng)的邏輯設(shè)計、物理設(shè)計、應(yīng)用程序設(shè)計和系統(tǒng)的運行與維護等方面。
    數(shù)據(jù)庫邏輯設(shè)計分為三個階段,分別是:收集和分析用戶要求、建立E-R模型和數(shù)據(jù)庫模式設(shè)計。
    主要任務(wù)是創(chuàng)建數(shù)據(jù)庫模式。
    數(shù)據(jù)庫邏輯設(shè)計中的第一階段收集和分析用戶需求是按以下四步進行的:分析用戶活動,確定系統(tǒng)范圍,分析用戶活動所涉及的數(shù)據(jù)和分析系統(tǒng)數(shù)據(jù)。
    數(shù)據(jù)流圖是一種從數(shù)據(jù)和對數(shù)據(jù)的加工兩方面表達系統(tǒng)工作過程的圖形表示法。含有四種基本成分:帶箭頭的線段表示數(shù)據(jù)及其流動方向,圓形框表示對數(shù)據(jù)的加工,卡片形框表示文件,方框表示源點和終點。
    畫數(shù)據(jù)流圖應(yīng)遵循:由外向內(nèi)、自頂向下原則進行。
    數(shù)據(jù)庫系統(tǒng)的生命期可以分為五個階段,依次是分析、設(shè)計、編碼、測試、運行。
    。所謂分析用戶活動所涉及的數(shù)據(jù)就是以數(shù)據(jù)流圖的形式表示出數(shù)據(jù)的流向和對數(shù)據(jù)所進行的加工。
    所謂分析系統(tǒng)數(shù)據(jù)就是對數(shù)據(jù)流圖中的每一個數(shù)據(jù)流名、每個文件名、每個加工名,都要給出具體定義,都需要用一個條目進行描述。描述后的產(chǎn)物是數(shù)據(jù)字典。數(shù)據(jù)流圖和數(shù)據(jù)字典結(jié)合在一起,加上必要的說明構(gòu)成系統(tǒng)說明書。數(shù)據(jù)字典是對數(shù)據(jù)流圖中的四個成分(數(shù)據(jù)流、數(shù)據(jù)項、文件、加工)的描述。
    教材中所講的數(shù)據(jù)庫設(shè)計方法稱為視圖設(shè)計法,即從分析用戶的活動入手,針對用戶的局部視圖,然后進行綜合,用E-R圖表示數(shù)據(jù)庫的概念,進而轉(zhuǎn)換為關(guān)系模式。
    邏輯設(shè)計第二階段建立E-R模型分兩步,首先應(yīng)進行局部E-R模型設(shè)計,然后進行總體E-R模型的設(shè)計。
    邏輯設(shè)計第三階段在數(shù)據(jù)庫模式設(shè)計階段分兩步進行,第一步初步設(shè)計:把E-R圖轉(zhuǎn)換為關(guān)系模型,第二步優(yōu)化設(shè)計:對模式進行調(diào)整和改善。
    優(yōu)化是在性能預(yù)測的基礎(chǔ)上進行的,一般用三方面指標來衡量:1、單位時間內(nèi)所訪問的邏輯記錄個數(shù)要少,2、單位時間內(nèi)數(shù)據(jù)傳送量要少;3、系統(tǒng)占用的存儲空間盡量要少。
    數(shù)據(jù)庫物理設(shè)計包括:選擇存儲結(jié)構(gòu)、確定存取方法、選擇存取路徑、確定數(shù)據(jù)的存放位置。主要解決選擇文件存儲結(jié)構(gòu)和確定文件存取方法的問題。在數(shù)據(jù)庫中訪問數(shù)據(jù)的路徑主要表現(xiàn)為如何建立索引。如要直接定位到所要查找的記錄,應(yīng)采用索引方法存取方法(索引表)。順序表只能從起點進去向后一個個訪問記錄。數(shù)據(jù)庫的物理實現(xiàn)取決于特定的DBMS,在規(guī)劃存儲結(jié)構(gòu)時主要應(yīng)考慮存取時間和存儲空間,這兩者通常是互相矛盾的,要根據(jù)實際情況決定。
    經(jīng)過從概念設(shè)計→邏輯設(shè)計→物理設(shè)計,標志著數(shù)據(jù)庫的框架搭設(shè)成功。
    一般程序設(shè)計方法均適用于應(yīng)用程序設(shè)計,如:自頂向下或結(jié)合由下而上靈活運用,程序按功能模塊化,使模塊便于組裝和調(diào)試,追求程序可讀性,不過多采用難以理解的技巧。應(yīng)用程序設(shè)計的依據(jù):數(shù)據(jù)庫邏輯設(shè)計。
    老化就是對數(shù)據(jù)庫施加各種操作,例如增、刪、查、改。
    數(shù)據(jù)庫投入運行標志著開發(fā)任務(wù)的基本完成和維護工作的開始。所謂維護就是整理數(shù)據(jù)的存儲。
    數(shù)據(jù)庫維護工作包括:日常維護(指對數(shù)據(jù)庫中的數(shù)據(jù)隨時按需要進行增、刪、插入、修改或更新操作),定期維護(重構(gòu)重組數(shù)據(jù)庫),故障維護(當數(shù)據(jù)庫遭到意外破壞時,把它恢復(fù)到破壞前的狀態(tài))。
    以下關(guān)于數(shù)據(jù)庫設(shè)計的說法,C不正確。
    (A)數(shù)據(jù)庫設(shè)計是“反復(fù)探尋,逐步求精”的過程(B)數(shù)據(jù)庫設(shè)計包括結(jié)構(gòu)特性設(shè)計和行為特征設(shè)計兩個部分
    (C)數(shù)據(jù)庫設(shè)計中行為特征設(shè)計是關(guān)鍵部分(D)數(shù)據(jù)庫設(shè)計是數(shù)據(jù)庫應(yīng)用系統(tǒng)設(shè)計中的核心部分。
    數(shù)據(jù)庫系統(tǒng)中的技術(shù)文檔主要有系統(tǒng)說明書、技術(shù)說明書和使用說明書。
    以下程序調(diào)試方法,最為常用。B
    (A)通讀程序編碼,發(fā)現(xiàn)錯誤的命令行(B)在程序中設(shè)置斷點,觀察斷點處狀態(tài)
    (C)輸入數(shù)據(jù),進行人工檢驗(D)暫時刪除無關(guān)語句,簡化程序編碼
    10.以下觀點中,錯誤的是。B
    (A)關(guān)系數(shù)據(jù)庫中記錄通常是按到來的先后順序存放(B)DNMS通常只支持順序存取方法
    (C)數(shù)據(jù)庫訪問的路徑對效率影響是很大的(D)數(shù)據(jù)庫多半存放在磁盤、光盤或磁帶上
    第五章
    數(shù)據(jù)管理系統(tǒng)是管理數(shù)據(jù)庫的系統(tǒng)軟件,是用戶與數(shù)據(jù)庫之間的接口,提供操縱數(shù)據(jù)庫的各種命令。
    數(shù)據(jù)庫統(tǒng)是由用戶、數(shù)據(jù)庫管理系統(tǒng)和數(shù)據(jù)庫構(gòu)成的。
    Foxpro特點:windows應(yīng)用程序風格,非編程接口,多用戶功能,提供了應(yīng)用程序開發(fā)工具,快速查找機制,提供了真正的編譯器,提供了與高級語言接口,提供了對SQL的支持。
    FoxPro提供了一個真正的編譯器"Distribution Kit",可將FoxPro應(yīng)用程序編譯為直接在操作系統(tǒng)下運行的".exe"文件;提供了一個真正的外部程序接口"Library Construction Kit",允許開發(fā)者用C語言創(chuàng)建FoxPro函數(shù)。
    在FoxPro中每一條記錄最多可以有255個字段,最多可以有65000個內(nèi)存變量。
    在FoxPro中,一個二維表即稱為一個文件,二維表是以文件的形式存儲在磁盤上的,一個關(guān)系就是一個文件,這樣的文件稱為數(shù)據(jù)庫文件。a$b測試字符串a(chǎn)是不是b的子串,a#b=a<>b
    Foxpro的各類文件及其擴展名
    庫文件dbf
    備注文件fpt
    備注后備文件tbk
    后備文件bak
    臨時文件tmp
    索引文件idx
    復(fù)合索引文件cdx
    查詢程序文件qpr
    編譯查詢程序文件qpx
    Foxdoc文件文件doc
    屏幕文件scx
    屏幕備注文件sct
    屏幕程序文件spr
    編譯屏幕程序文件spx
    配置文件config.fpw
    菜單文件mnx
    菜單備注文件mnt
    菜單程序文件mpr
    編譯菜單程序文件mpx
    資源文件foxuser.fpt
    項目文件pjx
    項目備注文件pjt
    項目程序文件app
    項目可執(zhí)行文件exe
    幫助文件foxhelp.dbf
    格式文件fmt
    編譯格式文件frx
    報表格式文件frx
    報表備注文件frt
    幫助備注文件foxhelp.fpt
    標簽文件lbx
    標簽備注文件lbt
    程序文件prg
    編譯程序文件fxp
    可執(zhí)行文件exe
    視圖文件vue
    鍵盤宏文件fky
    內(nèi)存變量文件mem
    編譯記事文件log
    編譯出錯記錄文件err
    文本文件txt
    窗口文件win
    菜單:文件file編輯edit數(shù)據(jù)庫database記錄record程序program運行run文字text窗口window幫助help
    在FoxPro菜單中,如果菜單右面帶有省略號(…),表示選擇菜單會彈出一個對話框窗口,如果菜單中某些項呈暗淡的灰色,表示該功能在當前狀態(tài)下不能使用。ALT或F10調(diào)用菜單。
    命令窗口的顯示與隱藏可通過Window的"Command"和"Hide"選項來控制。
    FoxPro的數(shù)據(jù)類型有七種,它們的名字和簡寫字母是字符型C、數(shù)值型N、浮點型F、邏輯型L、日期型D、備注型M和通用型G,數(shù)據(jù)庫中的字段變量可取其中的七種。內(nèi)存變量是字符型、數(shù)值型、邏輯型、浮點型、屏幕S數(shù)據(jù),常量通常只有字符型、數(shù)值型、日期型和邏輯型四種數(shù)據(jù)類型。
    變量名不超過10個字母、數(shù)字和下劃線組成,而且必須以字母開頭,但系統(tǒng)變量一般以下劃線開頭。
    字符型字段的長度是254個字符長,一個漢字視作2個ASCII碼字符,字符型數(shù)據(jù)可進行大小比較運算和字符連接運算。數(shù)值或浮點數(shù)據(jù)寬度為20.邏輯型字段固定的長度為1個字節(jié),邏輯真值可用。T.或。Y.表示,邏輯假值可用。F.或。N.表示。日期型數(shù)據(jù)寬度固定為8;可以與數(shù)值相加減,所得結(jié)果為另一個日期,兩個日期型數(shù)據(jù)可以相減,結(jié)果為兩個日期之間的天數(shù)。備注、通用字段的寬度為10個字節(jié),該字段中存放的是指向存放備注內(nèi)容的地址指針,或指向圖形、圖像、聲音等文件的地址指針。在備注中,備注字段的每個數(shù)據(jù),按大小為512個字節(jié)的數(shù)據(jù)塊存放。對常量而言,名和值是一致的,對變量而言,名和值是不一致的。字符變量是“”、‘’或〔〕定界,日期變量用{}定界,邏輯常量用……定界。FoxPro的變量有兩種,單值的內(nèi)存變量和多值的字段變量。當字段變量與內(nèi)存變量同名時,字段變量優(yōu)先,可通過在內(nèi)存變量名前加M.或M->來區(qū)別。
    從內(nèi)存變量的組織形式上看,它可分為標量與數(shù)組,從內(nèi)存變量的作用域上看,它可分為全局變量和局部變量。
    單個常量、變量或函數(shù)都是表達式的特殊形式之一。表達式是指通過各種運算符連接的常量、字段變量、內(nèi)存變量、函數(shù)等運算對象所構(gòu)成的有意義的算式。
    Foxpro的運算符有算術(shù)、字符串、關(guān)系、邏輯。比較運算會產(chǎn)生邏輯結(jié)果。字符串運算符有+、-、==、$.。
    FoxPro有200多條命令,它一般由命令動詞開頭,后跟一個或多個限定該動詞的子句構(gòu)成。子句一般由動能短語和表達式構(gòu)成。FoxPro命令,常見的子句有三種,分別是是范圍子句,條件子句,字段列表子句。
    <命令名>[<表達式表>][<范圍>][FOR<條件>][WHILE<條件>][TO FILE<文件名>|TO PRINTER|TO ARRAY<數(shù)組表>|TO<內(nèi)存變量>][ALL[LIKE|EXCEPT<通配符>]][IN<別名>]][FIELDS<字段列表>]
    ①[FIELDS<字段列表>子句用于指定被操作數(shù)據(jù)庫文件的字段,是對二維數(shù)組表格各列的操作,又稱投影操作。
    ②而[<范圍>]子句、[FIELDS<條件>]子句或[]子句用于指定被操作記錄的范圍和被操作記錄要滿足的要求,對二維表格各行的操作,又稱選擇操作。其中<條件>是一個邏輯表達式。
    ③FOR<條件>[WHILE<條件>]這兩個條件子句是有區(qū)別的,前者能對所有數(shù)據(jù)庫中滿足條件的記錄操作,后者一旦遇到不滿足條件的記錄便停止操作。
    有個別的命令不是命令動詞開頭的,而是以特殊符號,例如命令?和@.
    FoxPro中,投影操作的子句是字段列表子句,選擇操作的子句是范圍子句和條件子句。
    當數(shù)據(jù)庫一打開(如果不是空庫)記錄指針指向記錄1的位置。
    FoxPro共有225個工作區(qū),工作區(qū)號為1-255.其中前10個工作區(qū)也可命名為A-J.。最近一交換選擇的工作區(qū)稱為當前工作區(qū)。調(diào)用其它工作區(qū)的字段時應(yīng)按工作區(qū)/別名->字段名“或”別名。字段名格式。
    一個數(shù)組占1個內(nèi)存變量名額,通過數(shù)組定義命令DIMENSION建立,賦值前數(shù)組各元素的初值為邏輯假值
    進入FoxPro系統(tǒng)時,系統(tǒng)初始選中1號工作區(qū)。在FoxPro命令行中同時使用的各個子句,其位置可以交換。
    在FoxPro中用戶可以使用兩種方式執(zhí)行命令,即立即執(zhí)行方式和程序方式。
    立即方式是一種交互方式。好處是簡單方便,缺點是工作量大,易出錯,降低了計算機的使用效率。
    程序方式又稱命令文件方式,這種方式要求用戶事先根據(jù)任務(wù)編寫程序。好處是速度快,計算機使用效率高。是Foxpro的主要使用方式。缺點是要求用戶學習和掌握程序設(shè)計方法。
    &&表示其后內(nèi)容是注釋,系統(tǒng)不執(zhí)行。
    下列命令的語法規(guī)則中,非法的是D
    (A)命令動詞可只寫前四個字母(B)命令動詞后的子句位置可交換
    (C)命令動詞大小寫字母等價(D)各短語和參數(shù)要連續(xù)輸入無空格
    對內(nèi)存變量的敘述,不正確的是D .
    (A)內(nèi)存變量是獨立于數(shù)據(jù)庫的變量(B)內(nèi)存變量有N、C、L、D、S類型
    (C)內(nèi)存變量用賦值語句定義(D)內(nèi)存變量的形式只有標量
    綜合:1、變量賦值、表達式運算。2、內(nèi)存變量賦值、釋放、顯示、輸出、內(nèi)存變量文件操作。
    3函數(shù)
    4、數(shù)組定義、賦值、與數(shù)據(jù)庫文件交換數(shù)據(jù)