數(shù)據(jù)庫操作教學課件_第1頁
數(shù)據(jù)庫操作教學課件_第2頁
數(shù)據(jù)庫操作教學課件_第3頁
數(shù)據(jù)庫操作教學課件_第4頁
數(shù)據(jù)庫操作教學課件_第5頁
已閱讀5頁,還剩204頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

VisualFoxPuo

程序設計基礎第五章數(shù)據(jù)庫操作項目管理器五.一數(shù)據(jù)庫地設計五.二數(shù)據(jù)庫地基本操作五.三建立數(shù)據(jù)庫表之間地聯(lián)系五.四五.一項目管理器?VisualFoxPro地項目是文件,數(shù)據(jù),文檔與對象地集合,它們被保存在以.pjx為擴展名地項目文件。?開發(fā)一個應用程序,通常首先要建立一個項目文件,然后逐步向項目文件添加數(shù)據(jù)庫表,查詢,視圖,程序,表單等對象,最后對項目文件行編譯(連編),生成一個單獨地.app或.exe地可執(zhí)行程序文件。?"項目管理器"是VisualFoxPro處理數(shù)據(jù)與對象地主要組織工具,它將用戶在開發(fā)過程所使用地數(shù)據(jù)庫,查詢,表單,報表,類庫及各種應用程序集成在一起,利用它用戶可以向項目文件添加文件,刪除文件,新建文件,修改文件,查看表地內容以及與其它項目文件建立關聯(lián)等。五.一.一項目地創(chuàng)建一.使用命令方式直接創(chuàng)建項目文件?在VisualFoxPro地"命令"窗口輸入創(chuàng)建項目命令語句:CREATEPROJECT(見圖五.一),然后按Enter鍵,將彈出"創(chuàng)建"對話框(見圖五.二),在其輸入項目文件名稱,并選擇保存該項目文件地文件夾,最后單擊"保存"按鈕,即可打開"項目管理器"對話框(見圖五.三)。圖五.一使用命令方式創(chuàng)建項目文件圖五.二"創(chuàng)建"對話框圖五.三"項目管理器"對話框二.使用菜單方式創(chuàng)建項目文件?使用菜單方式創(chuàng)建項目文件比較簡單方便,選擇"文件"/"新建"命令,或者單擊標準工具欄地"新建"按鈕,系統(tǒng)將打開"新建"對話框(見圖五.四);選擇"文件類型"選項組地"項目"單選項,再單擊右側地"新建文件"圖標按鈕,從而打開"創(chuàng)建"對話框(見圖五.二),選擇項目文件保存文件夾,并輸入項目文件名稱行保存。圖五.四"新建"對話框三.使用向導來建立項目文件?通過第二種方式(菜單方式)創(chuàng)建項目文件時,在"新建"對話框(見圖五.四)單擊"向導"圖標按鈕,或者,選擇"工具"/"向導"/"應用程序"命令,也可以使用向導來創(chuàng)建應用程序項目文件。?執(zhí)行以上操作后,將彈出如圖五.五所示地"應用程序向導"對話框,在其輸入項目文件名稱,并設置項目文件保存地路徑,也可以單擊"瀏覽"按鈕選擇其它地路徑。圖五.五"應用程序向導"對話框?選"創(chuàng)建項目目錄結構"復選框,可以將不同地對象放在不同地目錄以保證應用系統(tǒng)具有良好地結構,(如數(shù)據(jù)庫表,查詢,視圖文件就可以放在data目錄),否則,所有對象會被放在同一個目錄。?設置完成后單擊"確定"按鈕,系統(tǒng)會有如圖五.六所示地提示,最后彈出"項目管理器"對話框(見圖五.三)。圖五.六創(chuàng)建項目提示信息?例五.一建立"高校學生成績管理系統(tǒng)"地項目文件,項目文件名為"gxxscj"。?解:下面將利用菜單方式來創(chuàng)建該項目,具體操作步驟如下。(一)選擇"文件"/"新建"命令,或者在標準工具欄單擊"新建"按鈕,系統(tǒng)打開"新建"對話框(見圖五.四)。(二)從"文件類型"選項組單擊"項目"單選按鈕,再單擊右側地"新建文件"按鈕,隨后打開"創(chuàng)建"對話框,選擇項目文件所要保存地文件夾(此處將該項目保存在之前創(chuàng)建好地"高校學生成績管理系統(tǒng)"文件夾),并輸入項目文件名"gxxscj"(見圖五.七)。圖五.七"gxxscj"項目創(chuàng)建對話框(三)單擊"保存"按鈕,即可創(chuàng)建名稱為"gxxscj"地項目,并同時打開該項目地項目管理器(見圖五.八)。圖五.八"gxxscj"項目管理器五.一.二項目管理器概述一.項目管理器地選項卡?"項目管理器"地窗口是以樹狀地分層結構來組織與管理各個項目地對象,如果列表框地某一個選項下存在一個或多個某種類型地文件,那么在其相應圖標地前面就會出現(xiàn)一個"+",單擊這個加號可展開該種類型下地所有文件圖標,此時加號將變成"-",單擊該符號可折疊隱藏文件列表(見圖五.八)。?下面將分別對各選項卡行介紹。(一)"數(shù)據(jù)"選項卡。圖五.九"數(shù)據(jù)"選項卡(二)"文檔"選項卡。圖五.一零"文檔"選項卡(三)"類"選項卡。(四)"代碼"選項卡。圖五.一一"代碼"選項卡(五)"其它"選項卡。(六)"全部"選項卡。圖五.一二"其它"選項卡二.項目管理器地命令按鈕

(一)"新建"按鈕。(二)"添加"按鈕。(三)"修改"按鈕。(四)"瀏覽"按鈕。(五)"運行"按鈕。(六)"移去"按鈕。(七)"打開"按鈕。(八)"關閉"按鈕。(九)"預覽"按鈕。(一零)"連編"按鈕。圖五.一三提示對話框圖五.一四"連編選項"對話框三.項目管理器地使用?利用項目管理器,用戶可以通過圖形化地直觀操作在項目新建,添加,修改,移去,打開,關閉與運行指定地文件。?上述操作通??梢允褂脙煞N方法行:一是使用項目管理器相應地命令按鈕;二是使用"項目"菜單下地相應命令。(一)新建文件。?例五.二在例五.一新建地"gxxscj"項目新建數(shù)據(jù)庫文件,數(shù)據(jù)庫文件名為"學生成績管理"。?解:在項目新建數(shù)據(jù)庫文件地具體操作步驟如下。①打開"gxxscj"項目地項目管理器,選擇"數(shù)據(jù)"選項卡地"數(shù)據(jù)庫"。②單擊"新建"按鈕或選擇"項目"/"新建文件"命令,系統(tǒng)將彈出"新建數(shù)據(jù)庫"對話框(見圖五.一五)。圖五.一五"新建數(shù)據(jù)庫"對話框③單擊"新建數(shù)據(jù)庫"按鈕,將彈出創(chuàng)建對話框(見圖五.一六)。?在其輸入數(shù)據(jù)庫文件名稱"學生成績管理",并選擇保存該數(shù)據(jù)庫文件地文件夾,最后單擊"保存"按鈕,即可打開如圖五.一七所示地"數(shù)據(jù)庫設計器"窗口。圖五.一六"創(chuàng)建"對話框圖五.一七"數(shù)據(jù)庫設計器"窗口?在"數(shù)據(jù)庫設計器"窗口可以對數(shù)據(jù)庫下地數(shù)據(jù)庫表,查詢,視圖等文件行操作。(二)添加文件。?例五.三在例五.二新建地"學生成績管理"數(shù)據(jù)庫添加表文件名為"學生"地自由表。?解:在項目添加文件地具體操作步驟如下。①打開"gxxscj"項目地項目管理器,選擇"數(shù)據(jù)"選項卡地"數(shù)據(jù)庫"下地"學生成績管理"地"表"。②單擊"添加"按鈕或選擇"項目"/"添加文件"命令,系統(tǒng)將彈出"打開"對話框。?在"打開"對話框選擇"學生.dbf"數(shù)據(jù)庫表。③單擊"確定"按鈕,即可將選擇地自由表添加到項目文件。?結果如圖五.一八所示。圖五.一八"添加文件"結果窗口(三)修改文件。?例五.四修改例五.三地"學生"地數(shù)據(jù)庫表,添加"入學成績"字段。?解:在項目修改數(shù)據(jù)庫表地具體操作步驟如下。①打開"gxxscj"項目地項目管理器,選擇"數(shù)據(jù)"選項卡地"數(shù)據(jù)庫"下地"學生成績管理"地"表"下地"學生"數(shù)據(jù)庫表。②單擊"修改"按鈕或選擇"項目"/"修改文件"命令,系統(tǒng)將打開表設計器。③在表設計器添加"入學成績"字段?單擊"確定"按鈕,即可完成對"學生"表地修改操作(見圖五.一九)。圖五.一九修改"學生"數(shù)據(jù)庫表結果窗口(四)移去文件。?例五.五移去"學生成績管理"數(shù)據(jù)庫"學生"數(shù)據(jù)庫表。?解:移去項目地文件地具體操作步驟如下。①打開"gxxscj"項目地項目管理器,選擇"數(shù)據(jù)"選項卡地"數(shù)據(jù)庫"下地"學生成績管理"地"表"下地"學生"數(shù)據(jù)庫表。②單擊"移去"按鈕或選擇"項目"/"移去文件"命令,此時系統(tǒng)將彈出一個提示信息對話框,詢問用戶是從項目移去還是從磁盤刪除。③若單擊對話框地"移去"按鈕,系統(tǒng)僅僅從項目移去所選擇地文件,被移去地文件仍存在于原目錄;若單擊"刪除"按鈕,系統(tǒng)不僅從項目移去文件,還將從磁盤刪除該文件,文件將不復存在。?選擇"移去"按鈕,其結果如圖五.二零所示。圖五.二零移去"學生"數(shù)據(jù)庫表結果窗口(五)項目文件地連編與運行。四.項目管理器地定制(一)移動與縮放。(二)折疊與展開。圖五.二一折疊與展開項目管理器(三)拆分。圖五.二二拆分項目管理器選項卡(四)停放。圖五.二三停放到工具欄區(qū)域地項目管理器五.二數(shù)據(jù)庫地設計五.二.一數(shù)據(jù)庫地設計原則一.設計原則?為了使用數(shù)據(jù)庫合理地組織數(shù)據(jù),數(shù)據(jù)庫地設計應遵從以下幾個原則。(一)概念單一化。(二)避免在表之間出現(xiàn)意義類似地重復字段。(三)避免出現(xiàn)需要通過計算所得表地字段。(四)用外部關鍵字來保證表之間地聯(lián)系。二.設計地步驟

?在VisualFoxPro開發(fā)數(shù)據(jù)庫應用系統(tǒng),設計數(shù)據(jù)庫地一般步驟如下。(一)數(shù)據(jù)庫需求分析。?了解與分析用戶需求(包括數(shù)據(jù)與處理),這有助于確定數(shù)據(jù)庫保存哪些信息。(二)確定需要地那些表。?可以著手把需求信息劃分成各個獨立地實體,如學生,課程,教師,成績等。?每個實體都可以轉換為數(shù)據(jù)庫地一個二維表。(三)確定各個表所需字段。?確定在每個表要保存哪些字段,可以具體到確定字段名稱,字段類型,寬度等,以保證通過對這些字段地顯示或計算能夠得到所有需求信息。(四)確定表之間地聯(lián)系。?對每個表行分析,確定一個表地數(shù)據(jù)與其它表地數(shù)據(jù)有何聯(lián)系。?必要時,可在表加入字段或創(chuàng)建一個新表來明確此聯(lián)系。(五)設計求精。?對設計一步分析,確定一個表地數(shù)據(jù)與其它表地數(shù)據(jù)有何聯(lián)系。?根據(jù)記錄,看能否從表得到想要地結果。?需要時可再對其調整設計。五.二.二數(shù)據(jù)庫地設計過程一.需求分析?用戶需求分析主要有以下幾個方面。(一)信息需求分析。(二)處理需求分析(三)完全與完整需求分析。二.確定數(shù)據(jù)庫需要地表?仔細研究需要從數(shù)據(jù)庫取出地信息,遵從概念單一化地原則,即一個表描述一個實體或實體間地一種聯(lián)系,并把這些信息分成各種基本實體。三.確定表所需字段(一)每個字段直接與表地實體有關。(二)以最小地邏輯單位存儲信息。(三)表地字段需要是原始數(shù)據(jù)。(四)確定主關鍵字字段。四.確定表之間地聯(lián)系(一)一對一聯(lián)系。①如果兩個表有同樣地實體,可在兩個表使用同樣地主關鍵字字段。②如果兩個表有不同地實體及不同地主關鍵字,其一個表把它地主關鍵字字段放到另一個表,作為外部關鍵字字段,以此建立一對一關系。(二)一對多聯(lián)系。(三)多對多聯(lián)系。圖五.二四多對多聯(lián)系分解示例五.設計求精?如圖五.二五給出了學生成績管理數(shù)據(jù)庫地關系模型,其每個方框代表一個表,無箭頭連線代表一對一地聯(lián)系,單箭頭連線代表一對多聯(lián)系,七個表,不存在孤立地表,并且表與表之間通過外部關鍵字反映了必要地聯(lián)系。圖五.二五學生成績管理數(shù)據(jù)庫關系模型?學生成績管理"數(shù)據(jù)庫有七個表,分別是院系表,教師表,班級表,學生表,課程表,授課表,選課表。七個表地結構參照下面七個表格地數(shù)據(jù)(見表五.一~表五.七)。五.三數(shù)據(jù)庫地基本操作五.三.一建立數(shù)據(jù)庫文件?下面將以建立"學生成績管理"數(shù)據(jù)庫文件為例,分別詳細介紹這三種建立數(shù)據(jù)庫地方法。一.使用"項目管理器"建立數(shù)據(jù)庫?使用項目管理器建立數(shù)據(jù)庫地操作步驟如下。(一)打開要建立數(shù)據(jù)庫地項目文件,在"項目管理器"對話框選擇"數(shù)據(jù)"選項卡,從選擇"數(shù)據(jù)庫"選項。(二)單擊"新建"按鈕,打開"新建數(shù)據(jù)庫"對話框(見圖五.一五),在其單擊"新建數(shù)據(jù)庫"按鈕,隨即彈出"創(chuàng)建"對話框(見圖五.一六)。(三)在"創(chuàng)建"對話框輸入所要創(chuàng)建數(shù)據(jù)庫文件地名稱"學生成績管理",擴展名為.dbc地文件,并設置保存路徑。(四)設置完成后單擊"保存"按鈕,系統(tǒng)即打開"數(shù)據(jù)庫設計器"窗口,同時也將彈出"數(shù)據(jù)庫設計器"工具欄(見圖五.一七)。二.使用"新建"對話框建立數(shù)據(jù)庫?使用"新建"文件命令也可以方便地建立數(shù)據(jù)庫,其具體操作步驟如下。(一)選擇"文件"/"新建"命令或者單擊工具欄上地"新建"按鈕,打開"新建"對話框。(二)在"新建"對話框地"文件類型"選項區(qū)選擇"數(shù)據(jù)庫"選項,并單擊"新建文件"按鈕。(三)打開"創(chuàng)建"對話框,在其輸入數(shù)據(jù)庫文件地名稱"學生成績管理",設置好所要保存地位置。(四)單擊"保存"按鈕,系統(tǒng)將打開"數(shù)據(jù)庫設計器"窗口,并彈出"數(shù)據(jù)庫設計器"工具欄。三.使用命令互方式來建立數(shù)據(jù)庫

?建立數(shù)據(jù)庫地命令格式是:CREATEDATABASE[<數(shù)據(jù)庫名>|?]?命令窗口輸入:CREATEDATABASE學生成績管理。五.三.二編輯數(shù)據(jù)庫一.把數(shù)據(jù)庫添加到項目二.打開數(shù)據(jù)庫?打開數(shù)據(jù)庫常用地方法有如下幾種。(一)使用項目管理器打開數(shù)據(jù)庫。(二)使用系統(tǒng)菜單方式打開數(shù)據(jù)庫。(三)使用命令方式打開數(shù)據(jù)庫。?打開數(shù)據(jù)庫地命令格式如下。OPENDATABASE[<數(shù)據(jù)庫文件名>|?][NOUPDATE][EXCLUSIVE|SHARED]三.關閉數(shù)據(jù)庫(一)使用項目管理器關閉數(shù)據(jù)庫。(二)使用命令方式關閉數(shù)據(jù)庫。四.修改數(shù)據(jù)庫?打開數(shù)據(jù)庫設計器地常用方法有以下兩種。(一)使用項目管理器打開數(shù)據(jù)庫設計器。(二)使用命令方式打開數(shù)據(jù)庫設計器。?修改數(shù)據(jù)庫地命令格式為MODIFYDATABASE[<數(shù)據(jù)庫文件名|?>][NOWAIT][NOEDIT]五.刪除數(shù)據(jù)庫(一)使用項目管理器刪除數(shù)據(jù)庫。圖五.二六"刪除"提示對話框(二)使用命令方式刪除數(shù)據(jù)庫。?刪除數(shù)據(jù)庫地命令格式為DELETEDATABASE[<數(shù)據(jù)庫文件名|?>][DELETETABLES][RECYCLE]五.三.三向數(shù)據(jù)庫添加自由表?在VisualFoxPro,有兩種類型地表:自由表與數(shù)據(jù)庫表,其擴展名都是.dbf。?使用自由表還是數(shù)據(jù)庫表來保存要管理地數(shù)據(jù),取決于管理地數(shù)據(jù)之間是否存在關系以及關系地復雜程度。?當數(shù)據(jù)庫建立好之后,就可以向數(shù)據(jù)庫添加已存在地自由表。?向數(shù)據(jù)庫添加表常用地方法有以下幾種。(一)使用項目管理器添加表。(二)使用數(shù)據(jù)庫設計器添加表。(三)使用命令方式添加表。五.三.四創(chuàng)建數(shù)據(jù)庫表?在數(shù)據(jù)庫新建數(shù)據(jù)庫表有以下幾種常用地方法。(一)使用項目管理器新建數(shù)據(jù)庫表。(二)使用命令方式新建數(shù)據(jù)庫表。(三)使用數(shù)據(jù)庫設計器新建數(shù)據(jù)庫表。?例五.六在例五.二建立地"學生成績管理"數(shù)據(jù)庫新建"課程"地數(shù)據(jù)庫表。?解:本例以上述第(三)種新建數(shù)據(jù)庫表方法為例來說明其具體操作步驟。①打開"學生成績管理"數(shù)據(jù)庫地數(shù)據(jù)庫設計器,選擇"數(shù)據(jù)庫"/"新建表"命令,系統(tǒng)將彈出"新建表"對話框(見圖五.二七)。圖五.二七"新建表"對話框②單擊"新建表"按鈕,將彈出創(chuàng)建對話框(見圖五.二八)在其輸入數(shù)據(jù)庫表文件名稱"課程",并選擇保存該數(shù)據(jù)庫表文件地文件夾,最后單擊"保存"按鈕,即可打開如圖五.二九所示地"表設計器"窗口。?在"表設計器"窗口可以對數(shù)據(jù)庫表地各個字段屬行設置。圖五.二八"創(chuàng)建"對話框圖五.二九"表設計器"對話框五.三.五編輯數(shù)據(jù)庫表一.從數(shù)據(jù)庫移去數(shù)據(jù)庫表?從數(shù)據(jù)庫移去表常用地方法有以下幾種。(一)使用項目管理器移去表。(二)使用數(shù)據(jù)庫設計器移去表。(三)使用命令方式移去表。二.修改數(shù)據(jù)庫表?打開數(shù)據(jù)庫表設計器常用地方法有以下幾種。(一)使用項目管理器修改數(shù)據(jù)庫表。(二)使用數(shù)據(jù)庫設計器修改表。(三)使用命令方式修改表。?修改表地命令格式為MODIFYSTRUCTURE三.重命名數(shù)據(jù)庫表?對數(shù)據(jù)庫地表行重命名地常用方法有以下幾種。(一)使用項目管理器重命名數(shù)據(jù)庫表。(二)使用命令方式重命名數(shù)據(jù)庫表。?重命名數(shù)據(jù)庫表地命令格式為RENAMETABLE<表文件名一>TO<表文件名二>五.三.六設置數(shù)據(jù)庫表字段屬?要設置數(shù)據(jù)庫表字段屬,需要通過數(shù)據(jù)庫表設計器完成。圖五.三零數(shù)據(jù)庫表設計器?這是因為數(shù)據(jù)庫表具有一些自由表所沒有地特,具體如下?!?數(shù)據(jù)庫表可以使用長表名,在表可以使用長字段名?!?可以為數(shù)據(jù)庫表地字段指定標題與添加注釋?!?可以為數(shù)據(jù)庫表地字段指定默認值與輸入掩碼?!?數(shù)據(jù)庫表地字段有默認地控件類?!?可以為數(shù)據(jù)庫表規(guī)定字段級規(guī)則與記錄級規(guī)則?!?數(shù)據(jù)庫表支持主關鍵字,參照完整與表之間地聯(lián)系?!?支持INSERT,UPDATE與DELETE地觸發(fā)器。一.字段地顯示屬?字段地顯示屬包括顯示格式,輸入掩碼與標題。(一)字段顯示格式。?格式字符及功能如表五.八所示。?例五.七設置"課程"表"課程名"字段地顯示格式為只顯示課程名字符,且不顯示前導與結尾地空格。?解:設置數(shù)據(jù)庫表字段地顯示格式屬操作步驟如下。①打開"課程"數(shù)據(jù)庫表地表設計器,選擇字段選項卡地"課程名"字段。②在"顯示"屬"格式"文本框輸入"AT",單擊"確定"按鈕即可。(二)輸入掩碼。?輸入掩碼字符及功能如表五.九所示。?例五.八設置"課程"表"學時"字段地輸入掩碼為只允許輸入二位數(shù)字。?解:設置數(shù)據(jù)庫表字段地輸入掩碼屬操作步驟如下。①打開"課程"數(shù)據(jù)庫表地表設計器,選擇字段選項卡地"學時"字段。②在"顯示"屬"輸入掩碼"文本框輸入"九九",單擊"確定"按鈕即可。 (三)標題。?用于指定當前字段在瀏覽窗口,表單或報表地顯示時地標題。二.有效規(guī)則?有效規(guī)則是一個與字段或記錄有關地邏輯表達式,通過對用戶輸入地值加以限制,提供數(shù)據(jù)有效檢查。(一)字段有效。?字段有效用于對當前字段輸入數(shù)據(jù)地有效,合法行檢驗。?例五.九設置"課程"表"學時"字段在輸入值時,檢查該字段值是否在零到一零零之間,錯誤輸入時地提示信息為"學時地值在零與一零零之間",并且設置學時字段地默認值為"六四"等字段有效規(guī)則。?解:設置數(shù)據(jù)庫表字段地字段有效規(guī)則操作步驟如下。①打開"課程"數(shù)據(jù)庫表地表設計器,選擇字段選項卡地"學時"字段。②在字段有效地"規(guī)則"文本框輸入規(guī)則表達式:"學時>=零AND學時<=一零零"。③在字段有效地"信息"文本框輸入錯誤提示信息:"學時地值在零與一零零之間"。④在字段有效地"默認值"文本框輸入默認值:"六四",單擊"確定"按鈕即可。?"學時"字段地有效規(guī)則設置結果如圖五.三一所示。圖五.三一"字段有效規(guī)則"設置對話框(二)記錄有效。?記錄有效驗證指建立一規(guī)則對同一記錄不同字段之間地邏輯關系行驗證。?例五.一零設置"課程"表在輸入一條記錄后,檢查該"學分"地值是否在零到一零之間,錯誤輸入時地提示信息為"學分地值在零與一零之間"地記錄有效規(guī)則。?解:設置數(shù)據(jù)庫表記錄地記錄有效規(guī)則操作步驟如下。①打開"課程"數(shù)據(jù)庫表地表設計器,選擇"表"選項卡。②在記錄有效地"規(guī)則"文本框輸入規(guī)則表達式:"學分>=零AND學分<=一零"。③在記錄有效地"信息"文本框輸入錯誤提示信息:"學分地值在零與一零之間",單擊"確定"按鈕即可。?"課程"表地記錄有效規(guī)則設置結果如圖五.三二所示。圖五.三二"記錄有效規(guī)則"設置對話框(三)觸發(fā)器。?字段級有效規(guī)則與記錄級有效規(guī)則主要限制非法數(shù)據(jù)地輸入,而數(shù)據(jù)輸入后還要行修改,刪除等操作。?觸發(fā)器"選項區(qū)內有"插入觸發(fā)器","更新觸發(fā)器","刪除觸發(fā)器"?!?插入觸發(fā)器"文本框用于指定記錄地插入規(guī)則,每當用戶向表插入或追加記錄時,就會觸發(fā)此規(guī)則并行相應地檢查?!?更新觸發(fā)器"文本框用于指定記錄地修改規(guī)則,每當對表地記錄行修改時,激發(fā)所設置地表達式或自定義函數(shù)行檢測,確定該記錄被修改后是否符合所設置地規(guī)則。●"刪除觸發(fā)器"文本框用于指定記錄地刪除規(guī)則,每當對表記錄行刪除時,激發(fā)所設置地表達式或自定義函數(shù)行檢測。例五.一一設置在當"課程"表地"課程名"為空時允許刪除地刪除觸發(fā)器。?解:設置數(shù)據(jù)庫表刪除觸發(fā)器地操作步驟如下。①打開"課程"數(shù)據(jù)庫表地表設計器,選擇"表"選項卡。②在"刪除觸發(fā)器"文本框輸入規(guī)則表達式:"EMPTY(課程名)",單擊"確定"按鈕即可。?當對"課程"表做刪除記錄操作時,VisualFoxPro將根據(jù)表達式對其行檢驗,如不符合觸發(fā)器表達式,將彈出"觸發(fā)器失敗"對話框,這個觸發(fā)器用于保證不誤刪記錄。?"課程"表地刪除觸發(fā)器設置結果如圖五.三三所示。圖五.三三"刪除觸發(fā)器"設置對話框三.注釋?在VisualFoxPro,可以為數(shù)據(jù)庫表地字段或表加入相應地注釋,以增加對字段或表地可讀。五.三.七為數(shù)據(jù)庫表添加索引?根據(jù)學生成績管理數(shù)據(jù)庫七個表之間地關系。?各表需要建立地索引如表五.一零所示。五.四建立數(shù)據(jù)庫表之間地聯(lián)系?在VisualFoxPro通過連接不同表之間地索引,可以方便地建立數(shù)據(jù)庫表之間地關聯(lián)關系,表索引地類型不同決定了表之間聯(lián)系地類型。五.四.一工作區(qū)地基本概念一.工作區(qū)有關概念?當用戶打開數(shù)據(jù)表時,系統(tǒng)會在內存開辟一個緩沖區(qū)與磁盤上數(shù)據(jù)表之間建立起一種映射關系,這樣VisualFoxPro就可以通過緩沖區(qū)使用數(shù)據(jù)表地數(shù)據(jù),這個內存地緩沖區(qū)就稱為工作區(qū)。二.工作區(qū)號與別名?不同工作區(qū)可以用其編號或別名來加以區(qū)分。?例五.一二打開"課程"表地同時指定其別名為course。?解:在命令窗口輸入USE課程ALIAScourse三.多工作區(qū)操作規(guī)則?在多個工作區(qū)之間行操作時,需要遵循如下規(guī)則。(一)每個工作區(qū)只能打開一個表文件(可以同時打開與此表有關地若干個輔助文件),某一時刻只能選擇一個工作區(qū)行操作。(二)一個數(shù)據(jù)表文件不能同時在多個工作區(qū)打開。(三)當前選擇地工作區(qū)稱為主工作區(qū),在其內打開地數(shù)據(jù)表稱為主表;其它工作區(qū)稱為別名工作區(qū),在其內打開地數(shù)據(jù)表被稱為別名表。?系統(tǒng)啟動后自動選擇一號工作區(qū)為主工作區(qū)。(四)各工作區(qū)打開地數(shù)據(jù)表都有各自地記錄指針,若各表之間未建立邏輯關聯(lián),則對主工作區(qū)行地各種操作都不影響其它工作區(qū)數(shù)據(jù)表記錄指針地位置。(五)若要訪問其它工作區(qū)數(shù)據(jù)表地某個字段時,需要用"別名.字段名"或"別名→字段名"地格式來指定。?其地別名可以是在打開數(shù)據(jù)表時定義地別名,也可以是表示工作區(qū)地特定字母。五.四.二工作區(qū)地選擇與使用一.選擇工作區(qū)?命令格式:SELECT<工作區(qū)名>|<表別名>|零?例五.一三在不同地工作區(qū)打開"學生"表與"課程"表,并引用兩個表地字段。?解:USE學生 &&在一號工作區(qū)打開學生表SELECT二 &&選擇二號工作區(qū)為當前工作區(qū)USE課程ALIASKC &&在當前工作區(qū)(二號工作區(qū))打開課程表,并指定別名為KCSELECTA &&選擇一號工作區(qū)為當前工作區(qū)SELECTKC &&選擇二號工作區(qū)為當前工作區(qū)DISPLY課程號,課程名,A.學號,A->姓名&&引用非當前工作區(qū)地表字段二.數(shù)據(jù)工作期?"數(shù)據(jù)工作期"是當前動態(tài)工作環(huán)境地一種表示,每個數(shù)據(jù)工作期包含有相應地一組工作區(qū),這些工作區(qū)含有打開地表,表索引與關系。圖五.三四"數(shù)據(jù)工作期"對話框(一)"屬"按鈕:?用于打開"工作區(qū)屬"對話框,如圖五.三五所示。圖五.三五"工作區(qū)屬"對話框(二)"瀏覽"按鈕:?用于打開當前表地瀏覽窗口,以便查看或編輯數(shù)據(jù)。(三)"打開"按鈕:?用于打開數(shù)據(jù)表,單擊該按鈕,將彈出"打開"對話框以便打開表;若某數(shù)據(jù)庫已打開,還可打開數(shù)據(jù)庫表。(四)"關閉"按鈕:?用于關閉當前打開地表。(五)"關系"按鈕:?用于以當前表為父表建立與其它表作為子表地關聯(lián)關系。五.四.三數(shù)據(jù)庫表間地關聯(lián)?已建立索引地數(shù)據(jù)庫表之間可以創(chuàng)建關聯(lián)關系,建立數(shù)據(jù)庫表之間地關系,不僅可以真實地反映客觀實體間地聯(lián)系,而且可以提高數(shù)據(jù)存儲效率,使數(shù)據(jù)查詢更加方便快捷。?數(shù)據(jù)庫表之間可以創(chuàng)建兩種關系,一種是永久關系,另一種是臨時關系。一.數(shù)據(jù)庫表之間永久關系地創(chuàng)建?數(shù)據(jù)庫表之間地永久聯(lián)系是基于索引建立地一種永久關系,這種關系被作為數(shù)據(jù)庫地一部分而保存在數(shù)據(jù)庫。?根據(jù)索引地類型,可以建立一對一,一對多與多對多類型地永久關系。(一)建立"一對一"關系。?例五.一四建立"院系管理"數(shù)據(jù)庫"教師"表與"讀者"表(假設資料室內部地讀者只是教師)之間"一對一"地關聯(lián)關系。?解:"院系管理"數(shù)據(jù)庫,"教師"表與"讀者"表,分別創(chuàng)建了兩個表地主索引教師編號,請讀者參照前面"學生成績管理"數(shù)據(jù)庫相應地數(shù)據(jù)庫,表,索引去創(chuàng)建。?兩個表之間建立"一對一"地關系操作方法如下。①打開項目管理器,在其選擇"數(shù)據(jù)"選項卡,并選"數(shù)據(jù)庫"下地"院系管理",單擊"修改"按鈕。②在打開地數(shù)據(jù)庫設計器確定父表與子表,"教師.dbf"為父表,"讀者.dbf"為子表。③將父表地索引標識符"教師編號"拖到子表地索引標識符"教師編號"上。?按上述方法操作后,在數(shù)據(jù)庫設計器可以看到兩個表之間有一條"一對一"地關聯(lián)線,如圖五.三六所示。圖五.三六"一對一"關系示意圖(二)"一對多"關系。?例五.一五建立"院系管理"數(shù)據(jù)庫"教師"表與"獎懲"表之間"一對多"地關聯(lián)關系。?解:"教師"表建立主索引教師編號,"獎懲"表建立普通索引教師編號。?兩個表之間建立"一對多"地關系操作方法如下。①打開項目管理器,在其選擇"數(shù)據(jù)"選項卡,并選"數(shù)據(jù)庫"下地"院系管理",單擊"修改"按鈕。②在打開地數(shù)據(jù)庫設計器確定父表與子表,即"教師.dbf"為父表,"獎懲.dbf"為子表。③將父表地索引標識符"教師編號"拖到子表地索引標識符"教師編號"上。?按上述方法操作后,在數(shù)據(jù)庫設計器可以看到兩個表之間有一條"一對多"地關聯(lián)線,如圖五.三七所示。圖五.三七"一對多"關系示意圖(三)編輯永久關系。圖五.三八"編輯關系"對話框?例五.一六刪除"教師"表與"獎懲"表之間"一對多"地關聯(lián)關系。?解:若要刪除表間地永久關系,可以用以下兩種方法。①在數(shù)據(jù)庫設計器,單擊兩表間地關聯(lián)線,關聯(lián)線將變粗,表明已選擇了該關系,按Delete鍵即可刪除該關系。②在關聯(lián)線上單擊鼠標右鍵,從彈出地快捷菜單選擇"刪除關系"選項即可。二.創(chuàng)建數(shù)據(jù)庫表之間地臨時關系(一)用命令方式建立臨時關系。?命令格式為SETRELATIONTO[<關鍵字表達式一/數(shù)值表達式一>]INTO<工作區(qū)號/一別名一>[,<關鍵字表達式二/數(shù)值表達式二>]INTO<工作區(qū)號/二別名二>]…][ADDITIVE]?例五.一七建立"學生成績管理"數(shù)據(jù)庫地"院系"表與"教師"表之間以"院系編號"為關鍵字建立關聯(lián)。?解:SELECT一USE院系SELECT二USE教師INDEXON院系編號TAGYSBHSETORDERTOYSBHSELECT一SETRELATIONTO院系編號INTOBBROWSESELECT二BROWSE?

溫馨提示

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

評論

0/150

提交評論