第一篇:VF基礎(chǔ)教案
第2章Visual FoxPro 6.0概述
2.1 Visual FoxPro的安裝、啟動(dòng)與關(guān)閉 2.1.1 Visual FoxPro 6.0 的安裝
中文Visual FoxPro 可以從CD-ROM或網(wǎng)絡(luò)上安裝。以下介紹三種從CD-ROM上安裝Visual FoxPro 的方法。
1.直接啟動(dòng)CD-ROM
2.直接運(yùn)行安裝程序
3.使用Windows 安裝 2.1.2 Visual FoxPro 6.0的啟動(dòng)與關(guān)閉
一、Visual FoxPro 6.0的啟動(dòng)
啟動(dòng)Visual FoxPro有多種方法,可采用以下三種方式之一。
1.從“開始”菜單啟動(dòng)
2.從“運(yùn)行”對(duì)話框中啟動(dòng)
3.從資源管理器中啟動(dòng)
4.雙擊Visual Foxpro6.0快捷圖標(biāo)
二、Visual FoxPro 6.0的退出
(1)在Microsoft Visual FoxPro主菜單中,打開“文件”菜單,選擇“退出”選項(xiàng);
(2)按Alt+F4組合鍵;
(3)按Ctrl+Alt+Del組合鍵,進(jìn)入“關(guān)閉程序”窗口,按“結(jié)束任務(wù)”按鈕;
(4)在Microsoft Visual FoxPro的系統(tǒng)環(huán)境窗口,單擊其右上角的“退出”按鈕;
(5)在“命令”窗口,輸入命令Quit。2.2 Visual FoxPro 6.0系統(tǒng)運(yùn)行環(huán)境的配置
Visual FoxPro系統(tǒng)環(huán)境的配置,決定了Visual FoxPro系統(tǒng)的操作環(huán)境和工作方式。
單擊“工具”-> “選項(xiàng)”可以打開選項(xiàng)選窗口,在“選項(xiàng)”窗口中,有12種不同類別的環(huán)境選項(xiàng)卡,用戶可以根據(jù)操作的需要通過(guò)“選項(xiàng)”窗口中的各種選項(xiàng)卡,確定或修改設(shè)置每一個(gè)參數(shù),從而確定Visual FoxPro的系統(tǒng)環(huán)境.2.2.1 設(shè)置默認(rèn)工作目錄
VF有其默認(rèn)的工作目錄,就是系統(tǒng)文件所在的VF6.0目錄,但是,為了管理,用戶最好還是設(shè)置自己的工作目錄以保存所建的文件 設(shè)置默認(rèn)路徑的方法: “工具”->“選項(xiàng)”->文件位置 使用命令設(shè)置:
SET DEFA TO <默認(rèn)路徑> 功能:設(shè)置默認(rèn)路徑 例:
SET DEFA TO D:WMQ SET DEFA TO E:200723 2.2.2 設(shè)置日期的表示格式 設(shè)置日期時(shí)間格式: “工具”->“選項(xiàng)”->“區(qū)域”
2.3 Visual FoxPro 6.0的系統(tǒng)窗口
Visual FoxPro的界面
Visual FoxPro界面,是由標(biāo)題欄、菜單欄、工具欄、工作區(qū)、狀態(tài)欄和命令窗口組成的。
一、標(biāo)題欄
標(biāo)題欄位于屏幕界面的第一行,它包含系統(tǒng)程序圖標(biāo)、主屏幕標(biāo)題、最小化按鈕、最大化按鈕和關(guān)閉按鈕5個(gè)對(duì)象。
二、菜單欄
菜單欄位于屏幕的第二行,它包含文件、編輯、顯示、格式、工具、程序、窗口和幫助8個(gè)菜單選項(xiàng)。
當(dāng)單擊其中一個(gè)菜單選項(xiàng)時(shí),就可以打開一個(gè)對(duì)應(yīng)的“下拉式”菜單,在該“下拉式”菜單下,通常還有若干個(gè)子菜單選項(xiàng),當(dāng)選擇其中一個(gè)子菜單選項(xiàng)時(shí),就可以執(zhí)行一個(gè)操作。
三、工具欄
Visual FoxPro系統(tǒng)提供了11種常用的工具欄:
(1)常用工具欄(2)布局工具欄
(3)表單控件工具欄(4)表單設(shè)計(jì)器工具欄
(5)查詢?cè)O(shè)計(jì)器工具欄(6)視圖設(shè)計(jì)器工具欄
(7)數(shù)據(jù)庫(kù)設(shè)計(jì)器工具欄(8)報(bào)表控件工具欄
(9)報(bào)表設(shè)計(jì)器工具欄(10)調(diào)色板工具欄
(11)打印預(yù)覽工具欄
四、命令窗口
命令窗口位于菜單欄和狀態(tài)欄之間,是Visual FoxPro系統(tǒng)命令執(zhí)行、編輯的窗口。在命令窗口中,可以輸入命令實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)的操作管理;也可以用各種編輯工具對(duì)操作命令進(jìn)行修改、插入、刪除、剪切、拷貝、粘貼等操作;還可以在此窗口建立命令文件并運(yùn)行命令文件。
在“窗口”菜單下,選擇“隱藏”,可以關(guān)閉命令窗口;選擇“命令窗口”,可以彈出命令窗口。
五、工作區(qū)與狀態(tài)行
狀態(tài)行位于屏幕的最底部,用于顯示某一時(shí)刻的管理數(shù)據(jù)的工作狀態(tài)。(1)Set Status off/ on,可控制屏幕上的狀態(tài)行是否出現(xiàn)。
(2)如果當(dāng)前工作區(qū)中沒有表文件打開,狀態(tài)行的內(nèi)容是空白;如果當(dāng)前工作區(qū)中有表文件打開,狀態(tài)行顯示表名、表所在的數(shù)據(jù)庫(kù)名、表中當(dāng)前記錄的記錄號(hào)、表中的記錄總數(shù)、表中的當(dāng)前記錄的共享狀態(tài)等內(nèi)容。
2.4 可視化管理工具
1、設(shè)計(jì)器
通過(guò)設(shè)計(jì)器可以方便地對(duì)表、表單、數(shù)據(jù)庫(kù)、查詢和報(bào)表等進(jìn)行管理。
2、向?qū)?/p>
通過(guò)用戶對(duì)問題的回答或?qū)x項(xiàng)的選擇,向?qū)?chuàng)建相應(yīng)的文件或執(zhí)行某一項(xiàng)任務(wù)。
3、生成器 是一種可視化的輔助工具,用來(lái)幫助擁護(hù)按要求設(shè)計(jì)各種控件的表現(xiàn)形式。2.5 Visual Foxpro 6.0的工作方式 Visual FoxPro 6.0提供了兩種工作方式:
? ? 交互方式(可執(zhí)行方式和可視化操作方式)程序方式
2.5.1 交互方式
包括命令執(zhí)行方式和可視化操作方式。
1、命令執(zhí)行方式
Visual FoxPro 6.0提供命令方式主要有兩種目的,一是對(duì)數(shù)據(jù)庫(kù)的操作使用命令比使用菜單或工具欄要快捷而靈活;另一方面,熟悉命令操作是程序開發(fā)的基礎(chǔ)。
Visual FoxPro 6.0提供了命令窗口用于輸入執(zhí)行命令。
Visual FoxPro 6.0中的命令采用近似于自然語(yǔ)言的結(jié)構(gòu)。
Visual FoxPro 6.0中的命令不區(qū)分大小寫,即命令可以用大寫字母也可以用小寫字母書寫。另外,對(duì)于較長(zhǎng)的命令可以只輸入命令的前四個(gè)字母。
Foxpro提供了多條命令,命令中常出現(xiàn)的一些符號(hào)有:(P19)
<....> 必選項(xiàng)
[....]
可選項(xiàng)
...|... 擇一選項(xiàng) 這些符號(hào)在實(shí)際使用時(shí)不必輸入. 命令的一般格式為:
命令動(dòng)詞 [<范圍>][fields<字段名表>][for <條件>] 其中:
命令動(dòng)詞:決定此命令的功能,一般為英文動(dòng)詞. 范圍:表示記錄的操作范圍,有]四種形式:
ALL 表示對(duì)數(shù)據(jù)庫(kù)中的所有記錄進(jìn)行操作。?
RECORD N
表示僅對(duì)第N條記錄進(jìn)行操作 ?
NEXT N 表示從當(dāng)前記錄開始共N個(gè)記錄
REST
表示從當(dāng)前記錄開始到文件結(jié)束的所有記錄
Fileds:說(shuō)明數(shù)據(jù)庫(kù)的字段名稱,不選此項(xiàng),則表示選擇所有字段 命令書寫規(guī)則 ? ? ? ? ? 任何命令必須以命令動(dòng)詞開頭, 大小寫不限,其后的各項(xiàng)順序不限。各子句之間用空格分隔。
命令可縮寫成前4個(gè)字母,但不提倡
一行寫不下時(shí),在行末用續(xù)行符“;”,并在下行繼續(xù)書寫 一行只能寫一條命令語(yǔ)句
例如,顯示xsda數(shù)據(jù)表中所有不住校的女生的姓名、年齡
use xsda
list all fields 姓名,年齡
for 住校否=.F.and 性別=’女’
2、可視化操作方式
可視化操作方式包括:菜單方式、設(shè)計(jì)器方式、向?qū)Х绞健?/p>
在VisualFoxpro系統(tǒng)中,通過(guò)菜單、窗口、對(duì)話框、工具欄等圖形界面,可以直接操作數(shù)據(jù)表、視圖、查詢、表單、報(bào)表等,并以窗口的方式把結(jié)果顯示給用戶。
2.5.2 程序執(zhí)行方式
Visual FoxPro 6.0提供了一個(gè)程序編輯器,可以使用MODIFY COMMAND 命令打開程序編輯器,或者從“文件”菜單中選擇“新建”命令,在彈出的“新建”對(duì)話框中選擇“程序”單選項(xiàng),最后單擊“新建文件”按鈕即可打開程序編輯器。
2.6 Visual Foxpro 6.0的主要性能指標(biāo) 主要性能指標(biāo)有:
1、每個(gè)數(shù)據(jù)庫(kù)最多記錄數(shù)為10億個(gè)
2、每條記錄可包含的字段個(gè)數(shù)最多為225個(gè)
3、每條記錄最多字符數(shù)為655000個(gè)字節(jié)
4、字段型字段最大寬度(即最多可容納的字符數(shù))為254個(gè)字節(jié)。
5、數(shù)值型字段最大寬度為20位,精度為16位
6、有32767個(gè)工作區(qū),可同時(shí)打開的數(shù)據(jù)庫(kù)文件最多32767個(gè)。
7、可使用的內(nèi)存變量默認(rèn)總數(shù)位256個(gè),最多為65000個(gè)。最大數(shù)組個(gè)數(shù)為65000個(gè),每個(gè)數(shù)組的最多的元素?cái)?shù)為65000個(gè)。
第二篇:第一章 VF數(shù)據(jù)庫(kù)基礎(chǔ)教案
第一章 VF數(shù)據(jù)庫(kù)基礎(chǔ)
一、什么叫數(shù)據(jù):
是指存儲(chǔ)在某種媒體上的能夠識(shí)別的物理符號(hào)如:數(shù)字、字母、文字、特殊字符組成的文本形式數(shù)據(jù),還有圖形、動(dòng)畫、影像、聲音等多媒體數(shù)據(jù),而最多、最常用的是文字?jǐn)?shù)據(jù)。注:數(shù)據(jù)包括:描述事物特性的內(nèi)容和存儲(chǔ)在媒體上的數(shù)據(jù)形式。
二、什么叫數(shù)據(jù)處理?
是指將數(shù)據(jù)轉(zhuǎn)換成信息的過(guò)程。
三、數(shù)據(jù)處理的目的(其中核心問題是數(shù)據(jù)管理)計(jì)算機(jī)對(duì)數(shù)據(jù)的管理發(fā)展階段及特點(diǎn):經(jīng)歷了五個(gè)階段:
1、人工管理階段:20世紀(jì)50年代;數(shù)據(jù)和程序不具有獨(dú)立性,無(wú)法進(jìn)行長(zhǎng)期保存,數(shù)據(jù)不能共享,數(shù)據(jù)冗余大。
2、文件管理階段:20世紀(jì)50年代后期至60年代中后期,程序和數(shù)據(jù)有一定的獨(dú)立性,程序和數(shù)據(jù)分開存儲(chǔ)。
3、數(shù)據(jù)庫(kù)系統(tǒng)管理;從20世紀(jì)60年代后期開始:特點(diǎn):數(shù)據(jù)和程序具有較高的獨(dú)立性,實(shí)現(xiàn)了數(shù)據(jù)共享,減少數(shù)據(jù)冗余(注:但并不是完全避免數(shù)據(jù)冗余)
4、分布式數(shù)據(jù)庫(kù)系統(tǒng):20世紀(jì)70年代后期,是數(shù)據(jù)庫(kù)技術(shù)和計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)緊密結(jié)合的產(chǎn)物。
5、面向?qū)ο髷?shù)據(jù)庫(kù)系統(tǒng):20世紀(jì)80年代引入計(jì)算機(jī)科學(xué)領(lǐng)域的一種新的程序設(shè)計(jì)技術(shù)模型 特點(diǎn):就是按照人們認(rèn)識(shí)世界和改造世界的習(xí)慣方法對(duì)現(xiàn)實(shí)世界的客觀事物對(duì)象進(jìn)行最自然的最有效的抽象和表達(dá),同時(shí)又以各種嚴(yán)格高效的行為規(guī)范和機(jī)制實(shí)施客觀事物的有效模擬和處理。注:在數(shù)據(jù)管理技術(shù)的發(fā)展過(guò)程中:數(shù)據(jù)庫(kù)系統(tǒng)可以實(shí)現(xiàn)數(shù)據(jù)共享。
一、數(shù)據(jù)庫(kù)系統(tǒng):
1、數(shù)據(jù)庫(kù)(DB):是存儲(chǔ)在計(jì)算機(jī)設(shè)備上結(jié)構(gòu)化的相關(guān)數(shù)據(jù)的集合,它不僅包括描述事物數(shù)據(jù)本身,而且還包括相關(guān)事物之間的聯(lián)系。可以被多個(gè)和戶、多個(gè)應(yīng)用程序共享
2、數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)(DBAS):是指系統(tǒng)開發(fā)人員利數(shù)據(jù)庫(kù)系統(tǒng)資源開發(fā)出來(lái)的。
3、數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS):是對(duì)數(shù)據(jù)庫(kù)的建立,使用和維護(hù)進(jìn)行管理。
4、數(shù)據(jù)庫(kù)系統(tǒng)(DBS):是指引進(jìn)數(shù)據(jù)庫(kù)技術(shù)后的計(jì)算機(jī)系統(tǒng),實(shí)現(xiàn)有組織地、動(dòng)態(tài)地存儲(chǔ)大量相關(guān)數(shù)據(jù)提供數(shù)據(jù)處理和信息資源共享的便利條件。
注:visual Foxpro中的數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS)是操作系統(tǒng)支持下的系統(tǒng)軟件;
數(shù)據(jù)庫(kù)DB、數(shù)據(jù)庫(kù)系統(tǒng)DBS、數(shù)據(jù)庫(kù)管理系統(tǒng)DBMS三者之間的關(guān)系是:DBS包括DB和DBMS。
二、數(shù)據(jù)庫(kù)系統(tǒng)的組成:硬件系統(tǒng)、數(shù)據(jù)庫(kù)集合、數(shù)據(jù)庫(kù)管理系統(tǒng)及相關(guān)軟件、數(shù)據(jù)庫(kù)管理員和用戶。
注:數(shù)據(jù)庫(kù)系統(tǒng)的特點(diǎn):
1、實(shí)現(xiàn)數(shù)據(jù)共享、減少數(shù)據(jù)冗余
2、采用特定的數(shù)據(jù)模型(即稱為關(guān)系數(shù)據(jù)模型)
3、具有較高的數(shù)據(jù)獨(dú)立性
4、有統(tǒng)一的數(shù)據(jù)控制功能。
一、數(shù)據(jù)模型:
1、實(shí)體:客觀存在并且可以互相區(qū)別的事物稱為實(shí)體,實(shí)體可以是實(shí)際的事物,也可能是抽象的事件如:學(xué)生、課本屬于實(shí)際事物;訂貨、比賽是比較抽象的;
2、實(shí)體的屬性:描述實(shí)體的特性稱為屬性;如學(xué)生實(shí)體用(學(xué)號(hào)、姓名、性別、出生日期)等若干屬性的描述。
3、實(shí)體集和實(shí)體型:
屬性值的集合表示一個(gè)實(shí)體,而屬性的集合表示一種實(shí)體的類型稱為實(shí)體型,同類的實(shí)體的結(jié)合稱為實(shí)體集。
所以在VF中“表”用來(lái)存放同一類實(shí)體,即實(shí)體集。注:表中包括若干字段,字段就是實(shí)體的屬性。
字段值的集合組成表中的一條記錄,代表一個(gè)具體的實(shí)體,即每個(gè)紀(jì)錄表示一個(gè)實(shí)體。
一、實(shí)體間聯(lián)系及聯(lián)系的種類:
1、一對(duì)一:指主表中的每一條記錄只與相關(guān)表中的一條記錄相關(guān)聯(lián)。
2、一對(duì)多:指主表中的每一條記錄與相關(guān)表中的多條記錄相關(guān)聯(lián)。
3、多對(duì)多:表現(xiàn)為一個(gè)表中的多個(gè)記錄在相關(guān)表中同樣有多個(gè)記錄與其匹配
二、數(shù)據(jù)模型:
1、層次數(shù)據(jù):用樹型結(jié)構(gòu)表示實(shí)體及其實(shí)體間聯(lián)系的模型稱為層次模型;像倒掛的樹,用樹型結(jié)構(gòu)表示;
2、網(wǎng)狀模型:用網(wǎng)狀結(jié)構(gòu)表示;
3、關(guān)系模型:(非格式模型)用二維表表示)
三、關(guān)系數(shù)據(jù)庫(kù):一個(gè)關(guān)系是由一個(gè)二維表來(lái)定義的,一個(gè)表就是一個(gè)關(guān)系;也就是說(shuō)關(guān)系數(shù)據(jù)庫(kù)是由若干表格組成的,在表格中:每行代表著每個(gè)記錄,而每列則代表著該表存在的不同屬性。
1、關(guān)系:一個(gè)關(guān)系就是一張二維表,通常將一個(gè)沒有重復(fù)行、重復(fù)列的二維表看成一個(gè)關(guān)系,每個(gè)關(guān)系都有一個(gè)關(guān)系名。關(guān)系文件擴(kuò)展名為.dbf,稱為“表”
2、元組:水平方向的行稱為元組,每一行就是一個(gè)元組,元組對(duì)應(yīng)存儲(chǔ)文件中的一個(gè)具體記錄,一個(gè)元組對(duì)應(yīng)表中的一個(gè)記錄。
3、屬性:二維表中垂直方向的列稱為屬性,每一列都有一個(gè)屬性名,在VF中屬性表示為字段名,每個(gè)字段的數(shù)據(jù)類型、寬度等在創(chuàng)建表的結(jié)構(gòu)時(shí)就規(guī)定了。
在VF中一個(gè)屬性對(duì)表中的一個(gè)字段,屬性名對(duì)應(yīng)字段名,屬性值對(duì)應(yīng)于各條記錄的字段值。
4、域名:字段的取值范圍:指不同元組對(duì)同一個(gè)屬性的取值所限定的范圍。
5、關(guān)鍵字:屬性或?qū)傩缘慕M合能惟一標(biāo)識(shí)各個(gè)元組(實(shí)體)
6、外部關(guān)鍵字:在本表中不是的關(guān)鍵字,而在另外一個(gè)表中是關(guān)鍵字,本表的這個(gè)字段(屬性)稱為外部關(guān)鍵字。
四、關(guān)系的特點(diǎn):
1、關(guān)系必須規(guī)范,表中不能在含表;
2、關(guān)系中不允許有完全相同的元組(記錄)存在;
3、關(guān)系中不允許有相同的屬性名(字段名)存在;
4、關(guān)系中元組的次序無(wú)關(guān)緊要;
5、關(guān)系中屬性的次序元關(guān)緊要; 注:實(shí)際關(guān)系模型:
一個(gè)具體的關(guān)系模型由若干個(gè)關(guān)系模式組成。
一、關(guān)系運(yùn)算: 傳統(tǒng)的關(guān)系運(yùn)算:并、差、交;
1、并:兩個(gè)相同結(jié)構(gòu)關(guān)系的并是由屬于這兩個(gè)關(guān)系的元組組成的集合。
如:有兩個(gè)結(jié)構(gòu)相同的學(xué)生關(guān)系R1、R2,分別存放兩個(gè)班的學(xué)生,把第二個(gè)班的學(xué)生記錄追加到第一個(gè)班的學(xué)生記錄后面就是這兩個(gè)關(guān)系的并集。
2、差:設(shè)有兩個(gè)相同結(jié)構(gòu)的關(guān)系R和S,R差S是結(jié)果是由屬于R但不屬于S的元組組成的集合,即差運(yùn)算的結(jié)果是從R中去掉S中也有的元組。
3、交:兩個(gè)具有相同結(jié)構(gòu)的關(guān)系R和S,是由既屬于R又屬于S的元組組成的集合。既運(yùn)算的結(jié)果是R和S的共同元組。1 專門的關(guān)系運(yùn)算:選擇、投影、聯(lián)接;
1、選擇:從關(guān)系中找出滿足條件元組的操作,是針對(duì)行的運(yùn)算。如;forwherewhile等是選擇運(yùn)算。選擇條件以邏輯表達(dá)式給出,使得邏輯表達(dá)式的值為真的元組被選取,即從水平方向抽取記錄形成新的關(guān)系,其關(guān)系模式不變?nèi)纾簭膶W(xué)生表中找出某同學(xué)的的考試成績(jī);
2、投影:從關(guān)系中指定若干個(gè)屬性組成新的關(guān)系,是針對(duì)列的運(yùn)算,如:fieldsselect等是連接運(yùn)算。是從列的角度進(jìn)行的運(yùn)算,相當(dāng)于對(duì)列進(jìn)行垂直分解。如:從學(xué)生表中查詢學(xué)員的所有姓名、性別、出生日期的操作。
3、連接:將兩個(gè)關(guān)系拼接成一個(gè)更寬的關(guān)系,是針對(duì)橫向運(yùn)算,生成的關(guān)系中包含滿足聯(lián)接條件的元組,其聯(lián)接過(guò)程是通過(guò)聯(lián)接條件來(lái)控制的,聯(lián)接條件中將出現(xiàn)兩個(gè)表中的公共屬性名,或得具有相同語(yǔ)義、可比的屬性,聯(lián)接是滿足條件的所有記錄。如:joinon等是連接運(yùn)算。如:設(shè)有職工和工資兩個(gè)表,要查詢基本工資高于800元的職工姓名,性別,職稱、基本工資、實(shí)發(fā)工資、獎(jiǎng)金。
注:選擇、投影運(yùn)算對(duì)象是一個(gè)關(guān)系,而連接運(yùn)算對(duì)象是多個(gè)關(guān)系。這三種關(guān)系運(yùn)算的最終結(jié)果是關(guān)系(二維表)
自然連接:是指去掉重復(fù)屬一的等值連接。
其義意為:在聯(lián)接運(yùn)算中,按照字段值對(duì)應(yīng)相等為條件進(jìn)行的聯(lián)接操作稱為等值聯(lián)接,自然聯(lián)接是去掉重復(fù)屬性的等值聯(lián)接,自然聯(lián)接是最常用的聯(lián)接運(yùn)算。1 程序設(shè)計(jì)的步驟: 設(shè)計(jì)原則:
1、關(guān)系數(shù)據(jù)的設(shè)計(jì)應(yīng)遵從概念單一化“一事一地”原則。
2、避免在表之間出現(xiàn)重復(fù)字段。
3、表中的字段必須是原始數(shù)據(jù)或基本數(shù)據(jù)元素。
4、用外部關(guān)鍵字保證有關(guān)聯(lián)的表之間聯(lián)系。
二、設(shè)計(jì)步驟:
1、需求分析、2、確定需要的表;
3、確定所需字段;
4、確定關(guān)系;
5、設(shè)計(jì)求精
第三篇:計(jì)算機(jī)基礎(chǔ)vf例題!!
一,已知一個(gè)數(shù),取出其中各個(gè)數(shù)位上的書
1,若一個(gè)四位正整數(shù)是另一個(gè)正整數(shù)的平方,且各位數(shù)字的和是一個(gè)平方數(shù),則稱該四位正整數(shù)是“四位雙平方數(shù)”。例如:由于7396=86^2,且7+3+9+6=25=5^2,則稱7396是“四位雙平方數(shù)”求
所有“四位雙平方數(shù)”的個(gè)數(shù)。(答案17)
2,求出[750,978]內(nèi)不包含數(shù)字8的所有整數(shù)之和。(答案94415)3,求出[1234,6789]內(nèi)中間兩位數(shù)字之和等于首尾兩位數(shù)字之積的數(shù)的個(gè)數(shù)。(答案175)4,求所有符合算式ab*ba=3627的最大的兩位數(shù)ab(即a*10+b)。答案93 5,求[10,1000] 內(nèi)所有能被6整除但不能被9整除的整數(shù)之和。答案55440 6,求[1234,9876]內(nèi)回文數(shù)的個(gè)數(shù)。答案85 7,設(shè)某四位數(shù)的各位數(shù)字的平方和等于198,問滿足條件最大數(shù)和最小數(shù)之和是?答案12749 二.整除于余數(shù)
1,將大于1000且能被4和6中至少一個(gè)數(shù)整除的所有整數(shù)按從小到大順序后,求前面20個(gè)數(shù)之和。答案20610
2,求出將十進(jìn)制整數(shù)98765432等值轉(zhuǎn)換為二進(jìn)制形式后其中數(shù)字1的個(gè)數(shù)。答案13 3,求出將十進(jìn)制小數(shù)0.56789等值轉(zhuǎn)換為八進(jìn)制形式的表示中前18位小數(shù)中數(shù)字3的個(gè)數(shù)。答案3 4,求出[100,800]內(nèi)所有既不能被5整除也不能被7整除的數(shù)個(gè)數(shù)。答案480 5,求出559399的所有非平方因子中最小的。答案73 6,求前[1,100]內(nèi)能被6或8整除的所有自然數(shù)的平方根的和。答案162 8,求出20677和42067的最大公約數(shù)。答案713 9,求出42253和20677的的最小公倍數(shù)。答案971819 9求[200,300]之間能被其因子數(shù)整除的數(shù)中且能被3整除的數(shù)之和。1713 10求出[1234,6789]內(nèi)至少有兩位數(shù)字是7的所有整數(shù)之和。答案678981 11求[101,299]內(nèi)所有能被2整除但不能同時(shí)被3和5整除的整數(shù)之和。答案18630 求素?cái)?shù)
1求100-200內(nèi)所有素?cái)?shù)個(gè)數(shù)。21 2梅森尼數(shù)是指能使2^n-1為素?cái)?shù)的數(shù)n,求[1,21]范圍內(nèi)的梅森尼數(shù)個(gè)數(shù)。答案7 3求100-1000內(nèi)的第10個(gè)素?cái)?shù)。答案149 4設(shè)某四位數(shù)的各位數(shù)字的平方和為100,問滿足條件的最大四位數(shù)素?cái)?shù)?答案9133 5求兩位數(shù)中最大絕對(duì)素?cái)?shù),答案97 數(shù)列
1,等比數(shù)列1,3,9,27… 求使此數(shù)列前n項(xiàng)之和小于9876543的最大自然數(shù)n。答案15 填空程序填空:
1.下面程序是計(jì)算小于或等于35的所有正奇數(shù)的積和正偶數(shù)的和,并顯示符合條件的正奇數(shù)的積,填空。(654729075)
2.下列程序求三位數(shù)中,個(gè)位數(shù)字與十位數(shù)字之積除以3所得的余數(shù)是十位數(shù)字的偶數(shù)和,填空。(32022)
3.求100——999的水仙花數(shù)(如:153=1^3+5^3+3^3)的個(gè)數(shù)。填空。(4)4.求所有數(shù)字的和為16的四位數(shù)的個(gè)數(shù),填空。(564)5.已知S1=1,S2=1+2,S3=1+2+3,?Sn=1+2+3+?N,求S1,S2,S3,?S2800中有多少個(gè)能被3或7整除的數(shù)。(1272)
6.下面的程序是求1+3+5+?的奇數(shù)之和,若累加數(shù)大于123699時(shí)則結(jié)束累加。(123904)7.下列程序的功能是求N,其中N是一個(gè)四位整數(shù),它的九倍恰好是其反序數(shù)。(1089)8.下面程序是求S=1!+2!+3!+?+19!,填空。(***000)9.下面程序求在1,2,3,4,?,3000這3000個(gè)數(shù)中的任意兩個(gè)不同的數(shù),要求它們的和能被6整除的數(shù)的總對(duì)數(shù)。(749500)
10.求出45678的所有非平凡因子中的奇數(shù)的個(gè)數(shù)。(7)11.下面程序是計(jì)算小于或等于35的所有正奇數(shù)的積和正偶數(shù)的和,并顯示符合條件的正奇數(shù)的積,填空。(654729075)
12.下面程序是求30到150之間所有偶數(shù)的平方和并顯示結(jié)果,填空。(569740.00)13.下面程序是求2+4+6+?的偶數(shù)之積,若積數(shù)大于22500時(shí)則結(jié)束。(46080)14.求1*2*3*4*5^,當(dāng)積大于77777720時(shí)退出循環(huán)。(479001600)15.下列程序求三位數(shù)中,個(gè)位數(shù)字與十位數(shù)字之和除以10所得的余數(shù)是百位數(shù)字的偶數(shù)的個(gè)數(shù)。(45)
16.求解下列方程,x+y=7,x^2+2y^2=41.?X填空實(shí)現(xiàn)這一功能。(3)17.下面程序求2203年各月份中的15日有幾天是星期二。(3)18.下面的程序是求100到1500之間的質(zhì)數(shù)的個(gè)數(shù)。(214)19.下面的程序是求100到1500之間質(zhì)數(shù)的和。(163980)20.下列程序求能被3整除且有一位數(shù)字為5的三位數(shù)的個(gè)數(shù)。(85)
第四篇:VF教案31-40
第31課時(shí) 使用向?qū)?chuàng)建視圖
一、教學(xué)目的 使學(xué)生通過(guò)本節(jié)的學(xué)習(xí),使學(xué)生能利用創(chuàng)建一個(gè)視圖。
二、教學(xué)重難點(diǎn) 使用向?qū)?chuàng)建視圖和查詢的區(qū)別
三、教學(xué)方法 舉例 講授 演示
四、教學(xué)過(guò)程
同學(xué)們,在使用視圖向?qū)?chuàng)建視圖時(shí),向?qū)?huì)自動(dòng)列出創(chuàng)建視圖的步驟,用戶根據(jù)向?qū)峁┑奶崾就瓿上鄳?yīng)的操作,即可正確的建立視圖。
下面我來(lái)介紹一下創(chuàng)建視圖的幾個(gè)步驟:
(1)字段選取。選擇數(shù)據(jù)庫(kù),數(shù)據(jù)庫(kù)中的表和表中的字段。如果當(dāng)前已經(jīng)打開了一個(gè)數(shù)據(jù)庫(kù),則第一步的對(duì)話框中顯示的是創(chuàng)建當(dāng)前數(shù)據(jù)庫(kù)的視圖,也可以選擇其它的數(shù)據(jù)庫(kù)。
(2)關(guān)聯(lián)表。建立數(shù)據(jù)庫(kù)中表與表之間的關(guān)系。
(3)包含記錄。指定包含表中的全部記錄還是僅匹配的記錄。(4)篩選記錄。選定符合條件的記錄。
(5)排序記錄。為選定的記錄按照某一字段進(jìn)行排序。
(6)限定記錄。定制顯示一定數(shù)量的記錄。(7)完成視圖。選擇保存視圖后瀏覽還是修改。
例:創(chuàng)建包含Grade表和Courses表的本地視圖“視圖1”。
字段選擇完成后,單擊【下一步】,步驟2——為表建立關(guān)系。說(shuō)明:在這一步要建立用來(lái)建立本地視圖的表間的關(guān)系。
1、先在父表字段選擇下拉選擇框中選擇要用來(lái)建立關(guān)系的主關(guān)鍵字;
2、再在子表字段選擇下拉選擇框中選擇用來(lái)建立關(guān)系的子表關(guān)鍵字;
3、單擊【添加】,將設(shè)定關(guān)系添加到關(guān)系列表框中。
關(guān)系設(shè)置完成后單擊【下一步】進(jìn)入到步驟2a——字段選取對(duì)話框。
本例中選用默認(rèn)值:僅包含匹配的行。然后單擊【下一步】,進(jìn)入步驟3——篩選記錄。說(shuō)明:
僅包含匹配的行:生成的本地視圖中只包含表中關(guān)系相匹配的記錄,對(duì)應(yīng)于關(guān)系中的內(nèi)聯(lián)接的設(shè)置結(jié)果。
此表中所有的行:生成的本地視圖中包含Grade表中的全部記錄和子表中關(guān)鍵字段相匹配的記錄,對(duì)應(yīng)于關(guān)系中的左聯(lián)接的設(shè)置結(jié)果。
兩張表中所有的行:生成的本地視圖中包含表中所有的記錄,對(duì)應(yīng)于關(guān)系中的完全聯(lián)接的設(shè)置結(jié)果。小結(jié):
第32課時(shí)
使用向?qū)?chuàng)建視圖(2)
一、教學(xué)目的 使學(xué)生通過(guò)本節(jié)的學(xué)習(xí),使學(xué)生能利用創(chuàng)建一個(gè)視圖。
二、教學(xué)重難點(diǎn) 使用向?qū)?chuàng)建視圖和查詢的區(qū)別
三、教學(xué)方法 舉例 講授 演示
四、教學(xué)過(guò)程
本地視圖向?qū)В翰襟E3——篩選記錄
說(shuō)明:本地視圖向?qū)У暮Y選記錄與查詢向?qū)У暮Y選記錄的方式類似。在本例中不篩選記錄。
單擊【下一步】,進(jìn)入到本地視圖向?qū)У牟襟E4——排序記錄。本地視圖向?qū)В翰襟E4——排序記錄
說(shuō)明:在這一步中設(shè)置在本地視圖的記錄順序。
本例中可先按“學(xué)號(hào)”排序,學(xué)號(hào)相同的再按“課程代號(hào)”排序。
操作方法與建立查詢的記錄排序方法相同。先在“可用字段”列表框中選擇“學(xué)號(hào)”,然后單擊【添加】,再選擇“課程代號(hào)”,再單擊【添加】如上圖。排序字段及順序設(shè)置后單擊【下一步】,進(jìn)入本地視圖向?qū)В翰襟E4a——限制記錄。本地視圖向?qū)В翰襟E4a——限制記錄
限制記錄的方法與建立查詢的限制記錄的方法完全相同。在本例中仍保持在本地視圖中包含所有的記錄,因而取默認(rèn)值,直接單擊【下一步】,進(jìn)入本地視圖向?qū)В翰襟E5——完成。
在第5步中的操作方法也與建立查詢的方法相同,現(xiàn)選擇“保存本地視圖并瀏覽”,然后單擊【完成】。彈出“視圖名”對(duì)話框
在“視圖名”文本框中輸入“視圖1”
輸入視圖名后單擊【確認(rèn)】按鈕,系統(tǒng)顯示所建立的本地視圖的結(jié)果。本地視圖向?qū)ЫY(jié)束。
小結(jié):我們利用了兩節(jié)課的時(shí)間來(lái)學(xué)習(xí)了使用視圖向?qū)?lái)創(chuàng)建視圖的方法,創(chuàng)建視圖的方法其實(shí)和創(chuàng)建查詢的方法是基本相同的,同學(xué)們下去要多加把握一下。
第33課時(shí)
利用視圖設(shè)計(jì)器創(chuàng)建本地視圖
一、教學(xué)目的 使學(xué)生通過(guò)本節(jié)的學(xué)習(xí),使學(xué)生能利用創(chuàng)建一個(gè)視圖。
二、教學(xué)重難點(diǎn) 使用向?qū)?chuàng)建視圖和查詢的區(qū)別
三、教學(xué)方法 舉例 講授 演示
四、教學(xué)過(guò)程 前面我們學(xué)習(xí)了使用視圖向?qū)?lái)創(chuàng)建一個(gè)視圖,和查詢時(shí)一樣的,視圖也可以利用視圖設(shè)計(jì)器來(lái)創(chuàng)建一個(gè)視圖,通過(guò)本地視圖向?qū)Ы?shù)據(jù)庫(kù)視圖雖然方便,快捷,但這僅對(duì)入門者如此,何況用視圖向?qū)Ы?shù)據(jù)庫(kù)視圖最終還要依賴視圖設(shè)計(jì)器。因此,傾向獨(dú)立進(jìn)行開發(fā)的程序員來(lái)說(shuō),僅僅學(xué)會(huì)使用向?qū)沁h(yuǎn)遠(yuǎn)不夠的,還應(yīng)學(xué)會(huì)使用視圖設(shè)計(jì)器的強(qiáng)大功能來(lái)創(chuàng)建視圖。(1)進(jìn)入視圖設(shè)計(jì)器
進(jìn)入視圖設(shè)計(jì)器的方法與進(jìn)入查詢?cè)O(shè)計(jì)器的方法基本相同,下面以新建視圖的方式進(jìn)入視圖設(shè)計(jì)器。啟動(dòng)視圖設(shè)計(jì)器方法
新建一個(gè)視圖可按以下步驟進(jìn)入視圖設(shè)計(jì)器:
■選擇【文件】|【新建】命令,單擊“視圖”單選框,再單擊【新建文件】按鈕。
■在數(shù)據(jù)庫(kù)設(shè)計(jì)器中,選擇【數(shù)據(jù)庫(kù)】|【新建本地視圖】或單擊數(shù)據(jù)庫(kù)設(shè)計(jì)器的快捷菜單中的【新建本地視圖】|【新視圖】按鈕。
■在項(xiàng)目管理器中,單擊“數(shù)據(jù)”選項(xiàng)卡,在列表框中選定“本地視圖”,再單擊【新建】按鈕,單擊【新建視圖】按鈕。修改一個(gè)視圖可按以下步驟進(jìn)入視圖設(shè)計(jì)器:
■在數(shù)據(jù)庫(kù)設(shè)計(jì)器窗口中,單擊選定需要修改的視圖,選擇【數(shù)據(jù)庫(kù)】|【修改】命令。
■在數(shù)據(jù)庫(kù)設(shè)計(jì)器窗口中,右擊需要修改的視圖,在出現(xiàn)的快捷菜單中選擇【修改】命令。■在項(xiàng)目管理器中,單擊【數(shù)據(jù)】選項(xiàng)卡,在列表框中選定需要修改的視圖,單擊【修改】按鈕。
“視圖設(shè)計(jì)器”工具欄說(shuō)明
添加移去添加聯(lián)顯示SQL窗口 最大化上部窗
添加表:顯示“添加表或視圖”對(duì)話框,從而可以向設(shè)計(jì)器窗口添加一個(gè)表或視圖
移去表:從設(shè)計(jì)器窗口的上窗格中移去選定的表。添加聯(lián)接:在視圖中的兩個(gè)表之間創(chuàng)建聯(lián)接條件
顯示/隱藏SQL窗口:顯示或隱藏建立當(dāng)前視圖的SQL語(yǔ)句 最大化/最小化上部窗口:放大或縮小視圖設(shè)計(jì)器的上窗格(2)從表中選擇所需字段
在進(jìn)行本地視圖設(shè)計(jì)器之前,先建立Classzc表和Department表,表結(jié)構(gòu)和數(shù)據(jù)如下:
小結(jié):我們利用本節(jié)課講授了使用視圖設(shè)計(jì)器創(chuàng)建本地視圖的一部分內(nèi)容,剩下的內(nèi)容我們將在下一節(jié)課中繼續(xù)向大家講授。
第34課時(shí)
利用視圖設(shè)計(jì)器創(chuàng)建本地視圖(2)
一、教學(xué)目的 使學(xué)生通過(guò)本節(jié)的學(xué)習(xí),使學(xué)生能利用創(chuàng)建一個(gè)視圖。
二、教學(xué)重難點(diǎn) 使用向?qū)?chuàng)建視圖和查詢的區(qū)別
三、教學(xué)方法 舉例 講授 演示
四、教學(xué)過(guò)程
從中選定表Classzc并單擊【添加】按鈕,然后單擊【關(guān)閉】按鈕,啟動(dòng)視圖設(shè)計(jì)器。
進(jìn)入視圖設(shè)計(jì)器后,第一步先需要選定字段,選定字段可直接通過(guò)字段選項(xiàng)卡進(jìn)行。其操作方法與查詢?cè)O(shè)計(jì)器中選擇字段的方法相同。
從“可用字段”列表框里選定Classzc.班級(jí)簡(jiǎn)稱字段,單擊【添加】按鈕或雙擊該字段,則Classzc.班級(jí)簡(jiǎn)稱字段將會(huì)出現(xiàn)在右邊的“選定字段”列表框中。本次建立的視圖里,還需要選定Classzc.學(xué)習(xí)性質(zhì)、Classzc.學(xué)制二個(gè)字段。它們選定的方法與選定Classzc.班級(jí)簡(jiǎn)稱字段一樣。如果需選定字段是“可用字段”列表框中的所有字段,可以單擊【全部添加】按鈕,這樣就把所有字段添加到了“選定字段”列表框中去了,可以通過(guò)【移去】按鈕將其移出來(lái)。如果需要全部移出,可以利用【全部移去】按鈕快速移出。
要將表中的字段添加到“選定字段”列表框中,除了上述方法外,還可以將鼠標(biāo)指向視圖設(shè)計(jì)器上部窗口中的表窗口中的字段上,按住鼠標(biāo)左鍵或右鍵拖動(dòng)一個(gè)字段到“選定字段”列表框,該字段就被加入到了“選定字段”列表框中。還可以通過(guò)雙擊字段名將其加入到“選定字段”列表框。表窗口中的*代表表中的全部字段,它也是可以拖動(dòng)或雙擊的。若要從“選定字段”列表框中移去字段,也可以使用鼠標(biāo)拖動(dòng)或雙擊?!白侄巍边x項(xiàng)卡還有一個(gè)【屬性】按鈕和一個(gè)“函數(shù)和表達(dá)式”文本框。只要“選定字段”列表框中有一個(gè)值,【屬性】命令按鈕就成為可選的了。選擇【屬性】后,(3)建立多表關(guān)聯(lián)
前面主要是針對(duì)單一的本地表建立視圖,雖然很容易,但它的實(shí)際功能不大。因?yàn)樵趯?shí)際開發(fā)中,系統(tǒng)的數(shù)據(jù)庫(kù)很復(fù)雜,表的關(guān)聯(lián)性很強(qiáng),用戶關(guān)心的往往是一些復(fù)雜的數(shù)據(jù),因此需要建立多表視圖。
(4)與設(shè)計(jì)多表查詢不相同的部分——更新條件
視圖的最大特點(diǎn)在于能用視圖更新數(shù)據(jù),這也是建立視圖與建立查詢的主要區(qū)別,也是視圖的重點(diǎn)所在。視圖設(shè)計(jì)器中的“更新條件”選項(xiàng)卡可以用來(lái)設(shè)置允許視圖更新表字段的條件。
“更新條件”選項(xiàng)卡選項(xiàng)包括如下內(nèi)容:
■“表”:指定視圖所使用的哪些表可以修改。選擇這個(gè)下拉列表框中的選項(xiàng),可以確定哪些表中的字段可以在“字段名”列表框中,以便設(shè)置更新條件。此列表中所顯示的表都包含了“字段”選項(xiàng)卡“選定字段”列表中的字段?!觥局刂藐P(guān)鍵字】:這個(gè)按鈕作用是從每個(gè)表中選擇主關(guān)鍵字字段作為視圖的關(guān)鍵字字段。每個(gè)主關(guān)鍵字字段是在“字段名”列表中的、在鑰匙符號(hào)下面打一個(gè)對(duì)鉤的字段,關(guān)鍵字字段可
小結(jié):我們利用兩節(jié)課的時(shí)間向同學(xué)們介紹了有關(guān)使用視圖設(shè)計(jì)器來(lái)創(chuàng)建視圖的方法。同學(xué)們下去一定要好好的把握。
第35課時(shí)
使用視圖
一、教學(xué)目的 使學(xué)生通過(guò)本節(jié)的學(xué)習(xí),使學(xué)生能學(xué)會(huì)在VF中使用視圖。
二、教學(xué)重難點(diǎn) 使用視圖
三、教學(xué)方法 舉例 講授 演示
四、教學(xué)過(guò)程
同學(xué)們,建立視圖后,不但可以用它來(lái)顯示和更新數(shù)據(jù),而且還可以通過(guò)調(diào)整它的屬性來(lái)提高性能。處理視圖類似處理表,可以: ■使用USE命令并指定視圖名來(lái)打開一個(gè)視圖?!鍪褂肬SE命令關(guān)閉視圖?!鲈凇緸g覽】窗口中顯示視圖。
■在【查看】窗口中顯示已打開的視圖的別名?!鰧⒁晥D作為數(shù)據(jù)源,供表單或表格控件使用。若要使用一個(gè)視圖,可采取如下方法:
■在項(xiàng)目管理器中先選擇一個(gè)數(shù)據(jù)庫(kù),再選擇視圖名,然后單擊【瀏覽】按鈕,在【瀏覽】窗口中顯示視圖。■使用編程的方式訪問視圖。
下面的代碼在【瀏覽】窗口中顯示存放在c:gxglxt目錄下gxglxt數(shù)據(jù)庫(kù)中的視圖1:
open database c:gxglxtgxglxt use 視圖1 browse
在使用一個(gè)視圖時(shí),視圖將作為臨時(shí)表在自己的工作區(qū)打開。如果此視圖基于本地表,則VFP6會(huì)在另一個(gè)工作區(qū)同時(shí)打開基表。如果沒有打開任何表,或先執(zhí)行Close All命令后再執(zhí)行以上命令,則視圖1在工作區(qū)1打開,而其基表則在工作區(qū)2打開。要查看基表,可以通過(guò)選擇系統(tǒng)菜單上的【窗口】|【數(shù)據(jù)工作期】打開“數(shù)據(jù)工作期”窗口。但有一個(gè)例外,如果視圖是基于遠(yuǎn)程表,則基表將不在工作區(qū)中打開。而只在【查看】窗口中顯示遠(yuǎn)程視圖的名稱。
小結(jié):本節(jié)主要介紹了又關(guān)打開和關(guān)閉視圖的方法。
第36課時(shí)
視圖的編輯
一、教學(xué)目的 使學(xué)生通過(guò)本節(jié)的學(xué)習(xí),使學(xué)生能對(duì)視圖進(jìn)行編輯,及修改刪除等操作。
二、教學(xué)重難點(diǎn) 視圖的修改
三、教學(xué)方法 舉例 講授 演示
四、教學(xué)過(guò)程
同學(xué)們,有時(shí)用戶只想了解視圖的結(jié)構(gòu),而不關(guān)心視圖中的數(shù)據(jù)。這樣可以使用帶NODATA子句的USE命令來(lái)快速顯示視圖的結(jié)構(gòu)。例如: open database c:gxglxtgxglxt use 視圖1 nodata in 0 Select 視圖1 browse 通過(guò)運(yùn)行上面的命令語(yǔ)句,將在【瀏覽】窗口中看到?jīng)]有記錄的視圖1。因?yàn)槭褂肗ODATA子句時(shí),VFP6為視圖1創(chuàng)建一個(gè)永遠(yuǎn)返回.F.值的WHERE子句,而數(shù)據(jù)源上沒有記錄匹配WHERE子句的條件,所以沒有記錄被選擇。
重新命名視圖
建立一個(gè)視圖以后,還可以為其重新命名視圖,進(jìn)行視圖的重新命名,可以使用項(xiàng)目管理器或用RENAME VIEW命令。
■在項(xiàng)目管理器中先選擇一數(shù)據(jù)庫(kù),再右擊要重新命名的視圖。單擊【重命名】按鈕,出現(xiàn)一對(duì)話框后即可為視圖輸入新的名稱。
■使用RENAME VIEW命令。
例如,下面的代碼將視圖2重新命名為視圖1: rename view 視圖1 to 視圖2 說(shuō)明:在重新命名視圖之前,必須打開包含要命名視圖的數(shù)據(jù)庫(kù)。
刪除視圖
視圖同表一樣也是可以刪除的,刪除視圖可以使用項(xiàng)目管理器或使用DELETE VIEW命令?!鲈陧?xiàng)目管理器中選擇一個(gè)數(shù)據(jù)庫(kù),再選擇要?jiǎng)h除的視圖,然后用鼠標(biāo)右擊,單擊【移去】按鈕,即可刪除所選的視圖。
使用DELETE VIEW命令。
例如,如果要?jiǎng)h除數(shù)據(jù)庫(kù)xsglxt中的視圖2,可以鍵入以下的命令語(yǔ)句: delete view視圖2 說(shuō)明:在刪除視圖之前,必須打開包含要?jiǎng)h除視圖的數(shù)據(jù)庫(kù)并設(shè)置其為當(dāng)前數(shù)據(jù)庫(kù)。
創(chuàng)建視圖索引
同為表建立索引一樣,也可以為視圖建立索引。但與表不同的是,在視圖上創(chuàng)建的本地索引不能永久保存,它們隨著視圖的關(guān)閉而消失。為視圖建立本地索引,可以使用INDEX ON命令。關(guān)于該命令的參數(shù),在創(chuàng)建表的索引時(shí)已有介紹。另有一點(diǎn)需要注意的是,在決定是否在視圖上建立索引時(shí),要考慮視圖結(jié)果集合的大小。對(duì)于一個(gè)大的結(jié)果集合來(lái)說(shuō),索引要花費(fèi)很長(zhǎng)的時(shí)間,并可能降低視圖的性能。因此,要根據(jù)實(shí)際情況處理。
小結(jié):本節(jié)課主要介紹了有關(guān)視圖的編輯,如修改視圖結(jié)構(gòu),刪除視圖,重命名視圖的方法等,同學(xué)們一定要好好的把握。
第37課時(shí)
創(chuàng)建參數(shù)化視圖
一、教學(xué)目的 使學(xué)生通過(guò)本節(jié)的學(xué)習(xí),使學(xué)生能熟練的創(chuàng)建一個(gè)參數(shù)化視圖。
二、教學(xué)重難點(diǎn) 創(chuàng)建參數(shù)化視圖
三、教學(xué)方法 舉例 講授 演示
四、教學(xué)過(guò)程 VFP可以創(chuàng)建具有提示輸入值來(lái)查詢信息的視圖,稱為參數(shù)化視圖,這樣的視圖具有更大的靈活性和更強(qiáng)的適應(yīng)性??杀苊饷咳∫徊糠钟涗浿稻鸵⒁晥D的情況。
可用以下方法創(chuàng)建參數(shù)化視圖:
(1)打開視圖設(shè)計(jì)器,從【查詢】菜單中選擇【視圖參數(shù)】命令,此時(shí)系統(tǒng)彈出視圖參數(shù)對(duì)話框,如圖所示:
2)在視圖參數(shù)對(duì)話框中輸入?yún)?shù)名及其數(shù)據(jù)類型。此例中建立一個(gè)名為“系部代號(hào)”的視圖參數(shù),此視圖參數(shù)可以任意取,但數(shù)據(jù)類型要和所要查詢的記錄類型一致。參數(shù)名可以是字母字符、數(shù)字和單引號(hào)的任意組合。(3)按下確定按鈕,就為此視圖建立了一個(gè)視圖參數(shù)了。下面設(shè)計(jì)一個(gè)帶參數(shù)的視圖(視圖4):
(1)打開“視圖設(shè)計(jì)器”,選定表Classzc、Student、Course和Grade四個(gè)表,并選取.Classzc.系部代號(hào)、Classzc.班級(jí)名稱、Student.學(xué)號(hào)、Student.姓名、Course.課程名、Grade.開課學(xué)期、Grade.課程成績(jī)這7個(gè)字段名作為輸出字段。(2)在“篩選”選項(xiàng)卡中的“字段名”下拉列表框中選擇Classzc.系部代號(hào),在“條件”列表框中選定“=”,在“實(shí)例”文本框中輸入“?系部代號(hào)”。這個(gè)問號(hào)表示引用一個(gè)表達(dá)式所需要的參數(shù)。問號(hào)后的文字標(biāo)識(shí)了這個(gè)參數(shù)的名稱。同時(shí)還可以設(shè)定如“Grade.開課學(xué)期=‘?開課學(xué)期’”。(3)選擇【查詢】|【視圖參數(shù)】,進(jìn)入“視圖參數(shù)”對(duì)話框,在“參數(shù)名”文本框中輸入?yún)?shù)名稱“系部代號(hào)”,在“類型”下拉列表框中選定參數(shù)的類型為“字符型”,同樣還輸入“開課學(xué)期”、“字符型”,然后單擊【確定】按鈕。
(4)通過(guò)選擇【查詢】|【運(yùn)行查詢】命令,或通過(guò)單擊鼠標(biāo)右鍵再選擇【運(yùn)行查詢】命令,系統(tǒng)彈出如圖所示的視圖參數(shù)對(duì)話框。
在此對(duì)話框中可以輸入將要查詢的參數(shù)的某一具體數(shù)值,在此輸入“05”;在后面彈出的“輸入一個(gè)字符型值,供‘開課學(xué)期’使用”對(duì)話框中輸入“第1學(xué)期”。
單擊確定按鈕,查詢的結(jié)果即顯示在屏幕上。
說(shuō)明:教師在大屏幕上演示具體的操作過(guò)程,學(xué)生仔細(xì)觀察,然后自己在電腦上進(jìn)行實(shí)踐。
第38課時(shí)
利用視圖更新數(shù)據(jù)
一、教學(xué)目的 使學(xué)生通過(guò)本節(jié)的學(xué)習(xí),使學(xué)生能熟練的利用視圖來(lái)更新數(shù)據(jù)。
二、教學(xué)重難點(diǎn) 更新數(shù)據(jù)的方法。
三、教學(xué)方法 舉例 講授 演示
四、教學(xué)過(guò)程 同學(xué)們,我們說(shuō)過(guò),視圖和查詢最大的區(qū)別就是,查詢不能對(duì)數(shù)據(jù)進(jìn)行更新,而視圖是可以的,我們這節(jié)課就學(xué)習(xí)如何對(duì)視圖中的數(shù)據(jù)進(jìn)行更新。
在項(xiàng)目管理器中選擇“視圖3”,單擊【修改】,在視圖設(shè)計(jì)器中選擇“字段”選項(xiàng)卡,如圖。
在上圖中,請(qǐng)注意Grade表中的字段。選擇“更新條件”選項(xiàng)卡,進(jìn)行如圖設(shè)置:
■設(shè)定關(guān)鍵字段和可修改字段。
注意:因?yàn)楸鞧rade中每個(gè)字段的值都不唯一,所以要用組合關(guān)鍵字(學(xué)號(hào)+課程代號(hào)+開課學(xué)期)
■存檔并顯示結(jié)果。選【文件】|【保存】或從工具欄中單擊保存按鈕保存此視圖。選取菜單【查詢】|【運(yùn)行查詢】查看結(jié)果,為視圖參數(shù)輸入“04”(帶定界符)、“第1學(xué)期”后的運(yùn)行結(jié)果如圖 :
■修改視圖數(shù)據(jù)。既然我們已經(jīng)為視圖3視圖文件設(shè)定關(guān)鍵字段與可更新字段,也就是設(shè)定了視圖文件中哪些字段可以經(jīng)過(guò)修改而自動(dòng)更正原始數(shù)據(jù)文件內(nèi)容,現(xiàn)在就來(lái)驗(yàn)證這些設(shè)定是否生效。
將視圖中最后一條記錄的“課程成績(jī)”由62改為99。
更改完畢后操作光標(biāo)離開這條記錄,觀察Grade表中相關(guān)記錄變化的情形。
從結(jié)果可以看出:Grade表中的學(xué)號(hào)和課程成績(jī)已隨著視圖文件的更改而自動(dòng)修正了。表示我們?cè)O(shè)定的可更新字段生效。
說(shuō)明:教師在大屏幕上邊操作邊演示,讓學(xué)生仔細(xì)觀察。任務(wù)1:在學(xué)生登記表視圖中,把李飛的姓名改為李雄飛。任務(wù)2:在各科成績(jī)表視圖中,把張三的語(yǔ)文成績(jī)由65改為99.小結(jié):我們本節(jié)課主要介紹了有關(guān)視圖的更新數(shù)據(jù)的方法,從視圖更新數(shù)據(jù)這在VF中是非常重要的一個(gè)內(nèi)容,同學(xué)們一定要仔細(xì)體會(huì)其中的奧妙。
第五篇:vf教案13-20
第13課時(shí) 創(chuàng)建查詢
一、教學(xué)目的1、使學(xué)生掌握使用查詢向?qū)?chuàng)建查詢的方法。
2、理解查詢和查找的區(qū)別
二、教學(xué)重難點(diǎn) 使用查詢向?qū)В樵兒筒檎业膮^(qū)別
三、教學(xué)方法 舉例 講授 演示
四、教學(xué)過(guò)程 同學(xué)們,我們說(shuō)VF中最最重要的功能就是它的查詢功能了,在本節(jié)課中我們將重點(diǎn)來(lái)學(xué)習(xí)VF的查詢,理解它的強(qiáng)大的功能。
說(shuō)明:查找和查詢的區(qū)別。
同學(xué)們,我們?nèi)绻谝粋€(gè)表中要找到某個(gè)記錄時(shí),最簡(jiǎn)單的方法就是選擇,編輯菜單下的查找了,它的使用方法和我們平時(shí)使用WORD是一樣的,但是那是簡(jiǎn)單查找并不是查詢,當(dāng)我們要查找某些復(fù)雜的記錄時(shí),我們就要使用VF中的查詢功能了。
我們這節(jié)課將學(xué)習(xí)使用查詢向?qū)?lái)創(chuàng)建查詢的方法。
舉例:創(chuàng)建一個(gè)查詢,在“學(xué)生管理”數(shù)據(jù)庫(kù)中的“各科成績(jī)”表中查詢語(yǔ)文大于60并且數(shù)學(xué)大于70的學(xué)生信息,要求要顯示的字段有,學(xué)號(hào)、姓名、語(yǔ)文、數(shù)學(xué)。分析:
使用查詢向?qū)Э梢钥焖賱?chuàng)建查詢,一般的操作步驟是:(1)選擇在查詢結(jié)果中要顯示的字段
(2)設(shè)置查詢條件來(lái)篩選在查詢結(jié)果中包含的記錄(3)設(shè)置排序來(lái)組織查詢結(jié)果(4)選擇結(jié)果輸出記錄的比例數(shù)
啟動(dòng)查詢向?qū)Э梢詮摹拔募辈藛沃袉螕簟靶陆ā泵?,在“新建”?duì)話框中選擇“文件類型”中的“查詢”,然后單擊“向?qū)А卑粹o,啟動(dòng)查詢向?qū)А?/p>
操作:(教師在使用教學(xué)系統(tǒng)進(jìn)行演示,然后說(shuō)明每一步操作的過(guò)程)以查詢文件名為“查詢1”保存,系統(tǒng)默認(rèn)的擴(kuò)展名為.qpr。提高
建立查詢后,如果要運(yùn)行該查詢,在Visual FoxPro 6.0 窗口,選擇“程序”菜單中的“運(yùn)行”,從打開的“運(yùn)行”窗口中選擇要運(yùn)行的查詢,如“查詢1.qpr”,顯示查詢運(yùn)行結(jié)果。
另一種運(yùn)行方法是使用命令方式,命令格式如下: DO 查詢文件名.qpr 例如,在命令窗口鍵入: DO查詢1.qpr 命令中的查詢文件名必須給出擴(kuò)展名.qpr。
說(shuō)明:同學(xué)們,查詢文件的擴(kuò)展名是.qpr,這一點(diǎn)大家要牢牢掌握。
任務(wù)1:在各科成績(jī)表中查詢語(yǔ)文小于60并且數(shù)學(xué)也小于60的同學(xué)的信息,要求顯示的字段有學(xué)號(hào)、姓名、語(yǔ)文、數(shù)學(xué)。
等學(xué)生完成后,提問一兩個(gè)同學(xué)到大屏幕上進(jìn)行操作,然后糾正他們出現(xiàn)的問題。任務(wù)2:在學(xué)籍信息登記表中,查詢1982年1月1日以后出生的所有男生的信息,要求顯示的字段有學(xué)號(hào)、姓名、性別、出生年月、是否黨員、入學(xué)成績(jī),查詢結(jié)果保存為查詢3。
提示:日期時(shí)間型的數(shù)據(jù)應(yīng)該是怎么表示的? 這個(gè)題目中共限制了幾個(gè)查詢條件。
同樣,等學(xué)生完成后,提問一兩個(gè)同學(xué)到大屏幕上進(jìn)行操作,然后糾正他們出現(xiàn)的問題,在這里尤其要強(qiáng)調(diào)的是日期時(shí)間型數(shù)據(jù)的表示方法。1982年1月1日以后出生到底是大于這個(gè)日期還是小于,讓學(xué)生自己試試,這樣才能達(dá)到很好的效果。小結(jié): 同學(xué)們,我們本節(jié)課主要講授了使用查詢向?qū)?lái)對(duì)數(shù)據(jù)表進(jìn)行簡(jiǎn)單的查詢,使用查詢能讓我們?cè)邶嫶蟮臄?shù)據(jù)海洋里面很輕松的找到我們需要的記錄,能大大節(jié)約時(shí)間,提高效率,同學(xué)們下去一定要多多的練習(xí)。
第14課時(shí) 使用查詢?cè)O(shè)計(jì)器創(chuàng)建查詢
一、教學(xué)目的1、使學(xué)生掌握使用查詢?cè)O(shè)計(jì)器創(chuàng)建查詢的方法。
2、理解查詢向?qū)Ш褪褂貌樵冊(cè)O(shè)計(jì)器創(chuàng)建查詢的方法。
二、教學(xué)重難點(diǎn) 使用查詢?cè)O(shè)計(jì)器創(chuàng)建查詢
三、教學(xué)方法 舉例 講授 演示
四、教學(xué)過(guò)程
同學(xué)們,利用查詢?cè)O(shè)計(jì)器可以按照需要設(shè)計(jì)一個(gè)查詢,如將滿足條件的記錄選擇出來(lái)。而且還可以用它對(duì)一個(gè)已有的查詢進(jìn)行編輯和修改。下面用二個(gè)例子來(lái)說(shuō)明如何創(chuàng)建滿足條件的查詢。
例6.7 創(chuàng)建一個(gè)名為“數(shù)學(xué)及格”的選擇查詢,將表“grade”中數(shù)學(xué)成績(jī)高于等于60 分的記錄選擇出來(lái),查詢包括“學(xué)生編號(hào)”、“數(shù)學(xué)”、“英語(yǔ)”、“計(jì)算機(jī)”等字段,并按數(shù)學(xué)成績(jī)從高到低排序。
使用查詢?cè)O(shè)計(jì)器創(chuàng)建一個(gè)選擇查詢來(lái)解決以上問題,操作步驟如下:(1)在數(shù)據(jù)庫(kù)窗口選中“查詢”對(duì)象,單擊“在設(shè)計(jì)視圖中創(chuàng)建查詢”選項(xiàng),進(jìn)入“選擇查詢”窗口,同時(shí)彈出“顯示表”對(duì)話框。
(2)單擊“表”選項(xiàng)卡,雙擊“grade”,把“grade”表選入查詢?cè)O(shè)計(jì)器的表/查詢顯示區(qū)后,關(guān)閉“顯示表”對(duì)話框。
(3)分別雙擊“學(xué)生編號(hào)”、“數(shù)學(xué)”、“英語(yǔ)”和“計(jì)算機(jī)”字段名,將它們添加到查詢?cè)O(shè)計(jì)區(qū)的網(wǎng)格中,如下左圖所示。
(4)將光標(biāo)定位在“數(shù)學(xué)”的“準(zhǔn)則”框內(nèi),輸入“>=60”,再將光標(biāo)定位在排序的框內(nèi),單擊出現(xiàn)的下拉箭頭,如上左圖中箭頭所示,在出現(xiàn)的下拉列表框中選擇“降序”。
(5)單擊右上角的關(guān)閉按鈕,保存對(duì)查詢?cè)O(shè)計(jì)的更改,在出現(xiàn)的“另存為”對(duì)話框中輸入“數(shù)學(xué)及格”,然后單擊“確定”。查詢“數(shù)學(xué)及格”添加到數(shù)據(jù)庫(kù)窗口中。(6)在“數(shù)學(xué)及格”查詢上雙擊,顯示查詢結(jié)果集,如上右圖所示。教師在大屏幕上演示操作方法,學(xué)生自己觀摩。
總結(jié):同學(xué)們,使用查詢?cè)O(shè)計(jì)器設(shè)計(jì)查詢要經(jīng)過(guò)以下步驟:
1、打開查詢?cè)O(shè)計(jì)器
2、選擇想從中獲取的信息的表或視圖,并建立好它們之間的聯(lián)系。
3、選擇出現(xiàn)在查詢結(jié)果中的字段。
4、設(shè)置篩選的條件,查找所需的記錄。
5、設(shè)置排序,分組等選項(xiàng),組織查詢結(jié)果。
6、選擇查詢結(jié)果輸出的方向,表,報(bào)表,或?yàn)g覽等。(下節(jié)課介紹)
7、運(yùn)行查詢。
8、保存查詢文件。
第15課時(shí) 復(fù)習(xí)查詢?cè)O(shè)計(jì)器創(chuàng)建查詢
一、教學(xué)目的1、使學(xué)生掌握使用查詢?cè)O(shè)計(jì)器創(chuàng)建查詢的方法。
2、理解查詢向?qū)Ш褪褂貌樵冊(cè)O(shè)計(jì)器創(chuàng)建查詢的方法。
二、教學(xué)重難點(diǎn) 使用查詢?cè)O(shè)計(jì)器創(chuàng)建查詢
三、教學(xué)方法 舉例 講授 演示
四、教學(xué)過(guò)程
例6.8建立一個(gè)名為“成績(jī)總分”的查詢,包含 “學(xué)號(hào)”、“姓名”、“數(shù)學(xué)”、“英語(yǔ)”、“計(jì)算機(jī)” 字段,并新建一個(gè)總分字段。其中:總分=數(shù)學(xué)+英語(yǔ)+計(jì)算機(jī),并將總分大于240的記錄顯示出來(lái)。操作步驟
(1)在數(shù)據(jù)庫(kù)窗口選中“查詢”對(duì)象,選擇“在設(shè)計(jì)視圖中創(chuàng)建查詢”,進(jìn)入“選擇查詢”窗口,同時(shí)彈出“顯示表”對(duì)話框。
(2)單擊“表”選項(xiàng)卡,由于數(shù)據(jù)來(lái)源于“grade”和“students”兩個(gè)表,分別雙擊“grade”、“students”,然后關(guān)閉“顯示表”對(duì)話框。由于在6.2.7節(jié)已在“grade”和“students”表間建立了關(guān)系,故在它們之間出現(xiàn)一對(duì)一的關(guān)系連線,如下圖所示。
(3)分別雙擊“學(xué)號(hào)”、“姓名”、“數(shù)學(xué)”、“英語(yǔ)”和“計(jì)算機(jī)”字段名,把要求在查詢中顯示的“學(xué)號(hào)”等各個(gè)字段添加到查詢?cè)O(shè)計(jì)區(qū)內(nèi),如上圖所示。
(4)將光標(biāo)定位到空白字段中,如上圖中箭頭所示。此時(shí),工具欄上生成器按鈕 變?yōu)榭捎?,單擊它,彈出表達(dá)式生成器對(duì)話框如下圖所示。
(5)在上圖的左下方的框內(nèi),雙擊“表”文件夾,選擇出現(xiàn)的“grade”表,如上圖所示,在中間的框中會(huì)顯示出“grade”表的所有字段。
(5)雙擊“數(shù)學(xué)”,單擊“+”,雙擊“英語(yǔ)”,單擊“+”,雙擊“計(jì)算機(jī)”,則整個(gè)公式[grade]![數(shù)學(xué)] + [grade]![英語(yǔ)] + [grade]![計(jì)算機(jī)] 就顯示出來(lái),如上圖上部框中間所示。
(7)單擊“確定”按鈕,可以看到表達(dá)式出現(xiàn)在字段框中,把“表達(dá)式1”這幾個(gè)字改成“總分”(注意:冒號(hào)及冒號(hào)右邊的內(nèi)容不能改動(dòng)),在下面的準(zhǔn)則框中,輸入“>240”,如下左圖中箭頭所示。
圖6.4.3.4圖6.4.3.5(8)單擊窗口右上角的“關(guān)閉”,保存更改。在彈出的“另存為”對(duì)話框中,輸入查詢名“成績(jī)總分”,單擊“確定”。雙擊建好的查詢“成績(jī)總分”,查詢結(jié)果如上右圖所示。
學(xué)生先進(jìn)行操作,不會(huì)的地方教師進(jìn)行詳細(xì)的講解和大屏幕上演示。小結(jié): 本節(jié)主要通過(guò)實(shí)例讓同學(xué)們熟練的掌握查詢?cè)O(shè)計(jì)器來(lái)設(shè)計(jì)查詢的的過(guò)程,對(duì)查詢?cè)O(shè)計(jì)器在數(shù)據(jù)庫(kù)中的一些具體應(yīng)用有了更深入的了解。
第16課時(shí) 設(shè)置查詢的去向
一、教學(xué)目的
使學(xué)生能熟練掌握設(shè)置查詢的去向的方法。
二、教學(xué)重難點(diǎn) 設(shè)置查詢的去向
三、教學(xué)方法 舉例 講授 演示
四、教學(xué)過(guò)程 同學(xué)們,我們前面所使用的查詢結(jié)果都是在表中顯示出來(lái)的,但是如果我們要用其它方式來(lái)顯示查詢結(jié)果,這就是我們本節(jié)課需要學(xué)習(xí)的知識(shí)。
設(shè)置查詢?nèi)ハ?/p>
當(dāng)我們單擊工具欄上的“查詢?nèi)ハ颉卑粹o,或從“查詢”菜單中選擇“查詢?nèi)ハ颉?,或單擊右鍵并在快捷菜單中選擇“輸出設(shè)置”都可以出現(xiàn)下面的“查詢?nèi)ハ颉睂?duì)話框。
它有七個(gè)不同的選項(xiàng),允許將查詢結(jié)果傳送給七個(gè)不同的輸出設(shè)備。選擇不同的按鈕,其窗口中的選項(xiàng)也不一樣。上圖中是默認(rèn)的“瀏覽”,即將查詢結(jié)果送到“瀏覽”窗口中顯示,以進(jìn)行檢查和編輯。
當(dāng)單擊“臨時(shí)表”時(shí),窗口如下:
以指定的名稱把查詢結(jié)果存貯于臨時(shí)表中。此臨時(shí)表只讀,并在“數(shù)據(jù)工作期”窗口中出現(xiàn)。臨時(shí)表可用于瀏覽,生成報(bào)表或其他目的。當(dāng)關(guān)閉這個(gè)表時(shí),查詢結(jié)果隨之消失。當(dāng)單擊“表”時(shí),窗口如下:
用指定的文件名,將查詢結(jié)果存為(.dbf)表文件?!氨砻边x項(xiàng)用來(lái)指定表的名稱。既可以在文本框中鍵入名稱,也可以使用三點(diǎn)按鈕來(lái)選擇一個(gè)已有的、要覆蓋的表。
單擊“圖形”按鈕,產(chǎn)生可由 Microsoft Graph處理的圖形。在設(shè)置GENGRAPH之后才可用。
單擊“屏幕”按鈕,使查詢結(jié)果在活動(dòng)輸出窗口中顯示。通過(guò)選擇“次級(jí)輸出”中的單選按鈕可以在把查詢結(jié)果輸出到屏幕的同時(shí)輸出到打印機(jī)或文本文件?!斑x項(xiàng)”復(fù)選框可以設(shè)置是否輸出列標(biāo)頭和是否在屏幕之間暫停。
單擊“報(bào)表”按鈕,將查詢結(jié)果按某一報(bào)表布局顯示。使用此選項(xiàng)必須先設(shè)置報(bào)表文件(.frx),來(lái)容納查詢中的輸出字段。如下圖:
在“打開報(bào)表”文本框中輸入報(bào)表名,或單擊“打開報(bào)表”按鈕選擇報(bào)表名,或者單擊右側(cè)的報(bào)表向?qū)О粹o進(jìn)入報(bào)表向?qū)?,產(chǎn)生一個(gè)報(bào)表?!按渭?jí)輸出”同“屏幕”。
如果選擇“頁(yè)面預(yù)覽”將在“頁(yè)面預(yù)覽”窗口中顯示輸出結(jié)果。
如果選擇“活動(dòng)控件臺(tái)”將在活動(dòng)輸出窗口中顯示輸出結(jié)果。
如果選擇“報(bào)告之前釋放頁(yè)”,將在報(bào)表開始之前打印一空白頁(yè),以在打印機(jī)上隔開文檔
如果選擇“僅總結(jié)信息”,將不打印細(xì)節(jié)信息。所生成的報(bào)表包括標(biāo)頭、注腳、總計(jì)信息等等,但不包括細(xì)節(jié)信息。
單擊“標(biāo)簽”按鈕,將會(huì)將查詢結(jié)果輸出到一個(gè)標(biāo)簽文件(.LBX)。使用此選項(xiàng)必須先設(shè)置標(biāo)簽文件,來(lái)容納查詢中的輸出字段。其選項(xiàng)前面幾個(gè)去向中已介紹。
第17課時(shí) 復(fù)習(xí)
一、教學(xué)目的
通過(guò)讓學(xué)生做一些練習(xí)題來(lái)掌握有關(guān)查詢的使用。
二、教學(xué)重難點(diǎn) 設(shè)置查詢的去向
三、教學(xué)方法 舉例 講授 演示
四、教學(xué)過(guò)程 選擇題
1.現(xiàn)實(shí)世界中事物在某一方面的特性在信息世界中稱為()A.實(shí)體 B.實(shí)體值 C.屬性 D.信息
2.?dāng)?shù)據(jù)的存儲(chǔ)結(jié)構(gòu)與數(shù)據(jù)邏輯結(jié)構(gòu)之間的獨(dú)立性稱為數(shù)據(jù)的()A.結(jié)構(gòu)獨(dú)立性 B.物理獨(dú)立性 C.邏輯獨(dú)立性 D.分布獨(dú)立性
3.應(yīng)用程序設(shè)計(jì)的工作開始于數(shù)據(jù)庫(kù)設(shè)計(jì)步驟的()A.需求分析階段 B.概念設(shè)計(jì)階段
C.邏輯設(shè)計(jì)階段 D.物理設(shè)計(jì)階段 4.在關(guān)系R中,代數(shù)表達(dá)式 σ3<4(R)表示()A.從R中選擇值為3的分量小于第4個(gè)分量的元組組成的關(guān)系 B.從R中選擇第3個(gè)分量值小于第4個(gè)分量的元組組成的關(guān)系
C.從R中選擇第3個(gè)分量的值小于4的元組組成的關(guān)系
D.從R中選擇所有元組組成的關(guān)系
5.對(duì)關(guān)系模式進(jìn)行分解時(shí),要使分解具有無(wú)損失連接性,在下屬范式中最高可以達(dá)到()A.2NF B.3NF C.BCNF D.4NF 6.事務(wù)的ACID性質(zhì),是指事務(wù)具有原子性、一致性和()A.隔離性、透明性 B.獨(dú)立性、透明性
C.隔離性、持久性 D.共享性、持久性
7.各個(gè)場(chǎng)地采用同一類型的數(shù)據(jù)模型,使用不同型號(hào)的DBMS,這種分布式數(shù)據(jù)庫(kù)系統(tǒng)的類型屬于()A.同構(gòu)同質(zhì)型 B.同構(gòu)異質(zhì)型 C.異構(gòu)同質(zhì)型 D.異構(gòu)異質(zhì)型 8.為解決“丟失更新”問題,事務(wù)在更新一個(gè)數(shù)據(jù)集合前,必須獲得對(duì)它的()A.S鎖 B.X鎖 C.S鎖和X鎖 D.S鎖或X鎖
9.在刪除基本表中某個(gè)元組時(shí),將以此表為參照表的關(guān)系中外鍵與主鍵相同的元組一起刪除,應(yīng)采用的方式是()A.RESSTRDICT方式 B.CASCADE方式 C.SET NULL方式 D.CHECK方式
10.在SQL的查詢語(yǔ)句中,對(duì)應(yīng)關(guān)系代數(shù)中“投影”運(yùn)算的語(yǔ)句是()A.SELECT B.FROM C.WHERE D.SET 11.在關(guān)系模式R(U,F)中,X,Y,Z是U中屬性,則多值依賴的傳遞律是()A.如果X→→Y,Y→→Z,則X→→Z B.如果X→→Y,Y→→Z,則X→→YZ C.如果X→→Y,Y→→Z,則X→→YZ D.如果X→→Y,Y→→Z,則X→→Z-Y 12.在數(shù)據(jù)庫(kù)設(shè)計(jì)中,將E-R圖轉(zhuǎn)換成關(guān)系數(shù)據(jù)模型的過(guò)程屬于()A.需求分析階段
B.邏輯設(shè)計(jì)階段
C.概念設(shè)計(jì)階段
D.物理設(shè)計(jì)階段
13.關(guān)系代數(shù)的五個(gè)基本操作可直接轉(zhuǎn)換成元組關(guān)系演算表達(dá)式,它們是:并、差、投影、選擇和()
A.交
B.笛卡爾積
C.自然連接
D.除法 14.SQL語(yǔ)言具有的功能是()A.關(guān)系規(guī)范化,數(shù)據(jù)操縱,數(shù)據(jù)控制
B.數(shù)據(jù)定義,數(shù)據(jù)操縱,數(shù)據(jù)控制
C.數(shù)據(jù)定義,關(guān)系規(guī)范化,數(shù)據(jù)控制
D.數(shù)據(jù)定義,關(guān)系規(guī)范化,數(shù)據(jù)操縱
第18課時(shí) 多表查詢(1)
一、教學(xué)目的
使學(xué)生掌握使用查詢?cè)O(shè)計(jì)器對(duì)多表進(jìn)行查詢
二、教學(xué)重難點(diǎn) 多表查詢
三、教學(xué)方法 舉例 講授 演示
四、教學(xué)過(guò)程 同學(xué)們,前面我們學(xué)習(xí)的查詢都是基于一個(gè)表進(jìn)行的,那么如果要在多個(gè)表之間進(jìn)行查詢的話,那就要使用多表查詢,就是我們本節(jié)課需要學(xué)習(xí)的知識(shí)了。
我們通過(guò)一個(gè)例子來(lái)讓同學(xué)們了解多表查詢的方法。
為了以后舉例的方便,我們?cè)俳⒁粋€(gè)“圖書訂貨庫(kù)”,它包括圖書表、訂貨表、客戶表三個(gè)表。分別將圖書表.書名、客戶表.客戶名稱設(shè)置為主索引,將訂貨表.書名和客戶名稱設(shè)置為普通索引,并且在各表之間建立關(guān)聯(lián)。如下圖:
在圖書表中輸入數(shù)據(jù)(所有數(shù)據(jù)為隨意設(shè)置,不做實(shí)際參考),如下圖:
在訂貨表中輸入數(shù)據(jù),如下圖:
在客戶表中輸入內(nèi)容,如下圖:
我們建立這個(gè)多表查詢的目的是查詢“客戶名稱”為新華書店的訂貨信息。
我們看到,圖書訂貨數(shù)據(jù)庫(kù)中圖書表和客戶表是多對(duì)多關(guān)系,即一種書可由多個(gè)客戶訂購(gòu),一個(gè)客戶可訂購(gòu)多種書。而圖書表和訂貨表、客戶表和訂貨表都是一對(duì)多關(guān)系。
小結(jié):本節(jié)主要是讓同學(xué)們先建立我們需要的數(shù)據(jù)表,為下一節(jié)課的多表查詢建立基礎(chǔ)。
第19課時(shí) 多表查詢(2)
一、教學(xué)目的
使學(xué)生掌握使用查詢?cè)O(shè)計(jì)器對(duì)多表進(jìn)行查詢
二、教學(xué)重難點(diǎn) 多表查詢
三、教學(xué)方法 舉例 講授 演示
四、教學(xué)過(guò)程 同學(xué)們,上一節(jié)課我們建立了幾個(gè)表,這節(jié)課我們就用這幾個(gè)表來(lái)建立一個(gè)多表查詢。接上節(jié)課的內(nèi)容。我們打開“文件”菜單,單擊“新建”,選擇“查詢”并單擊“新件文件”按鈕,進(jìn)入查詢?cè)O(shè)計(jì)器。在“添加表或視圖”窗口中依次將“圖書訂貨庫(kù)”的圖書表、訂貨表和客戶表加入到表設(shè)計(jì)器。如下圖:
由于我們?cè)凇皥D書訂貨庫(kù)”中建立了表間永久關(guān)系,因此在添加的表之間自動(dòng)產(chǎn)生關(guān)聯(lián)。
注意:如果我們添加了圖書表后接著添加客戶表,由于我們?cè)跀?shù)據(jù)庫(kù)中未建立兩表的直接關(guān)聯(lián),便會(huì)彈出一個(gè)“聯(lián)接條件”對(duì)話框,要求加入聯(lián)接條件,我們不需要這兩表建立直接關(guān)聯(lián),按“取消”按鈕即可。如下圖:
我們需要了解的項(xiàng)目有客戶名稱、訂購(gòu)的書名、每本書的定價(jià)、訂貨數(shù)量、每種書的預(yù)付款總額、客戶聯(lián)系電話,聯(lián)系人等。因此我們?cè)凇白侄巍边x項(xiàng)卡中選擇加入相應(yīng)的字段。
其中的每種書預(yù)付款總額沒有與之相應(yīng)的字段,需要在“函數(shù)和表達(dá)式”文本框中建立。單擊文本框右側(cè)的三點(diǎn)按鈕,進(jìn)入“表達(dá)式設(shè)計(jì)器”,通過(guò)選擇或輸入,在“表達(dá)式”框中建立表達(dá)式“圖書表.定價(jià)*訂貨表.訂貨數(shù)量*0.75",其中的0.75指當(dāng)一次性交清款,將按75折給予優(yōu)惠。如下圖:
按“確定”按鈕關(guān)閉表達(dá)式生成器。這時(shí)在查詢?cè)O(shè)計(jì)器中的“表達(dá)式和函數(shù)”文本框中出現(xiàn)剛才建立的表達(dá)式,按“添加”按鈕,將表達(dá)式加入“選定字段”,并用垂直雙向箭頭調(diào)整字段輸出的順序。如下圖:
小結(jié):我們本節(jié)課主要向同學(xué)們介紹了多表查詢的一部分操作,同學(xué)們一定要掌握多表查詢之間幾個(gè)表的關(guān)系,要區(qū)分開什么是內(nèi)部連接、左連接、右連接和完全連接的區(qū)別。
第20課時(shí) 多表查詢(3)
一、教學(xué)目的
使學(xué)生掌握使用查詢?cè)O(shè)計(jì)器對(duì)多表進(jìn)行查詢
二、教學(xué)重難點(diǎn) 多表查詢
三、教學(xué)方法 舉例 講授 演示
四、教學(xué)過(guò)程 在“聯(lián)接”選項(xiàng)卡中我們?nèi)∧J(rèn)的內(nèi)部聯(lián)接。由于要查詢的是各表之間的匹配記錄,因此在為各表間的聯(lián)接都要為內(nèi)部聯(lián)接。如下圖:
在“篩選”選項(xiàng)卡中設(shè)置篩選條件。一種條件可以有幾種表示方法,如何設(shè)置根據(jù)個(gè)人習(xí)慣。篩選條件和上面的聯(lián)接條件類似,兩者都是先比較值,然后輸出滿足條件的記錄。不同的是兩者比較的對(duì)象,聯(lián)接條件是將一個(gè)表的字段值與另一個(gè)表的字段值相比較,而篩選條件則是字段值與篩選值(實(shí)例文本)相比較。這里我們選擇、輸入:訂貨表.客戶名稱=新華書店 我們希望按照預(yù)付款數(shù)額由小到大排列,因此我們從“選定字段”中將表達(dá)式添加到“排序條件”框中。如下圖:
我們不需要分組,“分組依據(jù)”選項(xiàng)卡不設(shè)置?!半s項(xiàng)”取默認(rèn)值。這樣,基于“圖書訂貨庫(kù)”的一個(gè)查詢就完成了。
單擊鼠標(biāo)右鍵,在快捷菜單中選取“運(yùn)行查詢”,就會(huì)在默認(rèn)的“瀏覽”窗口中看到我們查詢的結(jié)果,如下圖:
和輸出到“瀏覽”窗口類似,如果我們選擇“屏幕”則會(huì)將查詢結(jié)果顯示在屏幕上。
如果我們?cè)凇安樵內(nèi)ハ颉敝羞x擇“表”,并在其文本框中輸入“l(fā)s”,則當(dāng)我們運(yùn)行查詢后,查詢結(jié)果就送到ls.dbf表中,用來(lái)進(jìn)行各種操作。從“打開”窗口就可看到出現(xiàn)了 ls.dbf 的表名。如下圖:
和選擇“表”類似,如果選擇“報(bào)表”或“標(biāo)簽”,會(huì)將這次查詢的結(jié)果送到指定的報(bào)表和標(biāo)簽中去。
小結(jié):同學(xué)們,我們利用了三節(jié)課來(lái)學(xué)習(xí)多表查詢的使用方法,這在我們以后的學(xué)習(xí)中經(jīng)常能用到,同學(xué)們下去要多加練習(xí)。