Visual FoxPro程序設計:第4章 數(shù)據(jù)庫的管理_第1頁
Visual FoxPro程序設計:第4章 數(shù)據(jù)庫的管理_第2頁
Visual FoxPro程序設計:第4章 數(shù)據(jù)庫的管理_第3頁
Visual FoxPro程序設計:第4章 數(shù)據(jù)庫的管理_第4頁
Visual FoxPro程序設計:第4章 數(shù)據(jù)庫的管理_第5頁
已閱讀5頁,還剩57頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

第4章數(shù)據(jù)庫的管理4.1數(shù)據(jù)庫的設計4.2數(shù)據(jù)庫中的表的操作4.3字段與記錄屬性設置4.4創(chuàng)建與編輯關系4.5建立參照完整性4.6使用多個數(shù)據(jù)庫4.1數(shù)據(jù)庫的設計數(shù)據(jù)庫是一種工作環(huán)境存儲了一個“表”的集合在表之間可以建立關系對數(shù)據(jù)字段可以設置屬性和觸發(fā)規(guī)則一個數(shù)據(jù)庫文件具有.DBC的后綴。不同主題內(nèi)容的信息保存在不同的表當中4.1.1數(shù)據(jù)庫的設計過程(1)確定數(shù)據(jù)庫的功能即進行需求分析,確定建立數(shù)據(jù)庫的目的,確定需要VFP保存哪些信息。收集信息的范圍(2)確定需要的表在明確了建立數(shù)據(jù)庫的目的之后,就可以著手將必需的信息分解為不同的相關主題,每個主題都可以是數(shù)據(jù)庫中的一個表。(3)確定表的結構確定在每個表中保存哪些信息。確定表中的字段。(4)確定各表之間的關系分析每個表,確定一個表中的數(shù)據(jù)和其它表中的數(shù)據(jù)有何關系。必要時,可以在表中增加字段或創(chuàng)建一個新表來明確關系。(5)將所設計的數(shù)據(jù)庫結構加以審核,檢查是否滿足數(shù)據(jù)的獨立性和完整性,必要時改進設計。

建自由表還是數(shù)據(jù)庫表自由表只存儲相對獨立的信息沒有依靠其它表的信息或被其他表所引用,可以使用自由表數(shù)據(jù)庫表有更為強大的功能它可以使用長表名和長字段名表中的字段可以有標題和注釋表中的字段可以設置“默認值”能設置字段級和記錄級“規(guī)則”對于插入、刪除、修改等數(shù)據(jù)庫操作可以設置觸發(fā)器它還可以實現(xiàn)同遠程數(shù)據(jù)源的連接,創(chuàng)建本地視圖和遠程視圖4.1.2數(shù)據(jù)庫的簡單操作可通過項目管理器表設計器數(shù)據(jù)庫設計器1.數(shù)據(jù)庫的打開操作步驟如下:項目管理器,選擇想要打開的數(shù)據(jù)庫選擇修改按鈕,進入數(shù)據(jù)庫設計器可選擇文件—打開—數(shù)據(jù)庫數(shù)據(jù)庫設計器的操作全部折疊庫設計器上右擊鼠標在出現(xiàn)的快捷鍵中,選擇“全部折疊”全部展開庫設計器上,右點擊鼠標在快捷鍵中,選擇“全部展開”在庫設計器中,選中表,右點擊鼠標,選擇折疊或展開重排:選擇菜單數(shù)據(jù)庫,然后選擇重排重排方式,然后按確定數(shù)據(jù)庫屬性:右擊鼠標選擇屬性可以輸入數(shù)據(jù)庫的屬性選擇顯示的類型選擇“確定”關閉數(shù)據(jù)庫設計器closedatabase把自由表添加到數(shù)據(jù)庫中方法一文件---打開,打開項目選中的數(shù)據(jù)庫是:教工選中數(shù)據(jù)庫下的“表”文件類型單擊“添加”按鈕選中要加入的表文件,再按“確定”當自由表添加到數(shù)據(jù)庫中時,其“表設計器”也變成了“數(shù)據(jù)庫設計器”,即也擁有了數(shù)據(jù)庫的所有屬性把自由表添加到數(shù)據(jù)庫中方法二文件---打開,打開項目選中的數(shù)據(jù)庫是:教工選修改按鈕,顯示數(shù)據(jù)庫設計器選擇數(shù)據(jù)庫菜單再選“添加表”選擇要加入的表名,按確定如果所選擇的是自由表,就添加到所選中的數(shù)據(jù)庫中表已經(jīng)是數(shù)據(jù)庫表,不能添加數(shù)據(jù)庫中的表刪除文件----打開,打開項目選中的數(shù)據(jù)庫是:教工選擇修改按鈕,屏幕顯示“數(shù)據(jù)庫設計器選中要刪除或移去的表,選擇移去如果不想刪除此表,就選擇“移去”,如果要想刪除此表,就選擇“刪除”注:用戶向數(shù)據(jù)庫中添加的“表”,只能是自由表表在同一時間只能屬于一個數(shù)據(jù)庫在數(shù)據(jù)庫中查找表操作步驟如下:文件--打開,打開項目選中的數(shù)據(jù)庫是:教工選擇修改,顯示數(shù)據(jù)庫設計器-教工窗口選擇“數(shù)據(jù)庫”菜單,選“查找對象”命令在查找對話框中,選擇要查找的表或視圖4.3.1字段與記錄屬性的常用概念1.觸發(fā)器在數(shù)據(jù)庫表進行一個插入、更新、刪除操作之后,運行的記錄事件級代碼不同的事件激發(fā)不同的動作觸發(fā)器在有效規(guī)則之后運行常用于檢查已建立永久關系的數(shù)據(jù)庫表之間的數(shù)據(jù)完整性觸發(fā)器只存在于數(shù)據(jù)庫表中自由表中不存在觸發(fā)器觸發(fā)器是數(shù)據(jù)庫的一部分受數(shù)據(jù)庫的管理4.3字段與記錄屬性設置2.有效性規(guī)則檢查輸入數(shù)據(jù)是否滿足某些條件的過程3.記錄級規(guī)則一種與記錄有關的有效性規(guī)則當插入或修改字段值時被激活多用于數(shù)據(jù)輸入的正確性記錄被刪除時不用使用有效性規(guī)則記錄級規(guī)則在字段級規(guī)則之后和觸發(fā)器之前被激活4.字段級規(guī)則是一種與字段有關的有效性規(guī)則當插入或修改字段值時被激活多用于數(shù)據(jù)輸入正確性檢查字段級規(guī)則在記錄級規(guī)則和觸發(fā)器之前被激活5.數(shù)據(jù)字典包含數(shù)據(jù)庫所有表信息的一個表存儲在數(shù)據(jù)字典中的信息稱為元數(shù)據(jù)比如:長表名長字段名有效性規(guī)則、觸發(fā)器數(shù)據(jù)庫表間的永久關系數(shù)據(jù)庫有關對象的定義,如視圖和命名連接數(shù)據(jù)字典使得對數(shù)據(jù)庫的設計和修改更加靈活使用數(shù)據(jù)字典,可以設置字段級和記錄級的有效性規(guī)則保證主關鍵字字段內(nèi)容惟一性4.3.2設置字段的顯示屬性字段的顯示屬性:顯示格式掩碼標題1.設置字段的標題定義數(shù)據(jù)庫字段名稱時,以英文縮寫為多難以真正理解字段的含義標題屬性,給字段添加一個說明性標題操作步驟:項目管理器選定表修改,進入表設計器選定要添加標題的字段,如姓名單擊“是”按鈕,保存表結構此時瀏覽表,姓名顯示為職工姓名2.設置字段的顯示格式格式:確定一個字段在表單、瀏覽窗口或報表中的顯示格式輸入所需的格式碼格式實際上是字段的輸出掩碼常用的格式碼:A——表示只允許輸出文字字符(禁止數(shù)字、空格或標點符號);D——表示使用當前系統(tǒng)設置的日期格式;L——表示在數(shù)值前顯示填充的前導零,而不是用空格字符;T——表示禁止輸入字段的前導空格字符和結尾空格字符;!——表示把輸入的小寫字母字符轉(zhuǎn)換為大寫字母。3.設置字段的掩碼輸入掩碼:可以確定字段輸入的格式屏蔽非法輸入,減少人為的數(shù)據(jù)輸入錯誤常用的輸入掩碼:X——表示可輸入任何字符;9——表示可輸入數(shù)字和正負符號;#——表示可輸入數(shù)字、空格和正負符號;$——表示在固定位置上顯示當前貨幣符號;$$——表示顯示當前貨幣符號;*——表示在值的左側顯示星號;.——表示用點分隔符指定數(shù)值的小數(shù)點位置;,——表示用逗號分隔小數(shù)點左邊的整數(shù)部分,一般用來分隔千分位。例如年齡字段的輸入掩碼為99年齡字段只能接受數(shù)字輸入,而不能輸入空格字符、字母等姓名的顯示格式指定為AT姓名兩個字段只能接受字母或漢字輸入,而不能輸入空格字符、數(shù)字注:設置格式一個作用是限制顯示輸出,輸入掩碼:另一個作用是限制輸入輸入字段的注釋注釋使字段意義更加明確步驟:表設計器“字段注釋”文本框中,輸入描述信息“表達式生成器”窗口有...按鈕,顯示一個對話框表達式:用運算符把內(nèi)存變量、字段變量、常數(shù)和函數(shù)連接起來的式子表達式用于計算和描述一個操作條件根據(jù)處理結果返回一個值數(shù)值型字符型日期型邏輯型表達式生成器方便快捷地生成表達式5個部分:表達式文本編輯框函數(shù)列表框變量列表框表或視圖下拉列表框控制按鈕1.表達式文本編輯框用于編輯表達式從列表框選擇出來的選項將顯示在這里,直接在這里輸入和編輯表達式可以輸入各種各樣的操作條件字段級有效性規(guī)則記錄級有效性規(guī)則參照完整性規(guī)則2.函數(shù)列表框可以選擇表達式所需的函數(shù)分為:字符函數(shù)數(shù)學函數(shù)邏輯函數(shù)日期函數(shù)字符函數(shù)列表框:有用于處理字符和字符串的函數(shù)及字符運算符3.變量列表框列出了當前表或視圖的字段變量變量列表框內(nèi)存變量系統(tǒng)變量從變量列表框中,可以選擇表達式所需的變量4.表或視圖下拉列表框可以選擇當前打開的表或視圖5.控制按鈕4個命令按鈕:確定完成表達式生成,并退出表達式生成器取消檢驗單擊“檢驗”按鈕,可檢驗生成的表達式是否有效選項單擊選項,進入表達式生成器選項對話框4.3.5字段有效性為了防止這些非法數(shù)據(jù)的錄入通過顯示屬性來控制字段的顯示格式輸入掩碼只是碼級的限制通過字段驗證方式來控制合法的字符組合在一起是否合法、是否符合邏輯就無法在此進一步字段驗證數(shù)據(jù)庫表的字段屬性之一字段通過了字段顯示格式和輸入掩碼的限制,輸入了數(shù)據(jù)以后,還要通過字段驗證才可以存儲到字段中去字段有效性有3個表達式文本框:規(guī)則信息默認值字段的默認值新記錄輸入時所默認的字段值可以簡化操作,提示輸入格式,減少輸入錯誤,提高輸入速度步驟:表設計器中的“默認值”屬性框中輸入默認值如:字符型數(shù)據(jù)要加定界符.性別字段輸入默認值“女”單擊“正確”按鈕2.設置字段有效性原則一個規(guī)則判斷輸入的數(shù)據(jù)是否符合字段的要求在規(guī)則文本框中,可以輸入字段驗證的規(guī)則字段輸入完成,系統(tǒng)計算表達式的值如值為真,輸入通過字段規(guī)則的驗證否則不允許輸入的值存儲到字段中去例如教工年齡數(shù)據(jù)必須大于0小于0,輸入的數(shù)據(jù)是無效的注意事項:(1)若表中已輸入了若干記錄,再設置規(guī)則時,可能有不滿足規(guī)則的記錄,此時設置的規(guī)則無效。(2)信息是字符表達式加定界符。有效性規(guī)則:字段級有效規(guī)則字段中單個信息輸入的數(shù)據(jù)是否有效記錄級有效性規(guī)則整條記錄輸入完畢后才開始檢查數(shù)據(jù)的有效性記錄有效性記錄級有效性規(guī)則屬于表的有效性規(guī)則可以控制用戶輸入到記錄中的信息類型記錄級有效性規(guī)則檢查不同字段在同一記錄中的限制,從而保證不違反數(shù)據(jù)庫的商業(yè)原則步驟:表設計器中,單擊“表”選項規(guī)則中,輸入規(guī)則表達式注:記錄有效性規(guī)則當記錄值發(fā)生改變時被激活指針離開記錄時,VFP檢查記錄有效性規(guī)則錄值沒有改變,規(guī)則不被觸發(fā)修改了記錄,沒移動指針,此時關閉窗口,記錄有效性規(guī)則仍被檢查如:iif(2003-year(工作時間)<年齡,.t.,.f.)設置觸發(fā)器觸發(fā)器:當表中的記錄被指定的操作命令修改時,觸發(fā)器被激活觸發(fā)器能執(zhí)行數(shù)據(jù)庫應用程序要求的其它操作觸發(fā)器可執(zhí)行:對記錄的修改進行參照完整性的檢查觸發(fā)器是作為表的特定屬性來存儲的刪除表,相關的觸發(fā)器也將被刪除當進行了其它有效性檢查后,觸發(fā)器被激活只能刪除姓張的記錄:“張”$姓名使用長表名與注釋步驟:表設計器中,可用長表名和表的注釋在“表名”框中,輸入長表名然后選“表屬性”輸入表的注釋表名:可以由字母、數(shù)字、下劃線或漢字組成第一個字符必須是字母、下劃線或漢字默認的表名及.DBF文件名長表名數(shù)據(jù)庫表,可以建立一個長表名最多可以包含128個字符可以用來代替短表名來標識數(shù)據(jù)庫表定義了長表名,表在界面中,顯示長表名表的注釋可以使表的功能易于理解使用長字段名、標題與注釋自由表的字段名最多可包含10個字符數(shù)據(jù)庫字段名最多可以包含128個字符從庫中移去表,其長字段名將被截斷為10個字符一個表和數(shù)據(jù)庫相關聯(lián)時,必須使用長字段名來引用該表中的字段字段的說明:使表更容易被理解更新項目管理器中,選擇字段后,會顯示該字段的注釋文本數(shù)據(jù)庫表中的每個字段可以有一個標題4.4創(chuàng)建和編輯關系關系:永久關系永久關系一旦創(chuàng)建就保存在數(shù)據(jù)庫文件中在打開數(shù)據(jù)庫時隨即被打開在“庫設計器”和數(shù)據(jù)環(huán)境中顯示為表索引間的連接線在永久關系的基礎上,可設置表間的參照完整性規(guī)則,用以保證數(shù)據(jù)庫各表相關數(shù)據(jù)的一致性臨時關系在使用時臨時創(chuàng)建的在“查詢與視圖設計器”中,是自動作為默認連接條件的數(shù)據(jù)庫表間關系關閉其中一個表時關系即被自動關閉臨時關系通過主表記錄指針的移動來控制子表記錄指針的移動這是臨時關系和永久關系不同的特征在一對多關系表間,建立臨時關系以后,在關系的“一”方表中,選擇一條記錄時,會按關系字段的值自動訪問到“多”方表中的相關記錄永久關系:通過連接不同表的索引可以很方便地建立表之間的關系,被存儲在數(shù)據(jù)庫文件中,所以將這種關系稱為永久關系VFP6.0就自動將永久關系作為查詢、視圖、表單和報表的默認關系利用永久關系還可以存儲參照完整性信息建立永久關系主關鍵字字段與外部關鍵字字段:關聯(lián)的表有一些公共字段主關鍵字字段用于標識主表中的某一特定記錄根據(jù)主關鍵字字段建立一個主索引外部關鍵字字段用于標識相關表中的相關記錄外部關鍵字字段建立一個普通索引哪個表包含主記錄,哪個表包含相關記錄并且普通索引和主索引必須帶有相同的表達式三種關系:一對一表A中的一條記錄,在表B只能有一條記錄B的每一條記錄也在表A中只能有一條記錄與之對應并不常使用一對多最為普通表A中一條記錄,表B中有多條記錄對應表B中的一條記錄,在表A中只有一條一方要建立主關鍵字或候選關鍵字多方要使用普通索引多對多轉(zhuǎn)化為“一對一”或“一對多”關系班級班長領導11班級學生組成1m課程學生選修nm(a)1:1聯(lián)系(b)1:m聯(lián)系(c)n:m聯(lián)系建立永久關系永久性關系并不控制表內(nèi)記錄指針間的關系步驟如下:(1)建立表的索引一方要建立主關鍵字或候選關鍵字多方要使用普通索引(2)拖拽:在“庫設計器”上,“一”方的主索引,拖拽到“多”表的與其對應的普通索引之上建立臨時關系此處少一點參照完整性表間彼此相關,改一表,可能使其關系發(fā)生變化刪除主表中記錄,相關表中的記錄就找不到與之對應的父記錄,就破壞了表之間的原有關系參照完整性,利用相關表間的制約關系,互相參照,控制相關表數(shù)據(jù)的完整性參照完整性規(guī)則更新規(guī)則刪除規(guī)則插入規(guī)則控制在相關表中的插入、更改或刪除記錄例如當主表中沒有相關的記錄時,記錄不得追加到相關子表中當主表中某條記錄在相關子表中有相關記錄時,這條主表記錄不允許刪除當主表的關系字段值改變將導致相關子表中出現(xiàn)無關記錄時,在主表中不允許做這種改變步驟如下:在“庫設計器”中,雙擊關系線,打開編輯關系對話框單擊參照完整性按鈕,打開生成器

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論