第一篇:VF數(shù)據(jù)庫程序設(shè)計教案
Visual Foxpro數(shù)據(jù)庫程序設(shè)計教案
姓名:
李運娣
系別:
計算機
第1章 Visual FoxPro 數(shù)據(jù)庫基礎(chǔ)
本章重點與學(xué)習(xí)目標(biāo):
? 了解數(shù)據(jù)庫系統(tǒng)的相關(guān)概念
? 數(shù)據(jù)、數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)、數(shù)據(jù)庫系統(tǒng) ? 數(shù)據(jù)庫管理系統(tǒng)發(fā)展過程
? 概念模型以及常用的數(shù)據(jù)模型—層次模型、網(wǎng)狀模型、關(guān)系模型
? 掌握關(guān)系數(shù)據(jù)庫
? 關(guān)系模型的相關(guān)屬于
? 數(shù)據(jù)庫設(shè)計基礎(chǔ)
? 數(shù)據(jù)庫設(shè)計的步驟和過程
? 了解VF系統(tǒng)的發(fā)展過程
? 數(shù)據(jù)庫管理系統(tǒng)的發(fā)展
? VF的發(fā)展簡史及了解Visual FoxPro系統(tǒng)的特點 ? 掌握VF系統(tǒng)的啟動與退出方法 ? 熟悉VF系統(tǒng)的用戶界面
? 熟悉VF項目管理器
? 創(chuàng)建新項目
? 項目管理器窗口的各類選項卡
教學(xué)器材:
多媒體教學(xué)
本章課時: 3學(xué)時
§1.1 數(shù)據(jù)庫基礎(chǔ)知識
§1.1.1 計算機數(shù)據(jù)管理的發(fā)展
1.數(shù)據(jù)與數(shù)據(jù)處理 數(shù)據(jù)是指存儲在某一種媒體上能夠識別的物理符號;數(shù)據(jù)處理是指將數(shù)據(jù)轉(zhuǎn)換成信息的過程。2.計算機數(shù)據(jù)管理
數(shù)據(jù)管理:是指對數(shù)據(jù)的組織、分類、編碼、存儲、檢索、維護等,它是數(shù)據(jù)處理的中心問題。
數(shù)據(jù)管理技術(shù)的發(fā)展過程:人工管理階段(40年代中--50年代中);文件系統(tǒng)階段(50年代末--60年代中);數(shù)據(jù)庫系統(tǒng)階段(60年代末--現(xiàn)在)。
§1.1.2 數(shù)據(jù)庫系統(tǒng)
1.數(shù)據(jù)庫有關(guān)概念
數(shù)據(jù)庫(DataBase):指數(shù)據(jù)庫系統(tǒng)中以一定的方式將相關(guān)數(shù)據(jù)組織在一起,存儲在外存儲設(shè)備上形成的、為多個用戶共享、與應(yīng)用程序相互獨立的相關(guān)數(shù)據(jù)集合。
數(shù)據(jù)庫管理系統(tǒng)(DBMS): 用于建立、使用和維護數(shù)據(jù)庫的系統(tǒng)軟件。數(shù)據(jù)庫管理系統(tǒng)對數(shù)據(jù)庫進行統(tǒng)一的管理和控制,以保證數(shù)據(jù)庫的安全性和完整性。
數(shù)據(jù)庫應(yīng)用系統(tǒng):數(shù)據(jù)庫應(yīng)用系統(tǒng)簡稱數(shù)據(jù)庫系統(tǒng),是指系統(tǒng)開發(fā)人員利用數(shù)據(jù)庫系統(tǒng)資源開發(fā)出來的,面向某一類實際應(yīng)用的應(yīng)用軟件系統(tǒng)。
數(shù)據(jù)庫管理員(DBA):負(fù)責(zé)全面管理和實施數(shù)據(jù)庫控制和維護的技術(shù)人員。
2.數(shù)據(jù)庫系統(tǒng)的特點
數(shù)據(jù)庫系統(tǒng)是指引進數(shù)據(jù)庫技術(shù)后的計算機系統(tǒng),實現(xiàn)有組織地、動態(tài)地存儲大量相關(guān)數(shù)據(jù),提供數(shù)據(jù)處理和信息資源共享的便利手段。特點:實現(xiàn)數(shù)據(jù)共享,減少數(shù)據(jù)冗余;采用特定的數(shù)據(jù)模型;具有較高的數(shù)據(jù)獨立性;有統(tǒng)一的數(shù)據(jù)控制功能
§1.1.3 數(shù)據(jù)模型
1.實體的描述:實體的定義、屬性、實體集和實體型 2.實體間聯(lián)系及聯(lián)系的類型
定義:實體之間相對應(yīng)的關(guān)系稱為聯(lián)系,它反映了現(xiàn)實世界事物之間的相互關(guān)聯(lián)。
類型:一對一聯(lián)系;一對多聯(lián)系;多對多聯(lián)系 3.數(shù)據(jù)模型簡介
數(shù)據(jù)模型是在數(shù)據(jù)庫領(lǐng)域中定義數(shù)據(jù)及其操作的一種抽象表示。類型:網(wǎng)狀模型;層次數(shù)據(jù)模型;關(guān)系模型
§1.2 關(guān)系數(shù)據(jù)庫 §1.2.1 關(guān)系模型
1.關(guān)系定義的定義及相關(guān)術(shù)語
一個關(guān)系就是一張二維表,通常將一個沒有重復(fù)行、重復(fù)列的二維表看成一個關(guān)系,每個關(guān)系都有一個關(guān)系名。
相關(guān)術(shù)語:元組、屬性、域、關(guān)鍵字、外部關(guān)鍵字 2.關(guān)系的特點
? 關(guān)系必須規(guī)范化
? 二維表中的每一列都有唯一的字段名且取值性質(zhì)相同 ? 二維表中不允許出現(xiàn)完全相同的兩行
? 二維表中可以任意交換行的順序和列的順序 3.實際關(guān)系模型
一個具體的關(guān)系是由若干個關(guān)系模式組成。在VF中,一個數(shù)據(jù)庫中包含相互之間存在聯(lián)系的多個表。這個數(shù)據(jù)庫文件就代表一個實際的關(guān)系模型。為了反映出各個表所表示的實際實體之間的聯(lián)系,公共字段名往往起著“橋梁”的作用。
? 例1.1 部門-職工-工資關(guān)系模型 ? 例1.2 圖書-讀者-借閱關(guān)系模型
§1.2.2 關(guān)系運算
1.傳統(tǒng)的集合運算:交、并、差 2.專門的關(guān)系運算
選擇定義:從一個關(guān)系模式中找出滿足給定條件的記錄的操作稱為選擇,選擇是從行的角度進行的運算,相當(dāng)于對關(guān)系進行水平分解。
投影定義:投影運算從關(guān)系中選取若干屬性形成一個新的關(guān)系。連接定義:將兩個關(guān)系模式的若干屬性拼接成一個新的關(guān)系模式的操作,對應(yīng)的新關(guān)系中,包含滿足連接條件的所有元組?!?.3 數(shù)據(jù)庫設(shè)計基礎(chǔ) §1.3.1數(shù)據(jù)庫設(shè)計步驟
1.設(shè)計原則
? 概念單一化”一事一地”原則 ? 避免在表之間出現(xiàn)重復(fù)字段
? 表中的字段必須是原始數(shù)據(jù)和基本數(shù)據(jù)元素 ? 用外部關(guān)鍵字保證有關(guān)聯(lián)的表之間的聯(lián)系 2.設(shè)計步驟
? 需求分析
? 確定需要的表 ? 確定所需字段 ? 確定聯(lián)系 ? 設(shè)計求精
§1.3.2 數(shù)據(jù)庫設(shè)計過程
1.需求分析:用戶需求主要包括信息需求、處理需求、安全性和完整性要求。
2.確定需要的表:數(shù)據(jù)庫設(shè)計過程中最主要的一步就是確定需要的表,分析的過程實際上就是對收集到的數(shù)據(jù)進行抽象的過程。3.確定所需字段 4.確定聯(lián)系 5.設(shè)計求精
§1.4 Visual FoxPro系統(tǒng)概述
Visual FoxPro6.0是微軟公司1998年發(fā)布的可視化編程語言集成包Visual Studio6.0中的一員,是一種用于數(shù)據(jù)庫結(jié)構(gòu)設(shè)計和應(yīng)用程序開發(fā)的功能強大的面向?qū)ο蟮挠嬎銠C數(shù)據(jù)庫軟件。
§1.4.1 Visual FoxPro 6.0的安裝與啟動
1.安裝步驟
將Visual FoxPro 6.0系統(tǒng)光盤插入CD-ROM驅(qū)動器,打開光盤,找到setup.exe文件,雙擊該文件,進行安裝向?qū)А0凑瞻惭b向?qū)У奶崾?,單擊“下一步”按鈕根據(jù)提示進行安裝。2.啟動系統(tǒng)
單擊Windows的“開始”按鈕,選擇“程序”“Microsoft Visual FoxPro 6.0”“Microsoft Visual FoxPro 6.0”菜單項?!?.4.2 Visual FoxPro 6.0的主界面
1.菜單操作
下拉式菜單項:
主菜單欄中包括8個下拉式菜單項:文件(F)、編輯(E)、顯示(V)、工具(T)、程序(P)、項目(Q)、窗口(W)、幫助(H)。2.命令操作
顯示與隱藏命令窗口的方法:
單擊命令窗口右上角的關(guān)閉按鈕可以關(guān)閉它,然后通過“窗口”菜單下的“命令窗口”選項可以重新打開。3.項目管理器窗口
項目管理器是VF中各種數(shù)據(jù)和對象的主要組織工具。一個項目是文件、數(shù)據(jù)、文檔和對象的集合?!?.4.3 工具欄的使用
1.顯示或隱藏工具欄 2.定制工具欄
3.修改現(xiàn)有工具欄
§1.4.4 Visual FoxPro 6.0的配置
為了使系統(tǒng)滿足個性化的要求,可以定制自己的系統(tǒng)環(huán)境。在VF中可以使用“選項”對話框或SET命令進行附加的配置設(shè)定,這里主要用“工具”菜單下的“選項”進行設(shè)定?!?.5 項目管理器
項目是指文件、數(shù)據(jù)、文檔和對象的集合。“項目管理器”是VF中處理數(shù)據(jù)和對象的主要組織工具,它為系統(tǒng)開發(fā)者提供了極為便利的工作平臺,一是提供了簡便的、可視化的方法來組織和處理表、數(shù)據(jù)庫、表單、報表、查詢和其他一切文件;二是在項目管理器中可以將應(yīng)用系統(tǒng)編譯成一個擴展名為.app的應(yīng)用文件或.exe的可執(zhí)行文件?!?.5.1創(chuàng)建項目
1.創(chuàng)建新項目
2.打開和關(guān)閉項目 3.各類文件選項卡 §1.5.2 使用項目管理器
1.創(chuàng)建文件 2.添加文件 3.修改文件 4.移去文件
5.其他按鈕:“瀏覽”按鈕、“關(guān)閉”和“打開”按鈕、“預(yù)覽”按鈕、“運行”按鈕、“連編”按鈕
§1.5.3 定制項目管理器
1.移動、縮放和折疊 2.拆分項目管理器 3.停放項目管理器
§1.6 向?qū)?、設(shè)計器、生成器簡介
VF提供真正的面向?qū)ο蟮某绦蛟O(shè)計工具,使用它的各種向?qū)?、設(shè)計器和生成器可以更加簡便、快速、靈活地進行應(yīng)用程序開發(fā)。§1.6.1 Visual FoxPro的向?qū)?/p>
1.啟動向?qū)?2.使用向?qū)?/p>
3.修改用向?qū)?chuàng)建的項 §1.6.2Visual FoxPro的設(shè)計器
1.各種設(shè)計器:表設(shè)計器、數(shù)據(jù)庫設(shè)計器、報表設(shè)計器、查詢設(shè)計器、視圖設(shè)計器、表單設(shè)計器、菜單設(shè)計器、數(shù)據(jù)環(huán)境設(shè)計器、連接設(shè)計器
2.打開Visual FoxPro設(shè)計器
§1.6.3Visual FoxPro的生成器
各種生成器:表單生成器、表格生成器、編輯框生成器、列表框生成器、文本框生成器、組合框生成器、命令按鈕組生成器、選項按鈕組生成器 1.啟動“表單生成器”
2.對表單中的控件使用相應(yīng)的生成器 3.使用自動格式生成器來設(shè)置控制格式 4.使用參照完整性生成器
本章小結(jié):
本章首先介紹了數(shù)據(jù)庫系統(tǒng)的有關(guān)概念、數(shù)據(jù)庫管理系統(tǒng)的功能,然后介紹了VF6.0的初步知識,包括其用戶界面、工具欄的使用和系統(tǒng)配置。通過本章的學(xué)習(xí)希望對數(shù)據(jù)庫的相關(guān)知識有所了解,同時也對VF6.0有初步的認(rèn)識,為后面的進一步學(xué)習(xí)打下基礎(chǔ)。
本章作業(yè):
1.?dāng)?shù)據(jù)庫管理員的職責(zé)包括哪些方面? 2.簡述數(shù)據(jù)庫系統(tǒng)的特點。3.簡述關(guān)系的特點。
4.數(shù)據(jù)庫有哪些設(shè)計原則。5.簡述數(shù)據(jù)庫的設(shè)計步驟。6.創(chuàng)建項目的方法有哪些?
教學(xué)后記:
第2章 VF程序設(shè)計基礎(chǔ)
本章重點與學(xué)習(xí)目標(biāo):
? 掌握VF常用數(shù)據(jù)類型
? 字符型、數(shù)值型、浮點型、雙精度、整型等
? 掌握VF常量、變量的定義與使用方法及運算符和表達式
? 常量類型、變量類型及使用
? VF運算符及優(yōu)先級、VF各種表達式
? 了解VF程序設(shè)計基本知識及基本程序結(jié)構(gòu)
? 程序文件的建立與編輯和程序的調(diào)用方法
? 程序的三種結(jié)構(gòu):順序結(jié)構(gòu)、分支結(jié)構(gòu)、循環(huán)結(jié)構(gòu)
? 掌握VF的過程與函數(shù)的定義及運用方法
? 子過程與過程的定義及操作 ? 自定義函數(shù)的運用
? 掌握變量的作用域與參數(shù)的傳遞
? VF變量的作用域 ? VF參數(shù)的傳遞
教學(xué)器材:
多媒體教學(xué)
本章課時:7學(xué)時
§2.1 常量與變量
VF主要數(shù)據(jù)類型有:字符型、數(shù)值型、貨幣型、日期型、日期時間型、邏輯型、備注型、通用型。§2.1.1 常量
常量是指在所有的操作過程中保持不變的數(shù)。
VF主要有:數(shù)值型常量、貨幣型常量、字符型常量、日期型常量、日期時間型常量和邏輯型常量?!?.1.2 變量
變量是能夠隨時更改的。每個變量有一個變量名。
命名規(guī)則:變量名以字母,漢字和下劃線開頭,后接字母、數(shù)字、漢字和下劃線構(gòu)成。
VF變量分為字段變量和內(nèi)存變量
數(shù)組:與內(nèi)存變量不同,數(shù)組在使用之前一般要DIMENSION或DECLARE命令顯式創(chuàng)建,并且規(guī)定數(shù)組是一維數(shù)組還是二維數(shù)組,數(shù)組名和數(shù)組大小。
數(shù)組創(chuàng)建數(shù)組的格式:
DIMENSION <數(shù)組名>(<下標(biāo)上限1> [,<下標(biāo)上限2>])[,?] DECLARE <數(shù)組名>(<下標(biāo)上限1> [,<下標(biāo)上限2>])[,?] §2.1.3 內(nèi)存變量常用命令
1.內(nèi)存變量的賦值
格式1 :STORE <表達式>TO<內(nèi)存變量名表> 格式2:<內(nèi)存變量名>=<表達式>
2.表達式的顯示
格式1 :?[<表達式表>] 格式2:??[<表達式表>] 3.顯示內(nèi)存變量
格式1: LIST MEMORY[LIKE<通配符>][TO PRINTER|TO FILE<文件名>] 2: DISPLAY MEMORY[LIKE<通配符>][TO PRINTER|TO FILE<文件名>] 4.清除內(nèi)存變量
格式1 :CLEAR MEMORY 格式2:RELEASE<內(nèi)存變量名表> 格式3 :RELEASE ALL [EXTENDED] 格式4:RELEASE ALL [LIKE<通配符>| EXCEPT<通配符>] 5.表與數(shù)組之間的數(shù)據(jù)傳遞
將表的當(dāng)前記錄復(fù)制到數(shù)組 格式1 :SCATTER [ FIELDS<字段名表>][ MEMO ] TO <數(shù)組名> [ BLANK ] 格式2:SCATTER [FIELDS LIKE<通配符>|FIELDS EXCEPT<通配符>] [ MEMO ] TO<數(shù)組名> [ BLANK ] §2.2 表達式
表達式是由常量、變量和函數(shù)通過特定的運算符連接起來的式子。§2.2.1 數(shù)值、字符與日期時間表達式
數(shù)值表達式又叫做算術(shù)表達式,是最容易理解的一種表達式。數(shù)值型數(shù)據(jù)可以是數(shù)值型常量或者變量。
運算符包括:()、**或^、*、/、%、+、-§2.2.2 關(guān)系表達式
稱為簡單邏輯表達式,它由關(guān)系運算符將兩個運算對象連接起來形成。運算符包括:<、<=、>、>=、=、==、<>或#或!=、$ §2.2.3 邏輯表達式
由邏輯運算符將邏輯型數(shù)據(jù)連接形成的,其運算符結(jié)果仍然是邏輯數(shù)據(jù)。運算符包括:.NOT.或!(邏輯非)、.AND.(邏輯與)和.OR.(邏輯或)?!?.2.4 運算符優(yōu)先級
表達式中出現(xiàn)了多種不同類型的運算符時,其運算符優(yōu)先級如下:算術(shù)運算符>字符運算符和日期時間運算符>關(guān)系運算符>邏輯運算??梢杂美ㄌ柛淖儍?yōu)先順序,強令表達式的某些部分優(yōu)先運行。括號內(nèi)的運算總是優(yōu)先于括號外的運算。對于多重括號,總是由內(nèi)到外。§2.3 常用函數(shù)
§2.3.1 數(shù)值函數(shù)
常用數(shù)值函數(shù)有:ABS()函數(shù)、SIGN()函數(shù)、SQRT()函數(shù)、PI()函數(shù)、INT()函數(shù)、CEILING()函數(shù)、FLOOR()函數(shù)、ROUND()函數(shù)、MOD()函數(shù)、MAX()函數(shù) §2.3.2 字符函數(shù)
常用字符函數(shù)有:LEN()函數(shù)、LOWER()函數(shù)、UPPER()函數(shù)、SPACE()函數(shù)、TRIM()函數(shù)、LTRIM()函數(shù)、ALLTRIM()函數(shù)、LEFT()函數(shù)、RIGHT()函數(shù)、SUBSTR()函數(shù)、OCCURS()函數(shù)、AT()函數(shù)、ATC()函數(shù)、STUFF()函數(shù)、CHRTRAN()函數(shù)、LIKE()函數(shù) §2.3.3 日期和時間函數(shù)
常用日期和時間函數(shù)有:DATE()函數(shù)、TIME()函數(shù)、DATETIME()函數(shù)、YEAR()函數(shù)、MONTH()函數(shù)、DAY()函數(shù)、HOUR()函數(shù)、MINUTE()函數(shù)、SEC()函數(shù) §2.3.4 數(shù)據(jù)類型轉(zhuǎn)換函數(shù)
常用數(shù)據(jù)類型轉(zhuǎn)換函數(shù)有:STR()函數(shù)、VAL()函數(shù)、CTOD()函數(shù)、CTOT()函數(shù)、DTOC()函數(shù)、TTOC()函數(shù)、宏替換函數(shù) §2.3.5 測試函數(shù)
常用測試函數(shù)有:BETWEEN()函數(shù)、ISNULL()函數(shù)、EMPTY()函數(shù)、VARTYPE()函數(shù)、EOF()函數(shù)、BOF()函數(shù)、RECNO()函數(shù)、RECCOUNT()函數(shù)、IIF()函數(shù)、DELETED()函數(shù) §2.4 程序與程序文件 §2.4.1 程序的概念
定義:程序是能夠完成一定任務(wù)的命令的有序集合。這組命令被存放在稱為程序文件或命令文件的文本文件中。
程序中經(jīng)常插入注釋,以提高程序的可讀性。注釋為非執(zhí)行代碼,不會影響程序的功能。
注釋方式:NOTE<注釋內(nèi)容>或*<注釋內(nèi)容>,以NOTE或*開頭的代碼行為注釋行,一般用于對下面一段命令的說明。
&&<注釋內(nèi)容>,命令行后可添加注釋,對所在行命令的說明。
§2.4.2 程序文件的建立與執(zhí)行
1.程序文件的建立
2.打開、修改程序文件 3.執(zhí)行程序文件
§2.4.3 簡單的輸入/輸出/命令
1.INPUT命令: INPUT [<字符表達式>] TO <內(nèi)存變量> 2.ACCEPT命令:ACCEPT [<字符表達式>] TO <內(nèi)存變量> 3.WAIT命令:WAIT [<字符表達式>] [TO <內(nèi)存變量>] [WINDOW [AT <行>,<列>]][NOWAIT] [CLEAR | NOCLEAR] [TIMEOUT <數(shù)值表達式>] §2.5 程序的基本結(jié)構(gòu) §2.5.1 選擇結(jié)構(gòu)
1.簡單形式的條件語句 IF <條件> <語句序列1> ENDIF 2.一般形式的條件語句
IF <條件> <語句序列1> ELSE <語句序列2> ENDIF 3.多分支語句
DO CASE CASE <條件1> <語句序列1> CASE <條件2> <語句序列2> ?? CASE <條件n> <語句序列n> [OTHERWISE <語句序列>] ENDCASE §2.5.2 循環(huán)結(jié)構(gòu)
1.DO WHILE-ENDDO語句
DO WHILE <條件> <命令序列> [LOOP] [EXIT] ENDDO 2.FOR語句
FOR <循環(huán)變量>=<初值> to <終值> [step<步長>] <循環(huán)體> [EXIT] [LOOP] ENDFOR|NEXT 3.SCAN-ENDSCAN語句
SCAN [<范圍>] [FOR <條件1>] [WHILE<條件2>] <循環(huán)體> [LOOP] [EXIT] ENDSCAN §2.6 多模塊程序設(shè)計
模塊是一個相對獨立的程序段,它可以被其他模塊所調(diào)用,也可以去調(diào)用其他的模塊。通常,把被其他模塊調(diào)用的模塊稱為子程序,把調(diào)用其他模塊而沒有被其他模塊調(diào)用的模塊稱為主程序?!?.6.1 模塊的定義和調(diào)用
1.模塊的定義:模塊可以是命令文件,也可以是過程。
語法格式:
PROCEDURE | FUNCTION<過程名> <命令序列> [RETURN[<表達式>]] [ENDPROC︱
格式1: SET PROCEDURE TO 功能:關(guān)閉所有打開的過程文件
格式2:RELEASE PROCEDURE <過程文件1>[,<過程文件2>,?] 2.模塊調(diào)用
格式1:DO <文件名>︱<過程名> 格式2:<文件名>︱<過程名>()
§2.6.2 參數(shù)傳遞
1.PARAMETERS和LPARMETERS語句傳遞參數(shù)
PARMETERS<形參變量1>[,<形參變量2>,?] LPARMETERS <形參變量1>[,<形參變量2>,?] 2.調(diào)用模塊程序
格式1:DO <文件名>︱<過程名>WITH<實參1>[,<實參2>,?] 格式2:DO <文件名>︱<過程名>(<實參1>[,<實參量2>,?])
§2.6.3 變量的作用域
1.變量的作用域:指變量在什么范圍內(nèi)是有效的或者能夠被訪問的。
內(nèi)存變量分類:公共變量、私有變量、局部變量 2.變量的隱藏
開發(fā)應(yīng)用程序時,主程序與子程序不一定是由同一個人來設(shè)計的,子程序中用到的變量實際上在主程序中已經(jīng)建立,子程序的運行會無意間改變主程序中變量的取值。為了解決這個問題,可以采用在子程序中使用PRIVATE命令隱藏主程序中可能存在的變量,使得這些變量在子程序中暫時無效。
格式:PRIVATE <內(nèi)存變量表> PRIVATE ALL[LIKE<通配符>|EXCEPT<通配符>] 本章小結(jié):
本章主開始先介紹了語言的一些基本成分,包括常量、變量、函數(shù)和表達式,同時也介紹了一些相關(guān)的命令,在后半部分主要介紹了程序設(shè)計的基本內(nèi)容,包括程序的概念、程序的基本結(jié)構(gòu)、多模塊程序設(shè)計等。通過本章的學(xué)習(xí)要求同學(xué)們對程序設(shè)計有初步的了解,并且能編寫小的算法程序來進行特定的數(shù)據(jù)處理。本章作業(yè):
上機練習(xí)課后習(xí)題三
教學(xué)后記:
第3章 VF數(shù)據(jù)庫及操作
本章重點與學(xué)習(xí)目標(biāo): ? 了解VF項目管理器 ? 熟悉VF數(shù)據(jù)庫
? 數(shù)據(jù)庫的創(chuàng)建方法 ? 數(shù)據(jù)庫的應(yīng)用 ? 數(shù)據(jù)庫的修改 ? 數(shù)據(jù)庫的刪除
? 掌握VF數(shù)據(jù)庫表的相關(guān)操作
? 數(shù)據(jù)庫表、自由表的創(chuàng)建 ? 表結(jié)構(gòu)的修改
? 數(shù)據(jù)庫表的關(guān)閉與打開 ? 數(shù)據(jù)庫表的基本操作
? 掌握數(shù)據(jù)庫表索引
? 索引的類型 ? 索引的建立
? 了解數(shù)據(jù)完整性相關(guān)概念 教學(xué)器材:
多媒體教學(xué)
教學(xué)課時:4學(xué)時
§3.1 Visual FoxPro數(shù)據(jù)庫及其建立 §3.1.1 基本概念
數(shù)據(jù)庫:數(shù)據(jù)庫是一個邏輯上的概念和手段,通過一組系統(tǒng)文件將相互關(guān)聯(lián)的數(shù)據(jù)庫表及其相關(guān)的數(shù)據(jù)庫對象統(tǒng)一組織和管理。§3.1.2 建立數(shù)據(jù)庫
常用方法:(1)使用項目管理器中建立數(shù)據(jù)庫
(2)使用“新建”對話框建立數(shù)據(jù)庫(3)使用命令方式建立數(shù)據(jù)庫
格式:CREATE DATABASE[Databasename|?] §3.1.3 使用數(shù)據(jù)庫
常用方法:(1)在“項目管理器”中打開數(shù)據(jù)庫
(2)通過“打開”對話框打開數(shù)據(jù)庫(3)使用命令方式打開數(shù)據(jù)庫 格式:OPEN DATABASE §3.1.4 修改數(shù)據(jù)庫
常用方式:(1)從項目管理器中打開數(shù)據(jù)庫設(shè)計器
(2)用“打開”對話框打開數(shù)據(jù)庫設(shè)計器
§3.1.5 刪除數(shù)據(jù)庫
常用方法:(1)使用項目管理器刪除數(shù)據(jù)庫
(2)使用命令方式刪除數(shù)據(jù)庫 格式:DELETE DATABASE DatabaseName|? [DELETETABLES] [RECYCLE] §3.2 建立數(shù)據(jù)庫表
§3.2.1 在數(shù)據(jù)庫中建立表
方法:(1)使用項目管理器建立數(shù)據(jù)庫表
(2)使用“新建”或CREATE命令建立數(shù)據(jù)庫表
§3.2.2 修改表結(jié)構(gòu)
方法:(1)在“項目管理器”中修改表結(jié)構(gòu)
(2)在“數(shù)據(jù)庫設(shè)計器”中修改表結(jié)構(gòu)(3)使用命令修改表結(jié)構(gòu)
如果當(dāng)前不在數(shù)據(jù)庫設(shè)計器中,則首先要用USE命令打開要修改的表,然后使用命令方式MODIFY STRUCTURE打開表設(shè)計器。
§3.3 表的基本操作
§3.3.1 使用瀏覽器操作表
方法:(1)在項目管理器中將數(shù)據(jù)庫展開至表,并且選擇要操作的表,然后單擊“瀏覽”命令按鈕即可。(2)在數(shù)據(jù)庫設(shè)計器中選擇要操作的表,然后從“數(shù)據(jù)庫”菜單中
選擇“瀏覽”,或者對要操作的表單擊鼠標(biāo)右鍵,然后從快捷菜單中選擇“瀏覽”。(3)在命令窗口中,用USE命令打開要操作的表,然后輸入BROWSE 命令來瀏覽表。
§3.3.2 增加記錄的命令
APPEND命令: APPEND命令是在表的尾部增加一個或多個新記錄。
格式:APPEND或APPEND BLANK INSERT命令: INSERT命令可以在表的任意位置插入新的記錄。
格式:INSERT [BEFORE][BLANK] §3.3.3 刪除記錄的命令
邏輯刪除: DELETE [FOR<邏輯表達式>] 恢復(fù)記錄的命令: RECALL [FOR<邏輯表達式>] 物理刪除有刪除標(biāo)記的記錄: PACK 物理刪除表中的全部記錄: ZAP §3.3.4 修改記錄的命令
EDIT或CHANGE命令交互修改:這兩個命令均用于交互式地對當(dāng)前表記錄進行編輯、修改,操作界面類似于APPEND界面。修改后用CTRL+W或ESC退出界面
REPLACE命令直接修改: REPLACE 字段名1 WITH 表達式1 [,字段名2 WITH 表達式2]? [FOR 表達式] §3.3.5 顯示記錄的命令
LIST/DISPLAY命令: LIST/DISPLAY [[FIELDS] Fiedlist] [FOR lExpression1] [OFF] [TO PRINTER [PROMPT] | TO FILE FileName] §3.3.6 查詢定位命令
用GO、GOTO命令直接定位: GO 記錄號 |TOP | BOTTOM SKIP命令: SKIP [nRecords] 用LOCATE命令定位: LOCATE FOR 條件表達式
§3.4 索引
§3.4.1 基本概念 定義:VFP索引是指由指針構(gòu)成的文件,這些指針邏輯上按照索引關(guān)鍵字的值進行排序。
分類:主索引、候選索、唯一索引、普通索引 §3.4.2 在設(shè)計器中建立索引
1.單項索引
2.復(fù)合字段索引:在多個字段上的索引稱做復(fù)合字段索引。
3.索引文件的種類:非結(jié)構(gòu)單索引文件、非結(jié)構(gòu)復(fù)合索引文件、結(jié)構(gòu)復(fù)合索引文件
§3.4.3 用命令建立索引
命令:INDEX ON eExpression TO IDXFileName|TAG TagName [OF CDXFileName] [FOR lExpresssion][COMPACT] [ASCENDING|DESCENDING] [UNIQUE|CANDIDATE] [ADDITIVE] §3.4.4 使用索引
命令格式:SET ORDER TO [ nIndexNumber | [TAG] TagName ] [ASCENDING|DESCENDING] §3.4.5 使用索引快速定位
Seek命令格式:SEEK eExpression [ORDER nIndexNumber | [TAG]
TagName ][ASCENDING|DESCENDING] §3.4.6 刪除索引
格式1:DELETE TAG TagName1 格式2:DELETE TAG ALL §3.5 數(shù)據(jù)完整性
§3.5.1 實體完整性與主關(guān)鍵字
實體完整性是保證表中記錄唯一的特性,在VFP中利用主關(guān)鍵字和候選索引字來保證表中記錄的惟一性,即實體惟一性?!?.5.2 域完整性與約束規(guī)則
域完整性:通過限定字段的取值類型和取值范圍來保證域完整性,還可以進一步通過域約束規(guī)則來保證域完整性。約束規(guī)則也稱作字段有效性規(guī)則,用于檢驗輸入數(shù)據(jù)的正確性。
§3.5.3 參照完整性與表之間的聯(lián)系
建立參照完整性:(1)建立表之間的“永久聯(lián)系”。
(2)設(shè)置參照完整性約束。
§3.6 自由表
§3.6.1 數(shù)據(jù)庫表與自由表
創(chuàng)建自由表:(1)使用項目管理器創(chuàng)建自由表
(2)利用菜單方式創(chuàng)建自由表
(3)利用命令窗口的create命令創(chuàng)建自由表
§3.6.2 將自由表添加到數(shù)據(jù)庫
方法:(1)使用項目管理器添加自由表
(2)使用數(shù)據(jù)庫設(shè)計器添加自由表(3)利用窗口命令添加自由表 §3.6.3 從數(shù)據(jù)庫中移出表
方法:(1)使用項目管理器移出表
(2)使用數(shù)據(jù)庫設(shè)計器移出表(3)利用命令窗口方式移去表
§3.7 多個表的同時使用
§3.7.1 多個工作區(qū)的概念
多工作區(qū): VF中在一個工作區(qū)中可以使用一個表,如果在同一時刻需要打開多個表,則只需要在不同的工作區(qū)中打開不同的表。系統(tǒng)默認(rèn)的總是在第1個工作區(qū)中工作,如果沒有指定工作區(qū),實際是都是在第1個工作區(qū)打開表和操作表。
利用命令窗口選擇工作區(qū): SELECT nWorkAreca | cTabeleAlias §3.7.2 使用不同工作區(qū)的表
Visual FoxPro也允許利用IN 命令在一個工作區(qū)內(nèi)使用另一個工作區(qū)的表。即命令: In nWorkAreca | cTabeleAlias §3.7.3 表之間的聯(lián)系
建立臨時關(guān)聯(lián): SET RELATION TO eExpression1 INTO nWorkAreca | cTabeleAlias
§3.8 排序
排序是將記錄按需要的順序重新排列,產(chǎn)生一個新的數(shù)據(jù)庫文件,實現(xiàn)從物理上對數(shù)據(jù)庫的重新排列。
物理排序: SORT TO TableName ON FieldName1[/A | /D] [/C] [, FieldName2 [/A | /D] [/C] ?] [ASCENDING | DESCENDING] [FOR lExpression1] [ FIELDS FieldNamelist ] 本章小結(jié)
本章主要介紹了VF數(shù)據(jù)庫相關(guān)概念與操作,數(shù)據(jù)庫表的創(chuàng)建與基本操作,表索引的創(chuàng)建。通過本章的學(xué)習(xí)要求掌握數(shù)據(jù)庫的基本操作,表的建立與結(jié)構(gòu)的設(shè)置,索引的建立方法,了解數(shù)據(jù)的完整約束。
本章作業(yè):
上機聯(lián)系課后習(xí)題三
教學(xué)后記:
第4章 關(guān)系數(shù)據(jù)庫標(biāo)準(zhǔn)語言SQL 本章重點與學(xué)習(xí)目標(biāo): ? SQL語言概述
? 了解SQL語言的相關(guān)知識 ? 掌握SELECT語句的使用方法
? 查詢功能
? 掌握SELECT語句的使用方法
? 了解使用謂詞和量詞的復(fù)雜查詢語句
? 操作和定義功能
? 掌握插入、更新和刪除等操作語句
? 掌握表的定義、刪除和結(jié)構(gòu)修改等定義語句 ? 掌握視圖的定義方法
教學(xué)器材:
多媒體教學(xué)
教學(xué)課時:8學(xué)時
§4.1 SQL概述
SQL定義:SQL(Structured Query Language)是一種非過程化的語言,也是結(jié)構(gòu)化查詢語言的縮寫,是關(guān)系數(shù)據(jù)庫的標(biāo)準(zhǔn)語言。
§4.2 查詢功能
SQL的核心是查詢,SQL的查詢命令也稱SELECT命令,它提供了簡單而又豐富的SELECT數(shù)據(jù)查詢語句。語法格式:
SELECT [ALL | DISTINCT] [TOP nExpr [PERCENT][Alias.] Select_Item [AS Column_Name][,[Alias.] Select_Item [AS Column_Name]?]FROM [FORCE][DatabaseName!] Table [[AS] Local_Alias][[INNER |LEFT [OUTER] | RIGHT [OUTER] | FULL [OUTER] JOIN[DatabaseName!] Table [[AS] Local_Alias][ON JoinCondition]]?][[INTO Destination][TO FILE FileName [ADDITIVE] | TO PRINTER [PROMPT]| TO SCREEN]][PREFERENCE PreferenceName][NOCONSOLE][PLAIN][NOWAIT] [WHERE JoinCondition [AND JoinCondition?][AND |OR FilterCondition [AND | OR FilterCondition?]]][GROUP BY GroupColumn [,GroupColumn?]][HAVING FilterCondition][UNION [ALL] SELECTCommand][ORDER BY Order_Item [ASC | DESC][,Order_Item [ASC | DESC]?]] §4.2.1 簡單查詢
定義:簡單查詢是針對單個表的查詢,由SELECT和FROM短語構(gòu)成無條件查詢或由SELECT、FROM和WHERE短語構(gòu)成條件查詢。
舉例:課本例4.1~4.5 §4.2.2 簡單的連接查詢
定義:簡單聯(lián)接查詢也是一類基于多個表的查詢,與嵌套查詢的區(qū)別是要查詢的結(jié)果可以出自多個表中,而嵌套查詢的結(jié)果是基于一個表中。舉例:課本例4.6與例4.7 §4.2.3 嵌套查詢
定義:嵌套查詢基于多個關(guān)系的查詢,查詢的結(jié)果是來自一個表,而查詢的條件卻涉及到多個表。
舉例:課本例4.8、4.9與例4.10 §4.2.4 幾個特殊運算符
運算符:LIKE和 between ? and 舉例:課本例4.11、4.12與例4.13 §4.2.5 排序
格式:ORDER BY Order_Item [ASC | DESC][,Order_Item [ASC |DESC]?] 舉例:課本例4.14與例4.15 §4.2.6 簡單的計算查詢
字段函數(shù):COUNT、SUM、AVG、MAX、MIN 舉例:課本例4.16~4.20 §4.2.7 分組與計算查詢
格式:GROUP BY GroupColumn [,GroupColumn?] [HAVING FilterCondition 舉例:課本例4.21與例4.22 §4.2.8 利用空值查詢
空值:NULL值
舉例:課本例4.23與例4.24 §4.2.9 別名與自連接查詢
格式:<關(guān)系名><別名> 舉例:課本例4.25 §4.2.10 內(nèi)外層互相關(guān)嵌套查詢
前面討論的都是外層查詢依賴于內(nèi)層查詢的結(jié)果,實際上,有時也需要內(nèi)、外層互相關(guān)的查詢,這是內(nèi)層查詢的條件需要外層查詢提供值,而外層查詢的條件需要內(nèi)層查詢的結(jié)果。舉例:課本例4.26 §4.2.11 使用量詞和謂詞的查詢
格式說明:<表達式> <比較運算符> [ ANY | ALL |SOME ](子查詢)和[NOT] EXISTS(子查詢)舉例:課本例4.27~4.30 §4.2.12 超連接查詢
分類:左聯(lián)接、右聯(lián)接、完全聯(lián)接 命令格式:SELECT??FROM Table INNER | LEFT | RIGHT | FULL JOIN Table ON JoinCondition WHERE?? 舉例:課本例4.31~4.34 §4.2.13 集合的并運算
定義:并運算是將兩個SELECT語句的查詢結(jié)果合并成一個查詢結(jié)果。運算符:UNION §4.2.14 VF SQL SELECT的幾個特殊選項
1.顯示部分結(jié)果
2.將查詢結(jié)果放到數(shù)組中 3.將查詢結(jié)果放到臨時文件中 4.將查詢結(jié)果存放到永久表中 5.將查詢結(jié)果存放到文本文件中 6.將查詢結(jié)果直接輸出到打印機 舉例:課本例4.35、4.36 §4.3 操作功能
§4.3.1 插入數(shù)據(jù)
格式一:INSERT INTO dbf_name[(fname1[,fname2,?])] VALUES(eExpression1[,eExpession2,?])格式二:INSERT INTO dbf_name from ARRAY ArrayName | from memvar §4.3.2 更新數(shù)據(jù)
格式:UPDATE TableName
set Column_Name1=eExpession1 [,Column_Name2=eExpession2?] where condition §4.3.3 刪除數(shù)據(jù)
格式:delete from TableName [where condition] §4.4 定義功能
§4.4.1 表的定義
通過create table命令來建立表,格式為:
create table | DBF TableName1 [NAME LongTableName ] [FREE](FieldName1 FieldType[(nFieldWidth [,nPrecision])] [NULL|NOT NULL] [CHECK lExpession1 [ ERROR cMessageText1]] [DEFAULT eExpession1] [PRIMARY KEY | UNIQUE] [REFERENCES TableName2 [TAG TagName1]] [NOCPTANS] [, FieldName2 ? ] [, PRIMARY KEY eExpression2 TAG TagName2 |, UNIQUE eExpession3 TAG TagName3] [, FOREIGN KEY eExpression4 TAG TagName4 [NODUP] REFERENCES TableName3 [TAG TagName5]] [, CHECK lExpression2 [ERROR cMessageText2]])| FROM ARRAY ArrayName §4.4.2 表的刪除
命令為:DROP TABLE table_name
直接從數(shù)據(jù)庫刪除表對應(yīng)的文件。如果是數(shù)據(jù)庫中的表并且相應(yīng)的數(shù)據(jù)庫是當(dāng)前數(shù)據(jù)庫,則從數(shù)據(jù)庫中刪除了表,否則雖然從磁盤上刪除了表文件,但是在數(shù)據(jù)庫中的信息卻沒有刪除,此后會出現(xiàn)錯誤提示?!?.4.3 表結(jié)構(gòu)的修改
用三種命令格式,格式1為:
ALTER TABLE TableName1 ADD | ALTER [COLUMN] FieldName1
FieldType [(nFieldWidth [, nPrecision ])] [NULL | NOT NULL] [CHECK lExpression1 [ERROR cMessageText1]] [DEFAULT eExpression1] [PRIMAY KEY | UNIQUE] [REFEENCES TableName2 [TAG TagName1]] 格式2為:
ALTER TABLE TableName1 ALTER [COLUMN] FieldName2 [NULL|NOT NULL] [SET DEFAULT eExpression2] [SET CHECK lExpression2 [ERROR cMessageText2]] [DOP DEFAULT ] [DROP CHECK] 格式3:
ALTER TABLE TableName1 [DROP [COLUMN] FieldName3] [SET CHECK lExpression3 [ERROR cMessageText3]] [DROP CHECK] [ADD PRIMARY KEY eExpression3 TAG TagName2 [FOR lExpression4]] [DROP PRIMARY KEY ] [ADD UNIQUE eExpression4 [TAG TagName3 [FOR lExpression5]]] [DROP UNIQUE TAG TagName4 ] [ADD FOREING KEY [eExpression5] TAG TagName4 [FOR lExpression6] REFERENCES TagName2 [TAG TagName5] [DROP FOREIGN KEY TAG TagName6 [SAVE]] [ RENAME COLUMN FieldName4 TO FieldName5] §4.4.4 視圖的定義
格式:CREATE VIEW view_name AS select_statement
本章小結(jié):
本章比較全面地介紹了關(guān)系數(shù)據(jù)庫標(biāo)準(zhǔn)語言SQL,重點介紹了SQL語言的查詢語句。通過本章的學(xué)習(xí),要求掌握SQL查詢語句,并對其數(shù)據(jù)操作和定義有一定的掌握。本章作業(yè):
上機練習(xí)課后習(xí)題三
教學(xué)后記:
第5章 查詢與視圖
本章重點與學(xué)習(xí)目標(biāo): ? 熟悉查詢設(shè)計器
? 查詢設(shè)計器的各個選項 ? 運用查詢設(shè)計器創(chuàng)建查詢
? 掌握VF視圖的相關(guān)知識
? 視圖的相關(guān)概念
? 視圖設(shè)計器的運用方法
? 視圖的創(chuàng)建及數(shù)據(jù)更新方法
教學(xué)器材:
多媒體教學(xué)
教學(xué)課時:2學(xué)時
§5.1查詢
§5.1.1查詢的概念
定義:查詢是指向一個數(shù)據(jù)庫發(fā)出的檢索信息的請求,它使用一些條件提取特定的記錄。實質(zhì)上就是一個預(yù)先定義好的SOL SELECT語句,以擴展名為qpr的文本文件保存在磁盤上的?!?.1.2查詢設(shè)計器
1.打開查詢設(shè)計器建立查詢 2.利用查詢向?qū)Ы⒉樵?§5.1.3建立查詢
例5.1 建立一個含有倉庫號、職工號、城市和工資信息的查詢
例5.2 在以上基礎(chǔ)上為查詢增加查詢計算表達式,計算出年工資。例5.3 為查詢設(shè)計排序,先按倉庫號升序排列,再按工資降序排列。例5.4 利用分組功能統(tǒng)計各倉庫年工資額的合計?!?.1.4查詢設(shè)計器的局限性
1.當(dāng)建立查詢并存盤后將產(chǎn)生一個擴展名為qpr的文本文件。
2.如果熟悉SOL SELECT,則可以直接用各種文本編輯器,通過自己寫的SOL SELECT語句建立查詢,最后把它保存查詢設(shè)計器的局限性為擴展名為qpr的文件。
3.查詢設(shè)計器只能建立一些比較規(guī)則的查詢,而復(fù)雜的查詢(嵌套查詢)就不行了。
§5.1.5使用查詢
1.查詢的運行
2.設(shè)計查詢的輸出形式 §5.2視圖
§5.2.1視圖的概念
視圖:視圖是一種基于表或其他視圖而定制的虛擬表,因此,視圖兼有“查詢”和“表”的特點。
分類:本地視圖、遠程視圖: §5.2.2建立視圖
建立視圖的方法:
1.使用CREATE VIEW命令打開視圖設(shè)計器建立視圖; 2.選擇菜單“文件→新建”建立視圖; 3.在“項目管理器”中建立視圖; 4.直接用SQL命令建立視圖?!?.2.3遠程視圖與連接
1.定義數(shù)據(jù)源和連接:可以在VFP內(nèi)部定義數(shù)據(jù)源和連接。
2.建立連接:使用項目管理器建立連接、使用菜單方式建立連接、使用CRETE CONNECTION 命令 3.建立遠程視圖
? 連接建立好之后就可以建立遠程視圖了。
? 建立遠程視圖和建立本地視圖的方法基本上是一樣的,只是在打開視圖設(shè)計器時有所不同。
? 建立遠程視圖時,一般要根據(jù)網(wǎng)絡(luò)上其它計算機或其它數(shù)據(jù)庫中的表建立視圖,所以需要首先選擇“連接”或“數(shù)據(jù)源”,然后再進入界面建立遠程視圖。
§5.2.4視圖與數(shù)據(jù)更新
1.指定可更新的表 2.指定可更新的字段 3.檢查更新合法性 4.使用更新方式 §5.2.5使用視圖
1.視圖操作 2.使用視圖
本章小結(jié):
本章主要介紹了Visual FoxPro檢索和操作數(shù)據(jù)庫的兩個基本工具或手段:查詢和視圖,它們都是根據(jù)基本表定義的,定義方式也類似,通過本章的學(xué)習(xí)要求掌握查詢和視圖的建立與使用方法。
本章作業(yè):
上機練習(xí)課后習(xí)題三
教學(xué)后記:
第二篇:VF程序設(shè)計教學(xué)大綱
《VF程序設(shè)計》教學(xué)大綱
一、課程名稱:《VF程序設(shè)計》
課程負(fù)責(zé)人:袁明蘭
二、學(xué)時與學(xué)分:48
三、適應(yīng)專業(yè):外語、建筑設(shè)計技術(shù)、工程監(jiān)理、藝術(shù)、旅游等專業(yè)
四、課程教材:張彥芳等編著《Visual FoxPro程序設(shè)計》,中國地質(zhì)大學(xué)出版社,2011年
五、參考教材:蘇忠等.Visual Foxpro 6.0中文版應(yīng)用與開發(fā).電子工業(yè)出版社,2003 楊國才編著《Visual FoxPro程序設(shè)計》,重慶大學(xué)出版社,2002年
謝膺白.Visual Foxpro 6.0中文版教程.人民郵電出版社,2002 肖金秀.新編Visual Foxpro 6.0應(yīng)用基礎(chǔ)教程.中國石化出版社,2011
六、課程的性質(zhì)、目的和任務(wù):
本課程是非計算機專業(yè)的主要公共基礎(chǔ)課。
通過本課程的學(xué)習(xí),使非計算機專業(yè)的學(xué)生掌握數(shù)據(jù)庫的基本概念和VFP的基礎(chǔ)知識,熟練掌握數(shù)據(jù)庫的基本操作,并能進行初步的程序設(shè)計,能應(yīng)用VFP進行數(shù)據(jù)庫管理。
七、課程的基本要求:
通過理論教學(xué)和實驗教學(xué),達到如下基本要求。
1.了解計算機數(shù)據(jù)管理的發(fā)展、掌握數(shù)據(jù)系統(tǒng)、關(guān)系數(shù)據(jù)庫的基本概念,掌握面向?qū)ο蟪绦蛟O(shè)計的概念,理解數(shù)據(jù)的一致性和完整性。
2.了解Visual FoxPro的發(fā)展、特點及安裝,掌握Visual FoxPro 6.0的啟動與關(guān)閉。熟悉Visual FoxPro 6.0系統(tǒng)界面,理解其幾種工作方式。了解項目管理器、常用項目元素與文件類型、創(chuàng)建項目文件,及項目管理器的使用。
3.掌握常量與變量、數(shù)據(jù)類型,了解常用的文件類型,掌握幾種常用函數(shù)的應(yīng)用、運算符與表達式的應(yīng)用,掌握內(nèi)存變量的幾種操作,掌握數(shù)組的應(yīng)用。理解Visual FoxPro 6.0命令及命令和子句的使用規(guī)則。
4.掌握數(shù)據(jù)表的基本操作(表結(jié)構(gòu)及字段的基本要素、表的創(chuàng)建和修改[使用表設(shè)計器]、表的打開與關(guān)閉、數(shù)據(jù)記錄的輸入、顯示和編輯、錄指針與定位、邏輯與物理刪除表的記錄、記錄的復(fù)制與添加、表的索引、表的查詢、表的運算等),掌握多表工作區(qū)及其應(yīng)用。
5.理解數(shù)據(jù)庫的概念與基本組成、掌握數(shù)據(jù)庫的基本操作、理解數(shù)據(jù)庫表的數(shù)據(jù)完整性、熟練掌握數(shù)據(jù)庫表之間的關(guān)聯(lián)、了解參照完整性。
6.理解程序與結(jié)構(gòu)化程序設(shè)計的基本概念,掌握程序文件的建立、執(zhí)行與編輯,掌握程序設(shè)計的基本命令,掌握程序的基本控制結(jié)構(gòu),掌握變量的作用域
與生存期,理解模塊化程序設(shè)計方法與模塊化程序設(shè)計,掌握子程序和過程與自定義函數(shù)及其調(diào)用,學(xué)會程序的調(diào)試,熟練掌握結(jié)構(gòu)化程序設(shè)計簡單應(yīng)用。
7.掌握面向?qū)ο蟮幕靖拍?、掌握對象及其屬性、事件、方法,了解類的?chuàng)建與使用。
8.熟練掌握表單的創(chuàng)建與管理,掌握猜數(shù)游戲設(shè)計、計算器設(shè)計、學(xué)生成績查詢與修改界面設(shè)計、軟件登錄界面與權(quán)限設(shè)計。
9.理解查詢的概念、掌握用查詢設(shè)計器創(chuàng)建查詢、創(chuàng)建多表查詢,用查詢向?qū)?chuàng)建查詢,運行查詢。了解用視圖設(shè)計器創(chuàng)建本地視圖、了解用視圖向?qū)?chuàng)建本地視圖、視圖的使用、利用視圖更新源表數(shù)據(jù)。
10.了解SQL語言概述、熟練掌握SQL語句對數(shù)據(jù)表的操作(創(chuàng)建數(shù)據(jù)表,SQL修改表結(jié)構(gòu),SQL查詢數(shù)據(jù)表,SQL對數(shù)據(jù)表運算,SQL刪除表記錄,SQL更新表的記錄內(nèi)容)。
11.了解菜單設(shè)計器、標(biāo)準(zhǔn)菜單及快捷菜單的設(shè)計。了解報表基本概念、報表的數(shù)據(jù)來源、報表設(shè)計器,了解報表的創(chuàng)建(用報表向?qū)?chuàng)建、用報表設(shè)計器創(chuàng)建),了解設(shè)置報表(給報表添加帶區(qū)、改變報表的列標(biāo)簽、修改報表表達式、增加表格線、頁面設(shè)置、字體設(shè)置、布局設(shè)置、在報表中使用數(shù)據(jù)分組、匯總區(qū)),了解使用報表(報表命令、報表預(yù)覽和打印機設(shè)置),了解標(biāo)簽設(shè)計。
12.了解應(yīng)用需求分析、數(shù)據(jù)庫與表設(shè)計、系統(tǒng)功能模塊設(shè)計、菜單設(shè)計、用戶界面設(shè)計、查詢設(shè)計、.報表設(shè)計、系統(tǒng)維護設(shè)計、系統(tǒng)模塊調(diào)試、用項目管理器連編成應(yīng)用程序、應(yīng)用程序管理、發(fā)布樹、應(yīng)用程序發(fā)布和安裝。
八、課程的主要內(nèi)容:
㈠ 理論教學(xué) 1.數(shù)據(jù)庫基礎(chǔ)知識 數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)和數(shù)據(jù)庫系統(tǒng)的基本概念、數(shù)據(jù)管理技術(shù)的產(chǎn)生和發(fā)展;數(shù)據(jù)庫系統(tǒng)的組成及體系結(jié)構(gòu);數(shù)據(jù)庫管理系統(tǒng)(DBMS)的功能;關(guān)系模式的基本術(shù)語、主要操作和數(shù)據(jù)完整性約束;面向?qū)ο蟪绦蛟O(shè)計的基本概念(包括類、對象、事件、方法和屬性等)。
2.Visual FoxPro 系統(tǒng)簡介
Visual FoxPro的發(fā)展、特點及安裝、啟動與關(guān)閉。Visual FoxPro 6.0系統(tǒng)界面、幾種工作方式,項目管理器、及項目管理器的使用。3.Visual Foxpro應(yīng)用基礎(chǔ)
常量與變量、數(shù)據(jù)類型,文件類型、幾種常用函數(shù)、運算符與表達式的應(yīng)用,內(nèi)存變量的幾種操作,數(shù)組的應(yīng)用,Visual FoxPro 6.0命令及命令和子句的使用規(guī)則。
4.數(shù)據(jù)表的基本操作 數(shù)據(jù)表的基本操作(表結(jié)構(gòu)及字段的基本要素、表的創(chuàng)建和修改[使用表設(shè)計器]、表的打開與關(guān)閉、數(shù)據(jù)記錄的輸入、顯示和編輯、錄指針與定位、邏輯與物理刪除表的記錄、記錄的復(fù)制與添加、表的索引、表的查詢、表的運算等),多表工作區(qū)及其應(yīng)用。
5.結(jié)構(gòu)化程序設(shè)計
程序與結(jié)構(gòu)化程序設(shè)計的基本概念,程序文件的建立、執(zhí)行與編輯,程序設(shè)計的基本命令,程序的基本控制結(jié)構(gòu),變量的作用域與生存期,模塊化程序設(shè)計方法與模塊化程序設(shè)計,子程序和過程與自定義函數(shù)及其調(diào)用,程序的調(diào)試。6.數(shù)據(jù)庫設(shè)計
數(shù)據(jù)庫的概念與基本組成、數(shù)據(jù)庫設(shè)計器的使用、數(shù)據(jù)庫的建立、打開與關(guān)閉(命令)、數(shù)據(jù)庫表的數(shù)據(jù)完整性、數(shù)據(jù)庫表之間的關(guān)聯(lián)、參照完整性。7.面向?qū)ο蟪绦蛟O(shè)計初步
面向?qū)ο蟮幕靖拍?、對象及其屬性、事件、方法,類的?chuàng)建與使用。8.表單與控件
表單的創(chuàng)建與管理,猜數(shù)游戲設(shè)計、計算器設(shè)計、學(xué)生成績查詢與修改界面設(shè)計、軟件登錄界面與權(quán)限設(shè)計。9.菜單設(shè)計
菜單設(shè)計器、標(biāo)準(zhǔn)菜單及快捷菜單的設(shè)計。10.查詢與視圖
查詢的概念、用查詢設(shè)計器創(chuàng)建查詢、創(chuàng)建多表查詢,用查詢向?qū)?chuàng)建查詢,運行查詢。用視圖設(shè)計器創(chuàng)建本地視圖、用視圖向?qū)?chuàng)建本地視圖、視圖的使用、利用視圖更新源表數(shù)據(jù)。SQL語言概述,對數(shù)據(jù)表的操作(創(chuàng)建(數(shù)據(jù)庫和)數(shù)據(jù)表,SQL修改表結(jié)構(gòu),SQL查詢數(shù)據(jù)表,SQL對數(shù)據(jù)表運算,SQL刪除表記錄,SQL更新表的記錄內(nèi)容)11.報表與標(biāo)簽設(shè)計
查詢的概念、用查詢設(shè)計器創(chuàng)建查詢、創(chuàng)建多表查詢,用查詢向?qū)?chuàng)建查詢,運行查詢。用視圖設(shè)計器創(chuàng)建本地視圖、用視圖向?qū)?chuàng)建本地視圖、視圖的使用、利用視圖更新源表數(shù)據(jù)。SQL語言概述,對數(shù)據(jù)表的操作(創(chuàng)建(數(shù)據(jù)庫和)數(shù)據(jù)表,SQL修改表結(jié)構(gòu),SQL查詢數(shù)據(jù)表,SQL對數(shù)據(jù)表運算,SQL刪除表記錄,SQL更新表的記錄內(nèi)容)。12.應(yīng)用程序的開發(fā)與發(fā)布過程
應(yīng)用需求分析、數(shù)據(jù)庫與表設(shè)計、系統(tǒng)功能模塊設(shè)計、菜單設(shè)計、用戶界面設(shè)計、查詢設(shè)計、.報表設(shè)計、系統(tǒng)維護設(shè)計、系統(tǒng)模塊調(diào)試、用項目管理器連編成應(yīng)用程序、應(yīng)用程序管理、發(fā)布樹、應(yīng)用程序發(fā)布和安裝。
九、先修課程:
本課程是非計算機專業(yè)的基礎(chǔ)課,其先修課程是計算機文化基礎(chǔ)。
十、考核方式:
理論教學(xué)部分占70%,實驗教學(xué)部分占30%,理論教學(xué)部分集中筆試,實驗教學(xué)部分以完成16個實驗和上機考試進行考核。
十一、學(xué)時分配:
講授: 48 學(xué)時
1.數(shù)據(jù)庫基礎(chǔ)知識
2學(xué)時 2.Visual FoxPro 系統(tǒng)簡介
2學(xué)時 3.Visual Foxpro應(yīng)用基
4學(xué)時
4.數(shù)據(jù)表的基本操作
10學(xué)時 5.程序設(shè)計
14學(xué)時 6.數(shù)據(jù)庫設(shè)計
1學(xué)時 7.面向?qū)ο蟪绦蛟O(shè)計初步
2學(xué)時 8.表單與控件
6學(xué)時 9.菜單設(shè)計
1學(xué)時 10.查詢與視圖
2學(xué)時 11.報表與標(biāo)簽設(shè)計 1學(xué)時 12.應(yīng)用程序的開發(fā)與發(fā)布過程 1
學(xué)時
第三篇:《VF程序設(shè)計》教學(xué)大綱
《VF程序設(shè)計》教學(xué)大綱
課程編號:
一、課程性質(zhì)、目的及開課對象 ㈠課程性質(zhì):公共選修課
㈡目的:通過本課程的學(xué)習(xí),使學(xué)生掌握項目管理器、庫、表、菜單、報表、標(biāo)簽、查詢、視圖、表單的設(shè)計和使用;掌握面向?qū)ο蟮木幊谭椒?;理解類、對象、屬性、方法和事件的概念;熟練的使用各種向?qū)Ш驮O(shè)計器,理解在向?qū)Ш驮O(shè)計器中的各項細節(jié)要求;能用visual foxpro設(shè)計一個小型的應(yīng)用程序,從而培養(yǎng)學(xué)生分析問題和綜合解決問題的能力。
㈢開課對象:全院本??茖W(xué)生
二、先修課程 《計算機文化基礎(chǔ)》
三、教學(xué)方法與考核方式
㈠教學(xué)方法:理論和實踐相結(jié)合的方法。本課程操作性和理論性都很強,講授時根據(jù)不同的內(nèi)容選擇多媒體或機房教學(xué),邊講邊練,講練結(jié)合。
㈡考核方式:筆試加上機
四、學(xué)時數(shù)分配 總學(xué)時:32
五、教學(xué)內(nèi)容與學(xué)時
第一章 visual foxpro基礎(chǔ)(1學(xué)時)主要內(nèi)容
1.1 數(shù)據(jù)庫基礎(chǔ)知識:計算機數(shù)據(jù)管理的發(fā)展;數(shù)據(jù)庫系統(tǒng);數(shù)據(jù)模型。1.2 關(guān)系數(shù)據(jù)庫:關(guān)系模型;關(guān)系運算。
1.3 數(shù)據(jù)庫設(shè)計基礎(chǔ):數(shù)據(jù)庫設(shè)計步驟;數(shù)據(jù)庫設(shè)計過程。1.4 visual foxpro系統(tǒng)概述:歷史沿革;VF的特點。重點難點
重點掌握數(shù)據(jù)庫的有關(guān)概念;關(guān)系運算;數(shù)據(jù)庫設(shè)計步驟與過程。學(xué)生掌握要點
掌握數(shù)據(jù)庫的有關(guān)概念、關(guān)系數(shù)據(jù)庫的有關(guān)概念、數(shù)據(jù)庫設(shè)計的步驟與過程。第二章 visual foxpro系統(tǒng)初步(1學(xué)時)主要內(nèi)容
2.1 visual foxpro6.0的安裝與啟動:安裝visual foxpro6.0;啟動visual foxpro6.0。
2.2visual foxpro6.0的用戶界面:visual foxpro6.0的主界面;工具欄的使用;visual foxpro6.0的配置。
2.3 項目管理器:創(chuàng)建項目;使用項目管理器;定制項目管理器。2.4visual foxpro6.0向?qū)?、設(shè)計器、生成器簡介:visual foxpro6.0的向?qū)Аisual foxpro6.0的設(shè)計器、visual foxpro6.0的生成器
重點難點
重點visual foxpro6.0工作界面、工具欄、項目管理器、生成器、向?qū)?、設(shè)計器的理解。
學(xué)生掌握要點
熟練掌握工具欄的使用;掌握VF中項目管理器的使用。第三章 數(shù)據(jù)與數(shù)據(jù)運算(2學(xué)時)主要內(nèi)容
3.1 常量:常量;變量;內(nèi)存變量常用命令。
3.2 表達式:數(shù)值、字符與日期時間表達式;關(guān)系表達式;邏輯表達式。3.3 常用函數(shù):數(shù)值函數(shù);字符函數(shù);日期和時間函數(shù)、數(shù)據(jù)類型轉(zhuǎn)換函數(shù)、測試函數(shù)。
重點難點
重點常量、變量、函數(shù)和表達式。難點對函數(shù)的理解與運用。學(xué)生掌握要點
掌握VF中常量、變量、函數(shù)和表達式的使用。第四章VF數(shù)據(jù)庫及其操作(4學(xué)時)主要內(nèi)容
4.1 visual foxpro數(shù)據(jù)庫及其建立:基本概念;建立數(shù)據(jù)庫、使用數(shù)據(jù)庫、修改數(shù)據(jù)庫、刪除數(shù)據(jù)庫用型字段。
4.2 建立數(shù)據(jù)庫表:在數(shù)據(jù)庫中建立表;修改表結(jié)構(gòu)。
4.3 表的基本操作:使用瀏覽器操作表;增加記錄的命令;刪除記錄的命令;修改記錄的命令;顯示記錄的命令;查詢定位命令。
4.4 索引:基本概念;在表設(shè)計器中建立索引;用命令建立索引;使用索引。4.5 數(shù)據(jù)完整性:實體完整性與主關(guān)鍵字;域完整性與約束規(guī)則;參照完整 2 性與表之間的關(guān)聯(lián)。
4.6 自由表:數(shù)據(jù)庫表與自由表;將自由表添加到數(shù)據(jù)庫;從數(shù)據(jù)庫中移出表。
4.7 多個表的同時使用:多工作區(qū)的概念;使用不同工作區(qū)的表;表之間的關(guān)聯(lián)。
4.8 排序 重點難點
重點庫與表的建立與修改;索引的概念與操作;數(shù)據(jù)完整性的概念與操作。難點是多個表的使用。
學(xué)生掌握要點
熟練掌握庫與表的建立與修改、索引的建立與修改、完整性的設(shè)定與修改。第五章 關(guān)系數(shù)據(jù)庫標(biāo)準(zhǔn)語言SQL(6學(xué)時)主要內(nèi)容 5.1 SQL概述。
5.2 查詢功能:簡單查詢;簡單的聯(lián)接查詢;嵌套查詢;幾個特殊運算符;排序;簡單的計算查詢;分組與計算查詢;利用空值查詢;別名與自聯(lián)接查詢;內(nèi)外層互相關(guān)嵌套查詢;使用量詞和謂詞的查詢;超聯(lián)接查詢;集合的并運算;visual foxpro中sql select的幾個特殊選項。
5.3 操作功能:插入;更新;刪除。
5.4 定義功能:表的定義;表的刪除;表結(jié)構(gòu)的修改;視圖的定義。重點難點
重點SQL查詢、操作、定義。難點SQL多表查詢,表的定義功能。學(xué)生掌握要點
掌握SQL查詢、操作、定義。第六章 查詢與視圖(2學(xué)時)主要內(nèi)容
6.1查詢:查詢設(shè)計器;建立查詢;查詢設(shè)計器的局限性;運行查詢。6.2 視圖:視圖的概念;建立視圖、遠程視圖與連接;視圖與數(shù)據(jù)更新;使用視圖。
重點難點
重點查詢設(shè)計器與視圖設(shè)計器的使用,并用設(shè)計器解決實際問題。
學(xué)生掌握要點
熟練掌握查詢設(shè)計器與視圖設(shè)計器的使用。第七章 程序設(shè)計基礎(chǔ)(4學(xué)時)主要內(nèi)容
7.1 程序與程序文件:程序的概念;程序文件的建立與執(zhí)行;簡單的輸入輸出命令。
7.2 程序的基礎(chǔ)結(jié)構(gòu):選擇結(jié)構(gòu);循環(huán)結(jié)構(gòu);編程實例。
7.3 多模塊程序:模塊的定義和調(diào)用;參數(shù)的偉遞;變量的作用域。7.4 程序的調(diào)試:調(diào)試器的環(huán)境;設(shè)置斷點;調(diào)試菜單。重點難點
重點程序文件的建立與執(zhí)行,順序結(jié)構(gòu),分支結(jié)構(gòu),循環(huán)結(jié)構(gòu),子程序,過程,自定義函數(shù)。難點是子程序,過程,自定義函數(shù)。
學(xué)生掌握要點
熟練掌握程序文件的建立與執(zhí)行,掌握順序、分支、循環(huán)結(jié)構(gòu)的程序設(shè)計方法,掌握過程、自定義函數(shù)的定義與參數(shù)傳遞,掌握程序的調(diào)試方法,掌握消息對話框函數(shù)的使用。
第八章 表單設(shè)計與應(yīng)用(8學(xué)時)主要內(nèi)容
8.1 面向?qū)ο蟮母拍睿簩ο笈c類;子類與繼承。
8.2 visual foxpro基類簡介:visual foxpro基類;容器與控件;事件。8.3 面向?qū)ο蟮某绦蛟O(shè)計方法:基本概念;對象引用。
8.4表單設(shè)計器:表單設(shè)計器環(huán)境;控件的操作與布局;數(shù)據(jù)環(huán)境。8.5常用表單控件:標(biāo)簽控件;命令按鈕控件;命令組控件;文本框控件;編輯框控件;復(fù)選框控件;選項組控件;列表框控件;組合框控件;表格控件;頁框控件。
重點難點
重點是表單向?qū)В韱卧O(shè)計器使用,輸出類控件,輸入類控件,控制類控件,容器類控件。難點各種控件的靈活使用。
學(xué)生掌握要點
熟練掌握表單向?qū)?、表單設(shè)計器的使用,掌握屬性,事件,方法的定義,掌握對象的引用方法。熟練掌握輸出類控件,輸入類控件,控制類控件,容器類控件。掌握每 4 一種控件的常用屬性,常用事件,常用方法,掌握用各種控件解決具體問題,了解連接類控件的使用。
第九章 菜單設(shè)計與應(yīng)用(2學(xué)時)主要內(nèi)容
9.1 visual foxpro系統(tǒng)菜單:菜單結(jié)構(gòu);系統(tǒng)菜單。
9.2 下拉式菜單設(shè)計:菜單設(shè)計的基本過程;定義菜單;用編程方式定義菜單;為頂層表單添加菜單。
9.3快捷菜單設(shè)計 重點難點
重點菜單設(shè)計器的使用,顯示菜單的命令。難點用菜單命令編程。學(xué)生掌握要點
熟練掌握菜單設(shè)計器設(shè)計菜單的方法,掌握顯示菜單命令的使用,了解用菜單命令編寫菜單。
第十章 報表設(shè)計(2學(xué)時)主要內(nèi)容
10.1 創(chuàng)建報表:創(chuàng)建報表文件;報表工具欄。
10.2 設(shè)計報表:報表的數(shù)據(jù)源和布局;在報表中使用控件。
10.3 數(shù)據(jù)分組和多欄報表:設(shè)計分組報表;設(shè)計多欄報表;報表輸出。重點難點
重點報表設(shè)計器操作,報表控件的使用,傳統(tǒng)報表。難點:分組報表。學(xué)生掌握要點
熟練掌握報表設(shè)計器設(shè)計報表,熟練掌握報表控件設(shè)計報表,掌握傳統(tǒng)報表的設(shè)計方法,了解多級分組報表。
第十一章 開發(fā)應(yīng)用程序(4學(xué)時)主要內(nèi)容
11.1 應(yīng)用項目綜合實踐:系統(tǒng)開發(fā)基本步驟;連編應(yīng)用程序;主程序設(shè)計。11.2 應(yīng)用程序生成器:使用應(yīng)用程序向?qū)?;?yīng)用程序生成器;使用應(yīng)用程序生成器。
重點難點
重點開發(fā)VFP數(shù)據(jù)庫應(yīng)用系統(tǒng)的一般步驟,開發(fā)的四個階段,需求分析;數(shù)據(jù)庫設(shè)計;應(yīng)用程序設(shè)計;運行設(shè)計,應(yīng)用程序管理與發(fā)布。難點:代碼的設(shè) 5 計,算法的確定,功能的實施。
學(xué)生掌握要點
掌握用VFP數(shù)據(jù)庫應(yīng)用系統(tǒng)開發(fā)應(yīng)用系統(tǒng)的一般步驟,掌握開發(fā)應(yīng)用系統(tǒng)的四個階段,掌握應(yīng)用程序設(shè)計,運行,調(diào)試,編譯,發(fā)布。
六、教材與教參 ㈠教材
二級教程visual foxpro程序設(shè)計
高等教育出版社
王利主編 ㈡教參目錄
visual foxpro6.0中文版入門與提高
清華大學(xué)出版社
李加福 邸雪峰編 《visual foxpro及其應(yīng)用系統(tǒng)開發(fā)》史濟民、湯觀全,清華大學(xué)出版社,2004年
中文版visual foxpro 編程指南
人民郵電出版社
李雨主編
visual foxpro 6.0程序設(shè)計基礎(chǔ)教程
中國水利水電出版社、上海交通大學(xué)出版社、東南大學(xué)出版社
李正凡主編
visual foxpro 6.0程序設(shè)計基礎(chǔ)教程上機教程
中國水利水電出版社、上海交通大學(xué)出版社、東南大學(xué)出版社
顧浩主編
《VF程序設(shè)計》教學(xué)大綱
公共選修課
計算機系:馬麗君
2007年11月22日
第四篇:第一章 VF數(shù)據(jù)庫基礎(chǔ)教案
第一章 VF數(shù)據(jù)庫基礎(chǔ)
一、什么叫數(shù)據(jù):
是指存儲在某種媒體上的能夠識別的物理符號如:數(shù)字、字母、文字、特殊字符組成的文本形式數(shù)據(jù),還有圖形、動畫、影像、聲音等多媒體數(shù)據(jù),而最多、最常用的是文字?jǐn)?shù)據(jù)。注:數(shù)據(jù)包括:描述事物特性的內(nèi)容和存儲在媒體上的數(shù)據(jù)形式。
二、什么叫數(shù)據(jù)處理?
是指將數(shù)據(jù)轉(zhuǎn)換成信息的過程。
三、數(shù)據(jù)處理的目的(其中核心問題是數(shù)據(jù)管理)計算機對數(shù)據(jù)的管理發(fā)展階段及特點:經(jīng)歷了五個階段:
1、人工管理階段:20世紀(jì)50年代;數(shù)據(jù)和程序不具有獨立性,無法進行長期保存,數(shù)據(jù)不能共享,數(shù)據(jù)冗余大。
2、文件管理階段:20世紀(jì)50年代后期至60年代中后期,程序和數(shù)據(jù)有一定的獨立性,程序和數(shù)據(jù)分開存儲。
3、數(shù)據(jù)庫系統(tǒng)管理;從20世紀(jì)60年代后期開始:特點:數(shù)據(jù)和程序具有較高的獨立性,實現(xiàn)了數(shù)據(jù)共享,減少數(shù)據(jù)冗余(注:但并不是完全避免數(shù)據(jù)冗余)
4、分布式數(shù)據(jù)庫系統(tǒng):20世紀(jì)70年代后期,是數(shù)據(jù)庫技術(shù)和計算機網(wǎng)絡(luò)技術(shù)緊密結(jié)合的產(chǎn)物。
5、面向?qū)ο髷?shù)據(jù)庫系統(tǒng):20世紀(jì)80年代引入計算機科學(xué)領(lǐng)域的一種新的程序設(shè)計技術(shù)模型 特點:就是按照人們認(rèn)識世界和改造世界的習(xí)慣方法對現(xiàn)實世界的客觀事物對象進行最自然的最有效的抽象和表達,同時又以各種嚴(yán)格高效的行為規(guī)范和機制實施客觀事物的有效模擬和處理。注:在數(shù)據(jù)管理技術(shù)的發(fā)展過程中:數(shù)據(jù)庫系統(tǒng)可以實現(xiàn)數(shù)據(jù)共享。
一、數(shù)據(jù)庫系統(tǒng):
1、數(shù)據(jù)庫(DB):是存儲在計算機設(shè)備上結(jié)構(gòu)化的相關(guān)數(shù)據(jù)的集合,它不僅包括描述事物數(shù)據(jù)本身,而且還包括相關(guān)事物之間的聯(lián)系。可以被多個和戶、多個應(yīng)用程序共享
2、數(shù)據(jù)庫應(yīng)用系統(tǒng)(DBAS):是指系統(tǒng)開發(fā)人員利數(shù)據(jù)庫系統(tǒng)資源開發(fā)出來的。
3、數(shù)據(jù)庫管理系統(tǒng)(DBMS):是對數(shù)據(jù)庫的建立,使用和維護進行管理。
4、數(shù)據(jù)庫系統(tǒng)(DBS):是指引進數(shù)據(jù)庫技術(shù)后的計算機系統(tǒng),實現(xiàn)有組織地、動態(tài)地存儲大量相關(guān)數(shù)據(jù)提供數(shù)據(jù)處理和信息資源共享的便利條件。
注:visual Foxpro中的數(shù)據(jù)庫管理系統(tǒng)(DBMS)是操作系統(tǒng)支持下的系統(tǒng)軟件;
數(shù)據(jù)庫DB、數(shù)據(jù)庫系統(tǒng)DBS、數(shù)據(jù)庫管理系統(tǒng)DBMS三者之間的關(guān)系是:DBS包括DB和DBMS。
二、數(shù)據(jù)庫系統(tǒng)的組成:硬件系統(tǒng)、數(shù)據(jù)庫集合、數(shù)據(jù)庫管理系統(tǒng)及相關(guān)軟件、數(shù)據(jù)庫管理員和用戶。
注:數(shù)據(jù)庫系統(tǒng)的特點:
1、實現(xiàn)數(shù)據(jù)共享、減少數(shù)據(jù)冗余
2、采用特定的數(shù)據(jù)模型(即稱為關(guān)系數(shù)據(jù)模型)
3、具有較高的數(shù)據(jù)獨立性
4、有統(tǒng)一的數(shù)據(jù)控制功能。
一、數(shù)據(jù)模型:
1、實體:客觀存在并且可以互相區(qū)別的事物稱為實體,實體可以是實際的事物,也可能是抽象的事件如:學(xué)生、課本屬于實際事物;訂貨、比賽是比較抽象的;
2、實體的屬性:描述實體的特性稱為屬性;如學(xué)生實體用(學(xué)號、姓名、性別、出生日期)等若干屬性的描述。
3、實體集和實體型:
屬性值的集合表示一個實體,而屬性的集合表示一種實體的類型稱為實體型,同類的實體的結(jié)合稱為實體集。
所以在VF中“表”用來存放同一類實體,即實體集。注:表中包括若干字段,字段就是實體的屬性。
字段值的集合組成表中的一條記錄,代表一個具體的實體,即每個紀(jì)錄表示一個實體。
一、實體間聯(lián)系及聯(lián)系的種類:
1、一對一:指主表中的每一條記錄只與相關(guān)表中的一條記錄相關(guān)聯(lián)。
2、一對多:指主表中的每一條記錄與相關(guān)表中的多條記錄相關(guān)聯(lián)。
3、多對多:表現(xiàn)為一個表中的多個記錄在相關(guān)表中同樣有多個記錄與其匹配
二、數(shù)據(jù)模型:
1、層次數(shù)據(jù):用樹型結(jié)構(gòu)表示實體及其實體間聯(lián)系的模型稱為層次模型;像倒掛的樹,用樹型結(jié)構(gòu)表示;
2、網(wǎng)狀模型:用網(wǎng)狀結(jié)構(gòu)表示;
3、關(guān)系模型:(非格式模型)用二維表表示)
三、關(guān)系數(shù)據(jù)庫:一個關(guān)系是由一個二維表來定義的,一個表就是一個關(guān)系;也就是說關(guān)系數(shù)據(jù)庫是由若干表格組成的,在表格中:每行代表著每個記錄,而每列則代表著該表存在的不同屬性。
1、關(guān)系:一個關(guān)系就是一張二維表,通常將一個沒有重復(fù)行、重復(fù)列的二維表看成一個關(guān)系,每個關(guān)系都有一個關(guān)系名。關(guān)系文件擴展名為.dbf,稱為“表”
2、元組:水平方向的行稱為元組,每一行就是一個元組,元組對應(yīng)存儲文件中的一個具體記錄,一個元組對應(yīng)表中的一個記錄。
3、屬性:二維表中垂直方向的列稱為屬性,每一列都有一個屬性名,在VF中屬性表示為字段名,每個字段的數(shù)據(jù)類型、寬度等在創(chuàng)建表的結(jié)構(gòu)時就規(guī)定了。
在VF中一個屬性對表中的一個字段,屬性名對應(yīng)字段名,屬性值對應(yīng)于各條記錄的字段值。
4、域名:字段的取值范圍:指不同元組對同一個屬性的取值所限定的范圍。
5、關(guān)鍵字:屬性或?qū)傩缘慕M合能惟一標(biāo)識各個元組(實體)
6、外部關(guān)鍵字:在本表中不是的關(guān)鍵字,而在另外一個表中是關(guān)鍵字,本表的這個字段(屬性)稱為外部關(guān)鍵字。
四、關(guān)系的特點:
1、關(guān)系必須規(guī)范,表中不能在含表;
2、關(guān)系中不允許有完全相同的元組(記錄)存在;
3、關(guān)系中不允許有相同的屬性名(字段名)存在;
4、關(guān)系中元組的次序無關(guān)緊要;
5、關(guān)系中屬性的次序元關(guān)緊要; 注:實際關(guān)系模型:
一個具體的關(guān)系模型由若干個關(guān)系模式組成。
一、關(guān)系運算: 傳統(tǒng)的關(guān)系運算:并、差、交;
1、并:兩個相同結(jié)構(gòu)關(guān)系的并是由屬于這兩個關(guān)系的元組組成的集合。
如:有兩個結(jié)構(gòu)相同的學(xué)生關(guān)系R1、R2,分別存放兩個班的學(xué)生,把第二個班的學(xué)生記錄追加到第一個班的學(xué)生記錄后面就是這兩個關(guān)系的并集。
2、差:設(shè)有兩個相同結(jié)構(gòu)的關(guān)系R和S,R差S是結(jié)果是由屬于R但不屬于S的元組組成的集合,即差運算的結(jié)果是從R中去掉S中也有的元組。
3、交:兩個具有相同結(jié)構(gòu)的關(guān)系R和S,是由既屬于R又屬于S的元組組成的集合。既運算的結(jié)果是R和S的共同元組。1 專門的關(guān)系運算:選擇、投影、聯(lián)接;
1、選擇:從關(guān)系中找出滿足條件元組的操作,是針對行的運算。如;forwherewhile等是選擇運算。選擇條件以邏輯表達式給出,使得邏輯表達式的值為真的元組被選取,即從水平方向抽取記錄形成新的關(guān)系,其關(guān)系模式不變?nèi)纾簭膶W(xué)生表中找出某同學(xué)的的考試成績;
2、投影:從關(guān)系中指定若干個屬性組成新的關(guān)系,是針對列的運算,如:fieldsselect等是連接運算。是從列的角度進行的運算,相當(dāng)于對列進行垂直分解。如:從學(xué)生表中查詢學(xué)員的所有姓名、性別、出生日期的操作。
3、連接:將兩個關(guān)系拼接成一個更寬的關(guān)系,是針對橫向運算,生成的關(guān)系中包含滿足聯(lián)接條件的元組,其聯(lián)接過程是通過聯(lián)接條件來控制的,聯(lián)接條件中將出現(xiàn)兩個表中的公共屬性名,或得具有相同語義、可比的屬性,聯(lián)接是滿足條件的所有記錄。如:joinon等是連接運算。如:設(shè)有職工和工資兩個表,要查詢基本工資高于800元的職工姓名,性別,職稱、基本工資、實發(fā)工資、獎金。
注:選擇、投影運算對象是一個關(guān)系,而連接運算對象是多個關(guān)系。這三種關(guān)系運算的最終結(jié)果是關(guān)系(二維表)
自然連接:是指去掉重復(fù)屬一的等值連接。
其義意為:在聯(lián)接運算中,按照字段值對應(yīng)相等為條件進行的聯(lián)接操作稱為等值聯(lián)接,自然聯(lián)接是去掉重復(fù)屬性的等值聯(lián)接,自然聯(lián)接是最常用的聯(lián)接運算。1 程序設(shè)計的步驟: 設(shè)計原則:
1、關(guān)系數(shù)據(jù)的設(shè)計應(yīng)遵從概念單一化“一事一地”原則。
2、避免在表之間出現(xiàn)重復(fù)字段。
3、表中的字段必須是原始數(shù)據(jù)或基本數(shù)據(jù)元素。
4、用外部關(guān)鍵字保證有關(guān)聯(lián)的表之間聯(lián)系。
二、設(shè)計步驟:
1、需求分析、2、確定需要的表;
3、確定所需字段;
4、確定關(guān)系;
5、設(shè)計求精
第五篇:VF教案31-40
第31課時 使用向?qū)?chuàng)建視圖
一、教學(xué)目的 使學(xué)生通過本節(jié)的學(xué)習(xí),使學(xué)生能利用創(chuàng)建一個視圖。
二、教學(xué)重難點 使用向?qū)?chuàng)建視圖和查詢的區(qū)別
三、教學(xué)方法 舉例 講授 演示
四、教學(xué)過程
同學(xué)們,在使用視圖向?qū)?chuàng)建視圖時,向?qū)詣恿谐鰟?chuàng)建視圖的步驟,用戶根據(jù)向?qū)峁┑奶崾就瓿上鄳?yīng)的操作,即可正確的建立視圖。
下面我來介紹一下創(chuàng)建視圖的幾個步驟:
(1)字段選取。選擇數(shù)據(jù)庫,數(shù)據(jù)庫中的表和表中的字段。如果當(dāng)前已經(jīng)打開了一個數(shù)據(jù)庫,則第一步的對話框中顯示的是創(chuàng)建當(dāng)前數(shù)據(jù)庫的視圖,也可以選擇其它的數(shù)據(jù)庫。
(2)關(guān)聯(lián)表。建立數(shù)據(jù)庫中表與表之間的關(guān)系。
(3)包含記錄。指定包含表中的全部記錄還是僅匹配的記錄。(4)篩選記錄。選定符合條件的記錄。
(5)排序記錄。為選定的記錄按照某一字段進行排序。
(6)限定記錄。定制顯示一定數(shù)量的記錄。(7)完成視圖。選擇保存視圖后瀏覽還是修改。
例:創(chuàng)建包含Grade表和Courses表的本地視圖“視圖1”。
字段選擇完成后,單擊【下一步】,步驟2——為表建立關(guān)系。說明:在這一步要建立用來建立本地視圖的表間的關(guān)系。
1、先在父表字段選擇下拉選擇框中選擇要用來建立關(guān)系的主關(guān)鍵字;
2、再在子表字段選擇下拉選擇框中選擇用來建立關(guān)系的子表關(guān)鍵字;
3、單擊【添加】,將設(shè)定關(guān)系添加到關(guān)系列表框中。
關(guān)系設(shè)置完成后單擊【下一步】進入到步驟2a——字段選取對話框。
本例中選用默認(rèn)值:僅包含匹配的行。然后單擊【下一步】,進入步驟3——篩選記錄。說明:
僅包含匹配的行:生成的本地視圖中只包含表中關(guān)系相匹配的記錄,對應(yīng)于關(guān)系中的內(nèi)聯(lián)接的設(shè)置結(jié)果。
此表中所有的行:生成的本地視圖中包含Grade表中的全部記錄和子表中關(guān)鍵字段相匹配的記錄,對應(yīng)于關(guān)系中的左聯(lián)接的設(shè)置結(jié)果。
兩張表中所有的行:生成的本地視圖中包含表中所有的記錄,對應(yīng)于關(guān)系中的完全聯(lián)接的設(shè)置結(jié)果。小結(jié):
第32課時
使用向?qū)?chuàng)建視圖(2)
一、教學(xué)目的 使學(xué)生通過本節(jié)的學(xué)習(xí),使學(xué)生能利用創(chuàng)建一個視圖。
二、教學(xué)重難點 使用向?qū)?chuàng)建視圖和查詢的區(qū)別
三、教學(xué)方法 舉例 講授 演示
四、教學(xué)過程
本地視圖向?qū)В翰襟E3——篩選記錄
說明:本地視圖向?qū)У暮Y選記錄與查詢向?qū)У暮Y選記錄的方式類似。在本例中不篩選記錄。
單擊【下一步】,進入到本地視圖向?qū)У牟襟E4——排序記錄。本地視圖向?qū)В翰襟E4——排序記錄
說明:在這一步中設(shè)置在本地視圖的記錄順序。
本例中可先按“學(xué)號”排序,學(xué)號相同的再按“課程代號”排序。
操作方法與建立查詢的記錄排序方法相同。先在“可用字段”列表框中選擇“學(xué)號”,然后單擊【添加】,再選擇“課程代號”,再單擊【添加】如上圖。排序字段及順序設(shè)置后單擊【下一步】,進入本地視圖向?qū)В翰襟E4a——限制記錄。本地視圖向?qū)В翰襟E4a——限制記錄
限制記錄的方法與建立查詢的限制記錄的方法完全相同。在本例中仍保持在本地視圖中包含所有的記錄,因而取默認(rèn)值,直接單擊【下一步】,進入本地視圖向?qū)В翰襟E5——完成。
在第5步中的操作方法也與建立查詢的方法相同,現(xiàn)選擇“保存本地視圖并瀏覽”,然后單擊【完成】。彈出“視圖名”對話框
在“視圖名”文本框中輸入“視圖1”
輸入視圖名后單擊【確認(rèn)】按鈕,系統(tǒng)顯示所建立的本地視圖的結(jié)果。本地視圖向?qū)ЫY(jié)束。
小結(jié):我們利用了兩節(jié)課的時間來學(xué)習(xí)了使用視圖向?qū)韯?chuàng)建視圖的方法,創(chuàng)建視圖的方法其實和創(chuàng)建查詢的方法是基本相同的,同學(xué)們下去要多加把握一下。
第33課時
利用視圖設(shè)計器創(chuàng)建本地視圖
一、教學(xué)目的 使學(xué)生通過本節(jié)的學(xué)習(xí),使學(xué)生能利用創(chuàng)建一個視圖。
二、教學(xué)重難點 使用向?qū)?chuàng)建視圖和查詢的區(qū)別
三、教學(xué)方法 舉例 講授 演示
四、教學(xué)過程 前面我們學(xué)習(xí)了使用視圖向?qū)韯?chuàng)建一個視圖,和查詢時一樣的,視圖也可以利用視圖設(shè)計器來創(chuàng)建一個視圖,通過本地視圖向?qū)Ы?shù)據(jù)庫視圖雖然方便,快捷,但這僅對入門者如此,何況用視圖向?qū)Ы?shù)據(jù)庫視圖最終還要依賴視圖設(shè)計器。因此,傾向獨立進行開發(fā)的程序員來說,僅僅學(xué)會使用向?qū)沁h遠不夠的,還應(yīng)學(xué)會使用視圖設(shè)計器的強大功能來創(chuàng)建視圖。(1)進入視圖設(shè)計器
進入視圖設(shè)計器的方法與進入查詢設(shè)計器的方法基本相同,下面以新建視圖的方式進入視圖設(shè)計器。啟動視圖設(shè)計器方法
新建一個視圖可按以下步驟進入視圖設(shè)計器:
■選擇【文件】|【新建】命令,單擊“視圖”單選框,再單擊【新建文件】按鈕。
■在數(shù)據(jù)庫設(shè)計器中,選擇【數(shù)據(jù)庫】|【新建本地視圖】或單擊數(shù)據(jù)庫設(shè)計器的快捷菜單中的【新建本地視圖】|【新視圖】按鈕。
■在項目管理器中,單擊“數(shù)據(jù)”選項卡,在列表框中選定“本地視圖”,再單擊【新建】按鈕,單擊【新建視圖】按鈕。修改一個視圖可按以下步驟進入視圖設(shè)計器:
■在數(shù)據(jù)庫設(shè)計器窗口中,單擊選定需要修改的視圖,選擇【數(shù)據(jù)庫】|【修改】命令。
■在數(shù)據(jù)庫設(shè)計器窗口中,右擊需要修改的視圖,在出現(xiàn)的快捷菜單中選擇【修改】命令?!鲈陧椖抗芾砥髦校瑔螕簟緮?shù)據(jù)】選項卡,在列表框中選定需要修改的視圖,單擊【修改】按鈕。
“視圖設(shè)計器”工具欄說明
添加移去添加聯(lián)顯示SQL窗口 最大化上部窗
添加表:顯示“添加表或視圖”對話框,從而可以向設(shè)計器窗口添加一個表或視圖
移去表:從設(shè)計器窗口的上窗格中移去選定的表。添加聯(lián)接:在視圖中的兩個表之間創(chuàng)建聯(lián)接條件
顯示/隱藏SQL窗口:顯示或隱藏建立當(dāng)前視圖的SQL語句 最大化/最小化上部窗口:放大或縮小視圖設(shè)計器的上窗格(2)從表中選擇所需字段
在進行本地視圖設(shè)計器之前,先建立Classzc表和Department表,表結(jié)構(gòu)和數(shù)據(jù)如下:
小結(jié):我們利用本節(jié)課講授了使用視圖設(shè)計器創(chuàng)建本地視圖的一部分內(nèi)容,剩下的內(nèi)容我們將在下一節(jié)課中繼續(xù)向大家講授。
第34課時
利用視圖設(shè)計器創(chuàng)建本地視圖(2)
一、教學(xué)目的 使學(xué)生通過本節(jié)的學(xué)習(xí),使學(xué)生能利用創(chuàng)建一個視圖。
二、教學(xué)重難點 使用向?qū)?chuàng)建視圖和查詢的區(qū)別
三、教學(xué)方法 舉例 講授 演示
四、教學(xué)過程
從中選定表Classzc并單擊【添加】按鈕,然后單擊【關(guān)閉】按鈕,啟動視圖設(shè)計器。
進入視圖設(shè)計器后,第一步先需要選定字段,選定字段可直接通過字段選項卡進行。其操作方法與查詢設(shè)計器中選擇字段的方法相同。
從“可用字段”列表框里選定Classzc.班級簡稱字段,單擊【添加】按鈕或雙擊該字段,則Classzc.班級簡稱字段將會出現(xiàn)在右邊的“選定字段”列表框中。本次建立的視圖里,還需要選定Classzc.學(xué)習(xí)性質(zhì)、Classzc.學(xué)制二個字段。它們選定的方法與選定Classzc.班級簡稱字段一樣。如果需選定字段是“可用字段”列表框中的所有字段,可以單擊【全部添加】按鈕,這樣就把所有字段添加到了“選定字段”列表框中去了,可以通過【移去】按鈕將其移出來。如果需要全部移出,可以利用【全部移去】按鈕快速移出。
要將表中的字段添加到“選定字段”列表框中,除了上述方法外,還可以將鼠標(biāo)指向視圖設(shè)計器上部窗口中的表窗口中的字段上,按住鼠標(biāo)左鍵或右鍵拖動一個字段到“選定字段”列表框,該字段就被加入到了“選定字段”列表框中。還可以通過雙擊字段名將其加入到“選定字段”列表框。表窗口中的*代表表中的全部字段,它也是可以拖動或雙擊的。若要從“選定字段”列表框中移去字段,也可以使用鼠標(biāo)拖動或雙擊?!白侄巍边x項卡還有一個【屬性】按鈕和一個“函數(shù)和表達式”文本框。只要“選定字段”列表框中有一個值,【屬性】命令按鈕就成為可選的了。選擇【屬性】后,(3)建立多表關(guān)聯(lián)
前面主要是針對單一的本地表建立視圖,雖然很容易,但它的實際功能不大。因為在實際開發(fā)中,系統(tǒng)的數(shù)據(jù)庫很復(fù)雜,表的關(guān)聯(lián)性很強,用戶關(guān)心的往往是一些復(fù)雜的數(shù)據(jù),因此需要建立多表視圖。
(4)與設(shè)計多表查詢不相同的部分——更新條件
視圖的最大特點在于能用視圖更新數(shù)據(jù),這也是建立視圖與建立查詢的主要區(qū)別,也是視圖的重點所在。視圖設(shè)計器中的“更新條件”選項卡可以用來設(shè)置允許視圖更新表字段的條件。
“更新條件”選項卡選項包括如下內(nèi)容:
■“表”:指定視圖所使用的哪些表可以修改。選擇這個下拉列表框中的選項,可以確定哪些表中的字段可以在“字段名”列表框中,以便設(shè)置更新條件。此列表中所顯示的表都包含了“字段”選項卡“選定字段”列表中的字段?!觥局刂藐P(guān)鍵字】:這個按鈕作用是從每個表中選擇主關(guān)鍵字字段作為視圖的關(guān)鍵字字段。每個主關(guān)鍵字字段是在“字段名”列表中的、在鑰匙符號下面打一個對鉤的字段,關(guān)鍵字字段可
小結(jié):我們利用兩節(jié)課的時間向同學(xué)們介紹了有關(guān)使用視圖設(shè)計器來創(chuàng)建視圖的方法。同學(xué)們下去一定要好好的把握。
第35課時
使用視圖
一、教學(xué)目的 使學(xué)生通過本節(jié)的學(xué)習(xí),使學(xué)生能學(xué)會在VF中使用視圖。
二、教學(xué)重難點 使用視圖
三、教學(xué)方法 舉例 講授 演示
四、教學(xué)過程
同學(xué)們,建立視圖后,不但可以用它來顯示和更新數(shù)據(jù),而且還可以通過調(diào)整它的屬性來提高性能。處理視圖類似處理表,可以: ■使用USE命令并指定視圖名來打開一個視圖?!鍪褂肬SE命令關(guān)閉視圖?!鲈凇緸g覽】窗口中顯示視圖。
■在【查看】窗口中顯示已打開的視圖的別名。■將視圖作為數(shù)據(jù)源,供表單或表格控件使用。若要使用一個視圖,可采取如下方法:
■在項目管理器中先選擇一個數(shù)據(jù)庫,再選擇視圖名,然后單擊【瀏覽】按鈕,在【瀏覽】窗口中顯示視圖?!鍪褂镁幊痰姆绞皆L問視圖。
下面的代碼在【瀏覽】窗口中顯示存放在c:gxglxt目錄下gxglxt數(shù)據(jù)庫中的視圖1:
open database c:gxglxtgxglxt use 視圖1 browse
在使用一個視圖時,視圖將作為臨時表在自己的工作區(qū)打開。如果此視圖基于本地表,則VFP6會在另一個工作區(qū)同時打開基表。如果沒有打開任何表,或先執(zhí)行Close All命令后再執(zhí)行以上命令,則視圖1在工作區(qū)1打開,而其基表則在工作區(qū)2打開。要查看基表,可以通過選擇系統(tǒng)菜單上的【窗口】|【數(shù)據(jù)工作期】打開“數(shù)據(jù)工作期”窗口。但有一個例外,如果視圖是基于遠程表,則基表將不在工作區(qū)中打開。而只在【查看】窗口中顯示遠程視圖的名稱。
小結(jié):本節(jié)主要介紹了又關(guān)打開和關(guān)閉視圖的方法。
第36課時
視圖的編輯
一、教學(xué)目的 使學(xué)生通過本節(jié)的學(xué)習(xí),使學(xué)生能對視圖進行編輯,及修改刪除等操作。
二、教學(xué)重難點 視圖的修改
三、教學(xué)方法 舉例 講授 演示
四、教學(xué)過程
同學(xué)們,有時用戶只想了解視圖的結(jié)構(gòu),而不關(guān)心視圖中的數(shù)據(jù)。這樣可以使用帶NODATA子句的USE命令來快速顯示視圖的結(jié)構(gòu)。例如: open database c:gxglxtgxglxt use 視圖1 nodata in 0 Select 視圖1 browse 通過運行上面的命令語句,將在【瀏覽】窗口中看到?jīng)]有記錄的視圖1。因為使用NODATA子句時,VFP6為視圖1創(chuàng)建一個永遠返回.F.值的WHERE子句,而數(shù)據(jù)源上沒有記錄匹配WHERE子句的條件,所以沒有記錄被選擇。
重新命名視圖
建立一個視圖以后,還可以為其重新命名視圖,進行視圖的重新命名,可以使用項目管理器或用RENAME VIEW命令。
■在項目管理器中先選擇一數(shù)據(jù)庫,再右擊要重新命名的視圖。單擊【重命名】按鈕,出現(xiàn)一對話框后即可為視圖輸入新的名稱。
■使用RENAME VIEW命令。
例如,下面的代碼將視圖2重新命名為視圖1: rename view 視圖1 to 視圖2 說明:在重新命名視圖之前,必須打開包含要命名視圖的數(shù)據(jù)庫。
刪除視圖
視圖同表一樣也是可以刪除的,刪除視圖可以使用項目管理器或使用DELETE VIEW命令。■在項目管理器中選擇一個數(shù)據(jù)庫,再選擇要刪除的視圖,然后用鼠標(biāo)右擊,單擊【移去】按鈕,即可刪除所選的視圖。
使用DELETE VIEW命令。
例如,如果要刪除數(shù)據(jù)庫xsglxt中的視圖2,可以鍵入以下的命令語句: delete view視圖2 說明:在刪除視圖之前,必須打開包含要刪除視圖的數(shù)據(jù)庫并設(shè)置其為當(dāng)前數(shù)據(jù)庫。
創(chuàng)建視圖索引
同為表建立索引一樣,也可以為視圖建立索引。但與表不同的是,在視圖上創(chuàng)建的本地索引不能永久保存,它們隨著視圖的關(guān)閉而消失。為視圖建立本地索引,可以使用INDEX ON命令。關(guān)于該命令的參數(shù),在創(chuàng)建表的索引時已有介紹。另有一點需要注意的是,在決定是否在視圖上建立索引時,要考慮視圖結(jié)果集合的大小。對于一個大的結(jié)果集合來說,索引要花費很長的時間,并可能降低視圖的性能。因此,要根據(jù)實際情況處理。
小結(jié):本節(jié)課主要介紹了有關(guān)視圖的編輯,如修改視圖結(jié)構(gòu),刪除視圖,重命名視圖的方法等,同學(xué)們一定要好好的把握。
第37課時
創(chuàng)建參數(shù)化視圖
一、教學(xué)目的 使學(xué)生通過本節(jié)的學(xué)習(xí),使學(xué)生能熟練的創(chuàng)建一個參數(shù)化視圖。
二、教學(xué)重難點 創(chuàng)建參數(shù)化視圖
三、教學(xué)方法 舉例 講授 演示
四、教學(xué)過程 VFP可以創(chuàng)建具有提示輸入值來查詢信息的視圖,稱為參數(shù)化視圖,這樣的視圖具有更大的靈活性和更強的適應(yīng)性??杀苊饷咳∫徊糠钟涗浿稻鸵⒁晥D的情況。
可用以下方法創(chuàng)建參數(shù)化視圖:
(1)打開視圖設(shè)計器,從【查詢】菜單中選擇【視圖參數(shù)】命令,此時系統(tǒng)彈出視圖參數(shù)對話框,如圖所示:
2)在視圖參數(shù)對話框中輸入?yún)?shù)名及其數(shù)據(jù)類型。此例中建立一個名為“系部代號”的視圖參數(shù),此視圖參數(shù)可以任意取,但數(shù)據(jù)類型要和所要查詢的記錄類型一致。參數(shù)名可以是字母字符、數(shù)字和單引號的任意組合。(3)按下確定按鈕,就為此視圖建立了一個視圖參數(shù)了。下面設(shè)計一個帶參數(shù)的視圖(視圖4):
(1)打開“視圖設(shè)計器”,選定表Classzc、Student、Course和Grade四個表,并選取.Classzc.系部代號、Classzc.班級名稱、Student.學(xué)號、Student.姓名、Course.課程名、Grade.開課學(xué)期、Grade.課程成績這7個字段名作為輸出字段。(2)在“篩選”選項卡中的“字段名”下拉列表框中選擇Classzc.系部代號,在“條件”列表框中選定“=”,在“實例”文本框中輸入“?系部代號”。這個問號表示引用一個表達式所需要的參數(shù)。問號后的文字標(biāo)識了這個參數(shù)的名稱。同時還可以設(shè)定如“Grade.開課學(xué)期=‘?開課學(xué)期’”。(3)選擇【查詢】|【視圖參數(shù)】,進入“視圖參數(shù)”對話框,在“參數(shù)名”文本框中輸入?yún)?shù)名稱“系部代號”,在“類型”下拉列表框中選定參數(shù)的類型為“字符型”,同樣還輸入“開課學(xué)期”、“字符型”,然后單擊【確定】按鈕。
(4)通過選擇【查詢】|【運行查詢】命令,或通過單擊鼠標(biāo)右鍵再選擇【運行查詢】命令,系統(tǒng)彈出如圖所示的視圖參數(shù)對話框。
在此對話框中可以輸入將要查詢的參數(shù)的某一具體數(shù)值,在此輸入“05”;在后面彈出的“輸入一個字符型值,供‘開課學(xué)期’使用”對話框中輸入“第1學(xué)期”。
單擊確定按鈕,查詢的結(jié)果即顯示在屏幕上。
說明:教師在大屏幕上演示具體的操作過程,學(xué)生仔細觀察,然后自己在電腦上進行實踐。
第38課時
利用視圖更新數(shù)據(jù)
一、教學(xué)目的 使學(xué)生通過本節(jié)的學(xué)習(xí),使學(xué)生能熟練的利用視圖來更新數(shù)據(jù)。
二、教學(xué)重難點 更新數(shù)據(jù)的方法。
三、教學(xué)方法 舉例 講授 演示
四、教學(xué)過程 同學(xué)們,我們說過,視圖和查詢最大的區(qū)別就是,查詢不能對數(shù)據(jù)進行更新,而視圖是可以的,我們這節(jié)課就學(xué)習(xí)如何對視圖中的數(shù)據(jù)進行更新。
在項目管理器中選擇“視圖3”,單擊【修改】,在視圖設(shè)計器中選擇“字段”選項卡,如圖。
在上圖中,請注意Grade表中的字段。選擇“更新條件”選項卡,進行如圖設(shè)置:
■設(shè)定關(guān)鍵字段和可修改字段。
注意:因為表Grade中每個字段的值都不唯一,所以要用組合關(guān)鍵字(學(xué)號+課程代號+開課學(xué)期)
■存檔并顯示結(jié)果。選【文件】|【保存】或從工具欄中單擊保存按鈕保存此視圖。選取菜單【查詢】|【運行查詢】查看結(jié)果,為視圖參數(shù)輸入“04”(帶定界符)、“第1學(xué)期”后的運行結(jié)果如圖 :
■修改視圖數(shù)據(jù)。既然我們已經(jīng)為視圖3視圖文件設(shè)定關(guān)鍵字段與可更新字段,也就是設(shè)定了視圖文件中哪些字段可以經(jīng)過修改而自動更正原始數(shù)據(jù)文件內(nèi)容,現(xiàn)在就來驗證這些設(shè)定是否生效。
將視圖中最后一條記錄的“課程成績”由62改為99。
更改完畢后操作光標(biāo)離開這條記錄,觀察Grade表中相關(guān)記錄變化的情形。
從結(jié)果可以看出:Grade表中的學(xué)號和課程成績已隨著視圖文件的更改而自動修正了。表示我們設(shè)定的可更新字段生效。
說明:教師在大屏幕上邊操作邊演示,讓學(xué)生仔細觀察。任務(wù)1:在學(xué)生登記表視圖中,把李飛的姓名改為李雄飛。任務(wù)2:在各科成績表視圖中,把張三的語文成績由65改為99.小結(jié):我們本節(jié)課主要介紹了有關(guān)視圖的更新數(shù)據(jù)的方法,從視圖更新數(shù)據(jù)這在VF中是非常重要的一個內(nèi)容,同學(xué)們一定要仔細體會其中的奧妙。