下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、哈爾濱劍橋學院教案系部計算機工程系課程名稱VisualFoxPro程序設計教師姓名朱瑩澤職稱講師學年學期學122013學年第二學期教案首頁課程名稱VisualFoxPro程序設計課程編碼JSJ1002課程性質,必修課選修課課程類型,公共基礎課專業(yè)基礎課專業(yè)課授課專業(yè)12工商年級、班2012級周學時數(shù)/周數(shù)4/16總學時數(shù)64講授學時數(shù)32實踐劃、節(jié)時數(shù)32考核性質,考試考查考核方式,閉卷開卷學生數(shù)98人教材:(名稱、作者、出版社、出版時間)VisualFoxPro程序設計劉丕娥編者哈爾濱工業(yè)大學出版社2012年1月第1版教材參考書:(名稱、作者、出版社、出版時間)VFP程序設計與應用實踐教程孔
2、慶彥編若中國鐵道出版社2009年5月第2版系(部)審閱意見系(部)主任簽字年月曰授課章節(jié)第1早VisualFoxPro數(shù)據(jù)庫基礎知識所需學時講授學時數(shù):2實踐環(huán)節(jié)學時數(shù):2教學目的與要求目的:介紹數(shù)據(jù)庫系統(tǒng)基礎知識;VF操作基礎簡介。要求:1、了解數(shù)據(jù)庫系統(tǒng)的組成;2、初步掌握VF啟動與操作;教學重點1、關系數(shù)據(jù)庫相關概念;2、VF系統(tǒng)的啟動。教學難點1、數(shù)據(jù)庫、數(shù)據(jù)庫系統(tǒng)和數(shù)據(jù)庫管理系統(tǒng)二者的關系。教學方法與手段1、課堂講授2、上機操作教學內容時間分配第1次課講授:數(shù)據(jù)庫系統(tǒng)基礎知識第1次上機:熟悉VF上機環(huán)境和簡單命令使用。作業(yè)及思考題1、關系數(shù)據(jù)庫特點;2、VF三種操作方式;教學的基本內
3、容第1章VisualFoxPro數(shù)據(jù)庫基礎知識二數(shù)據(jù)庫系統(tǒng)概述(一)基本概念1 .數(shù)據(jù)(data):描述事物的符號記錄,存儲在某種媒體上型+值臨時性(內存)&持久性(磁盤)-數(shù)據(jù)庫系統(tǒng)處理的表現(xiàn)形式:數(shù)字、字母、文字、文本數(shù)據(jù)、圖形、圖像、聲音、影像和動畫等2 .數(shù)據(jù)庫(database,DB):數(shù)據(jù)的集合統(tǒng)一的結構形式,存放于統(tǒng)一的存儲介質中包括:數(shù)據(jù)本身+事物間的關系3 .數(shù)據(jù)庫管理系統(tǒng)(DBMS)組織、操縱、控制數(shù)據(jù)系統(tǒng)軟件,建庫,建表,查詢,刪除等4 .數(shù)據(jù)庫管理員(DBA):負責對數(shù)據(jù)庫的規(guī)劃、設計、維護、監(jiān)視等工作的人員5 .數(shù)據(jù)庫系統(tǒng)(DBS):DB+DBMS+計算機系統(tǒng)+DBA
4、6 .數(shù)據(jù)庫應用系統(tǒng)(DBAS):面向某一類實際應用的應用軟件系統(tǒng),如圖書管理,售票系統(tǒng)。(二)數(shù)據(jù)庫系統(tǒng)的發(fā)展數(shù)據(jù)管理發(fā)展的3個階段:(低一高)1 .人工管理:20世紀50年代中以前卡片、紙帶、磁帶無磁盤,無管理數(shù)據(jù)的軟件,無OS特點:數(shù)據(jù)不獨立,無法共享,數(shù)據(jù)冗余,數(shù)據(jù)不一致性2 .文件系統(tǒng):20世紀50后-60中后期硬件有存儲器(磁盤),軟件有os文件系統(tǒng)特點:一定的獨立性,程序數(shù)據(jù)分開存儲,數(shù)據(jù)不一致,仍有冗余3 .數(shù)據(jù)庫系統(tǒng):20世紀60中至今DB誕生特點:集成性,共享性,低冗余,獨立性數(shù)據(jù)庫系統(tǒng)發(fā)展3個階段第一代:1)層次、網(wǎng)狀數(shù)據(jù)庫系統(tǒng)層次:樹狀(有序樹)-層次清晰,橫向聯(lián)系若網(wǎng)
5、狀:有向圖-聯(lián)系強,但操作不方便第二代:2)關系數(shù)據(jù)庫系統(tǒng)relationaldatabasesystemRDBS關系-二維表Oracle,sqlserver,sybase,db2,vfp第三代:3)面向對象數(shù)據(jù)庫系統(tǒng)繼承第二代技術,網(wǎng)絡,分布式技術,多媒體技術(三)數(shù)據(jù)模型1 .實體:現(xiàn)實世界中客觀存在的事物稱為實體可以具體,也可以抽象(一次借書,一次訂貨,一次買票)2 .屬性:描述了實體某一方面的特性描述學生實體可以用學號,姓名,性別,出生日期等屬性。時間安排教學方法課程導入:本課程開設的目的和意義,學時分配,掌握程度,等級考試等.5分鐘舉例:學籍管理系統(tǒng)手機繳費飯卡使用存錢取錢買火車票引
6、入身邊實例,全面介紹數(shù)據(jù)庫系統(tǒng).10分鐘介紹數(shù)據(jù)庫系統(tǒng)發(fā)展5分鐘實體間聯(lián)系舉例數(shù)據(jù)模型形象化5分鐘時間安排教學方法實例講解實體間聯(lián)系5分鐘介紹基本術語10分鐘關系運算10分鐘安裝知識講座5分鐘實際操作法教學的基本內容3 .域:實體屬性值的取值范圍人的年齡0130;身高0.22.8m4 .實體間的聯(lián)系:3種類型1) 一對一(1:1):(獨)父子,夫妻;學校-校長;國家-主席2) 一對多(1:n):多生父子;我有多個手機;學校-學生3)多對多(mn):學生-課程;老師-學生5.數(shù)據(jù)模型:對客觀事物及其【聯(lián)系的數(shù)據(jù)描述】常用的:層次模型,網(wǎng)狀模型,關系模型P6H關系模型的特點(四)關系數(shù)據(jù)庫:基于關
7、系模型建立的數(shù)據(jù)庫1.基本術語1)關系:二維表.dbfvisualfoxpro表文件2)元組:一行一元組一記錄3)屬性:一列一屬性一字段4)域:屬性取值范圍5)關鍵字:能唯一區(qū)分不同元組的屬性或屬性的組合(最小組合)6)候選關鍵字:凡能夠唯一區(qū)分不同元組的屬性或組合(可多個)7)主關鍵字:在候選關鍵字中選一個(只有一個)-主鍵8)外部關鍵字:某屬性或組合不是該關系的關鍵字,而是另一個關系的主關鍵字,則它為外部關鍵字一外鍵。2 .關系運算1)選擇:行操作2)投影:列操作去掉重復行3)連接:多表操作3 .數(shù)據(jù)完整性:保證數(shù)據(jù)庫中數(shù)據(jù)的正確性、相容性而提出的某種約束條件和規(guī)則包括:(1)實體完整性:
8、主鍵實現(xiàn)一保證記錄唯一性主鍵非空(2)域完整性:屬性取值范圍(3)參照完整性:外鍵(多表間關系約束)二、VisualFoxPro操作基礎(一)VFP簡介美Microsoft公司,面向對象,可視化,DBMS,DBAS開發(fā)工具(二)安裝與啟動1 .安裝-雙擊setup.exe37接受協(xié)議并輸入產(chǎn)品ID號:111-11111112 .啟動1)開始-程序-VisualFoxPro6.02)雙擊快捷方式圖標3)找到安裝文件的VFP6.0.EXE,雙擊該文件3退出命令窗口:QUIT(不區(qū)分大小寫)Alt+F4(三)VFP窗口應用程序窗口:標題欄,菜單欄,工具欄,狀態(tài)欄,命令窗口,輸出區(qū)域顯示和隱藏:窗口/
9、命令窗口或者Ctrl+F2輸入VFP命令,按0W執(zhí)行Vfp窗口界面介紹(四)VFP操作1.操作方式三種菜單方式:命令方式:程序方式:菜單系統(tǒng)/工具欄命令窗口輸入命令后執(zhí)行編寫程序文件后執(zhí)行交互式f自動化3分鐘最后總結命令行可修改,刪除,剪切,復制和粘貼等提高學生日后學習興趣教學反思:這是非計算機專業(yè)學生的計算機程序設計類入門課程,為了提高學生的學習興趣,必須把第一次課上好,讓學生從整體上對這門課有個初步的了解,這要求我們老師一要組織好教學,二要精心制作幻燈片,三要合理安排教學內容。從第一周的上課效果來看,大一學生的整體狀態(tài)比較積極,對計算機類程序設計課程比較感興趣,并為了日后的等級考試,下定了
10、初步的決心。Vfp是一門實踐性很強的學科,教學內容一定要和上機實踐緊密結合,所以布置合理的上機實驗,是對教學內容最有效的檢驗,大家通過課堂教堂,或者網(wǎng)絡搜索,結合自己的親自操作,總結經(jīng)驗,檢驗課堂理論,并通過難度的不斷加大,逐漸形成獨立思考的能力,分析問題和解決問題的能力。加大案例教學的力度,形成項目驅動模式,使vfp各個章節(jié)形成體系,相互關聯(lián),整體統(tǒng)一,為學好學透這門課程打下堅實的基礎。授課章節(jié)第2章VisualFoxPro的基本語法所需學時講授學時數(shù):6實踐環(huán)節(jié)學時數(shù):6教學目的與要求目的:掌握VF數(shù)據(jù)類型、變量、函數(shù)、數(shù)組和命令。要求:1、掌握數(shù)據(jù)類型定義與使用;2、掌握函數(shù)定義與使用;
11、3、初步掌握VF命令。教學重點1、變量定義及常用函數(shù)的使用;教學難點1、二維數(shù)組定義與使用教學方法與手段1、課堂講授2、上機操作教學內容時間分配第2次課講授:常量和變量第2次上機:常量使用,定義和使用變量第3次課講授:運算符和表達式;數(shù)值函數(shù)第3次上機:熟練使用常用表達式和基本函數(shù)第4次課講授:日期和轉換函數(shù)第4次上機:熟練使用常用vfp日期和轉換等函數(shù)作業(yè)及思考題1、VF三種操作方式;2、二維數(shù)組的使用。教學的基本內容時間安排教學方法第2VisualFoxPro的基本語法、VisualFoxPro數(shù)據(jù)元素字符型C中國劍橋09英語VisualFoxPro程序”r中文-2字節(jié)【四文-1字節(jié)日期型
12、D8字節(jié)日期時間型T8字節(jié)邏輯型L.T.或.F.1字節(jié)貨幣型Y$數(shù)值8字節(jié)數(shù)值型N數(shù)值8字節(jié)(二)VisualFoxPro常量1.數(shù)值型常量09,+,”-:?-0.12?+45?012?2.34e3?2.34e-3-0.1245(空格)_122340.002342.貨幣型常量$+數(shù)值型常量保留4位小數(shù)?$24.4624.46003.字符型常量不能用科學計數(shù)形式表示定界符“(一)VisualFoxPro數(shù)據(jù)類型聯(lián)系生活實際對各種數(shù)據(jù)類型進行介紹6分鐘舉例法介紹常量15分鐘若界限符分身就是字符型常量的一部分,則使用其他界限符4 .日期型常量定界符嚴格日期格式Ayyyy-mm-dd?A2010-03
13、-8?A2008/8/85 .日期時間型常量?A2010-5-19,1:28pm?丫2009-12-44:40:25p6 .邏輯型常量計算機”?.y.?.t.?.n.?.f.T.T.F.F.(三)VisualFoxPro變量(其值可以改變的量)內存變量-單值變量簡單變量變量:,I數(shù)組變量I字段變量-多值變量1 .變量的命名首:字母、漢字、下劃線開頭后續(xù):字母、數(shù)字、漢字、下劃線2 .內存變量的賦值(1)用“=賦值單個變量賦值r=123s=A1987/04/13由常量的特點引入變量變量賦值10分鐘(2)用store賦值多個變量賦同值Store表達式to內存變量名表StoreChina”tostr
14、1,str2,str3?str1,str2,str3(3) Input賦值Input給x賦值:tox給x賦值:12“男”? x12男注:可以給數(shù)值型、字符型、貨幣型、日期型、日期時間型、邏輯型多種變量賦值Accept賦值Accept給x賦值:tox給x賦值:12“男”? x12“男”注:只接受字符型數(shù)據(jù),輸入時不加定界符Wait賦值Wait給x賦值:tox? x賦值:1”數(shù)組的定義與使用10分鐘? x1”注:只接收單個字符? .表達式值的顯示?先換行,再輸出?當前位置輸出? .數(shù)組-一組帶下標的變量只有一維和二維同一數(shù)組的不同元素,數(shù)值的類型可以不同初始值:.F.為了實現(xiàn)特定的功能,我們使用函
15、數(shù),可由系統(tǒng)提供,也可自定義.(1)定義DimensionDeclarestu(4),stum(2,3)注:當一維和二維數(shù)組重名時,先定義的將被覆蓋stum(2,2)等價于stum(5)可以用一維數(shù)組元素訪問二維數(shù)組(2)使用:同簡單變量(四)VisualFoxPro函數(shù)注:每個函數(shù)都有一個返回值,但不一定都有參數(shù)1.數(shù)值函數(shù)(1)絕對信函數(shù)abs?abs(2-11)9(2)符號函數(shù)sign1表達式結果為正11負-100?sign(10-5)1(3)取整函數(shù)int舍掉小數(shù)?int(3.1415926)?int(10.9875)?int(-5.8)310-5函數(shù)40分鐘(4)向下取整floor?
16、floor(10.123)10?floor(-10.123)-11注意區(qū)別Floor和(5)向上取整ceilingCeiling?ceiling(10.123)11(6)四舍五入函數(shù)round?round(1150.163,2)1150.16?ceiling(-10.123)-10?round(1150.163,1)1150.2?round(1150.163,1200fn=0要保留n位小數(shù)關注第二個參數(shù)為負的情況Ln=0,默認保留兩位小數(shù)4.00(8)求余mod(被除數(shù),除數(shù)),運算結果符號與除數(shù)相同,同號飛異號?mod(10,1(9)求最大值?max余數(shù)余數(shù)+除數(shù)3)?mod(-10,23)
17、?mod(10,-3)-2?mod(-10,-3)-1max(10,20,40具體問題具體對待,不同的程序設計語言,規(guī)定可能不一樣,結果也不盡相同.15,40)?max(a,20,bb,40)bb?max(a”,20,“bb,“40)出錯,參數(shù)類型不一致規(guī)則:數(shù)字大寫小寫?max(.T,F.)(10)求最小值min日期比較大???.T.大寫字母upperfo-forinformationupper12”12?upper“你好”你好(8)大寫字母-小寫字母lower?lower(InforMation”)Information(9)空格字符串生成space?space(5)+“s”(10) ?(1
18、1)(12)(13)(14)S產(chǎn)心擊復字符replicate(“*”,*刪除首尾空格刪除首部空格刪除尾部空格宏函數(shù)&replicate5)alltrim()ltrim()rtrim()trim()思考:能否刪除字符中間某處空格?x=123x=.t.”?&x?&x123(字符).T.(邏輯)x=A2009/5/14”?&x09/05/14(日期)x=A2005/12/234:50p“x=a力一力x=a?&xa=5_力一力a=b05/12/2304:50:00pm?&xb=55?&x-b字符型x=2002y=150z=x+y”?&a-5數(shù)值型?&z+12153?&b宏替換比較難理解,注意分析不同實
19、例8分鐘出錯!x=學生”(15)空值測試函數(shù)ISNULL()X=NULLX=.NULL.?X,ISNULL(X).NULL.T.(16)“空”值測試函數(shù)EMPTY()use&xuse學生比較ISNULL()和EMPTY()注意表示時間的順序?empty(0),empty(丁empty()empty($0),empty(.f.),?empty(ctod(),empty(ctot()均為.T.均為.F.不“空”。?empty(.NULL.)或empty(null)3.日期時間函數(shù)(1)系統(tǒng)日期?date()04/07/10(2)系統(tǒng)時間?time()22:31:11(3)系統(tǒng)日期時間?dateti
20、me()04/07/1010:31:11PM(4)年份?year(A2005/12/23)2005(5)月份?month(32005/12/23)12(6)天數(shù)?day(32005/12/23)23(7hourA2009-12-44:40:25pm16(8)分鐘?minute(丫2009-12-44:40:25pm)40(9)秒數(shù)?sec(A2009-12-44:40:25pm)254.類型轉換函數(shù)(1)數(shù)值型-字符型?str(3.1415926,6,長度?str(3141.5926,6)不含小數(shù)_3142?str(+123.45,6,1)123.5返回C字符型4)3.1416小數(shù)位數(shù)?str
21、(3141.5926,3)?str(3141.5926)(2)字符串-數(shù)值?val(“3.1415圓周率”)3.14注:返回值的小數(shù)點位數(shù)取決于(3)字符串-日期?ctod(12/23/78”)*不含小數(shù),默認長度為10?str(-1.438e6,6,3)-1.E+6返回N?str(-1.438e6,9)-1438000數(shù)值型,默認2位小數(shù)。val(“圓周率3.1415)0setdecimalto命令設置的位數(shù)返回值D日期型?ctod(2008-12-23)Str??己?分鐘3142注:機器內能識別的日期格式!(4)日期-字符串返回值C?dtoc(A1980/12/25)12/25/80Set
22、strictdateto0?dtoc(09/19/89)5.其他函數(shù)(1)條件測試?if(34,“正確“,“錯誤”)(2)值域測試?between(d”,“b,”s)(3)數(shù)據(jù)類型測試根據(jù)函數(shù)功能識記函數(shù)字符型09/19/89.T.?vartype(90),vatype(a),vartype(date(),vartype(null),vartype(35),vartype(a,+3),N(五)運算符、1.算術運算符C表達式+-*/A%不匹配2.字符運算符+原樣連接-第一個字符串尾部空格移到整個連接字符串的尾部3.日期和時間日期+3加大數(shù)結果為日期日期-3減天數(shù)日期日期-日期相差天數(shù)數(shù)值時間+3
23、加秒數(shù)時間時間-3減秒數(shù)時間時間-時間相差秒數(shù)數(shù)值If函數(shù)正確使用4分鐘如何用好vartype函4.關系運算符Setexacton加空格精確比較兩種比較有何不同?如Setexactoff左包含右即可何切換?5.邏輯運算符?not.t.F.4分鐘?.t.and.f.?not(35)?a=bor(75).F.T.T.教學反思:這一章,理論教學內容較多,對于數(shù)據(jù)類型的理解,常量變量的使用,數(shù)組的定義與賦值,到最后函數(shù)的應用,逐層深入,環(huán)環(huán)緊扣。課堂教學當以打基礎為主,讓學生理解數(shù)據(jù)類型的含義,結合生活實際,會區(qū)分不同的事物劃分不同的類型。在數(shù)組這一環(huán)節(jié),可以實例演示,讓學生看到真正的運行結果,體會數(shù)
24、組元素初始值是邏輯假的事實,然后分別用不同類型的值去覆蓋數(shù)組,加深對數(shù)組的認知。由于函數(shù)比較多,所以我制作了大量的實例,把函數(shù)的各種不同類型的參數(shù)都覆蓋上,這樣的ppt講解的時候,全面清楚的看清了函數(shù)不同種參數(shù)的實際運行效果,區(qū)別數(shù)值函數(shù)、字符函數(shù)、日期函數(shù)、數(shù)據(jù)類型測試函數(shù)、數(shù)據(jù)類型轉換函數(shù)的不同應用,會熟知函數(shù)的不同運算結果,為日后各章數(shù)值處理做好準備。授課章節(jié)第3章數(shù)據(jù)庫的建立和維護所需學時講授學時數(shù):2實踐環(huán)節(jié)學時數(shù):2教學目的與要求目的:掌握數(shù)據(jù)庫的基本操作。要求:1、理解數(shù)據(jù)庫與法的關系;2、掌握數(shù)據(jù)庫的創(chuàng)建與使用教學重點1、命令操作數(shù)據(jù)庫2、數(shù)據(jù)庫的打開關閉與刪除教學難點1、當前
25、數(shù)據(jù)庫教學方法與手段1、課堂講授2、上機操作教學內容時間分配第5次課講授:數(shù)據(jù)庫的基本操作第5次上機:建立、使用、刪除數(shù)據(jù)庫作業(yè)及思考題1、數(shù)據(jù)庫匕表的關系;教學的基本內容時間安排教學方法第3章數(shù)據(jù)庫的建立和維護,、數(shù)據(jù)庫與表的概述(一)數(shù)據(jù)庫:邏輯概念,它通過一組系統(tǒng)文件將相互關聯(lián)的數(shù)據(jù)庫表及其相關的數(shù)據(jù)庫對象個組織和管理。.DBC數(shù)據(jù)庫與表的關系引自動建立.DCT數(shù)據(jù)庫備注文件.DCX數(shù)據(jù)庫索引文件(二)表:在關系數(shù)據(jù)庫中,將關系稱為表。r表結構:字段名(表頭),類型,寬度,小數(shù)位數(shù)表11表數(shù)據(jù):表中記錄入?3分鐘表義件的獷展名:.DBF(三)數(shù)據(jù)庫匕表:各種文件的擴展名識記(數(shù)據(jù)庫表:歸
26、數(shù)據(jù)庫管理的表1自由表:不歸任何數(shù)據(jù)庫管理的表2分鐘自由表口以添加到數(shù)據(jù)庫中,成為數(shù)據(jù)庫表;數(shù)據(jù)庫表也可以從數(shù)據(jù)庫中移出成為自由表。二、數(shù)據(jù)庫的操作建立打開與(一)建立數(shù)據(jù)庫關閉數(shù)據(jù)庫文件-新建-數(shù)據(jù)庫-新建文件,命名-打開數(shù)據(jù)庫設計器(二)打開數(shù)據(jù)庫6分鐘文件-打開-文件類型-數(shù)據(jù)庫.dbc,打開數(shù)據(jù)庫設計器(三)設置當前數(shù)據(jù)庫常用”工具欄上數(shù)據(jù)庫下拉列表表與數(shù)據(jù)操作教學反思:這一章的內容較少,要結合第四章的表的實際操作,與數(shù)15分鐘據(jù)庫表的建立與使用共同學習。重點掌握數(shù)據(jù)庫的各種菜單操作方式和命令操作方式,會建立、修改、刪除、維護數(shù)據(jù)庫,為數(shù)據(jù)庫表的建立打好基礎。熟悉識記各種操作數(shù)據(jù)庫和表
27、的命令15分鐘授課章節(jié)第4章數(shù)據(jù)表的創(chuàng)建與操作所需學時講授學時數(shù):4實踐環(huán)節(jié)學時數(shù):4教學目的與要求目的:掌握數(shù)據(jù)庫的基本操作。要求:1、理解數(shù)據(jù)庫與法的關系;2、掌握數(shù)據(jù)表的創(chuàng)建與使用3、索引的使用與操作數(shù)據(jù)4、參照完整性教學重點1、命令操作數(shù)據(jù)庫匕表2、主索引的作用3、數(shù)據(jù)排序教學難點1、多工作區(qū)的切換教學方法與手段1、課堂講授2、上機操作教學內容時間分配第6次課講授:數(shù)據(jù)表的基本操作第6次上機:建立、使用、刪除數(shù)據(jù)第7次課講授:索引和工作區(qū)的使用第7次上機:建立、使用、刪除索引,切換工作區(qū)作業(yè)及思考題2、表間聯(lián)系與參照完整性;教學的基本內容時間安排教學方法表與數(shù)據(jù)操作15分鐘熟悉識記各種
28、操作數(shù)據(jù)庫和表的命令15分鐘注:.dbc.dct.dcx運行后查看結果注意和update語句比較第4章數(shù)據(jù)表的創(chuàng)建與操作一、表的基本操作(一)菜單操作方式(1)建表結構文件-新建-表-新建文件-命名-打開表設計器(2)錄入數(shù)據(jù)兩種方式:直接錄入+追加錄入瀏覽狀態(tài)下,顯示”-追加方式”(3)顯示表結構/修改表結構顯示-表設計器(4)表記錄的瀏覽表打開狀態(tài)下,顯示-瀏覽(5)記錄刪除/恢復表瀏覽狀態(tài)下,表-刪除記錄/恢復記錄(6)物理刪除表瀏覽狀態(tài)下,表-徹底刪除(7)表的打開與關閉打開:文件-打開-文件類型-表.dbf關閉:窗口菜單-數(shù)據(jù)工作期,選擇要關閉的表-關閉按鈕(二)、命令操作方式:庫操
29、作?Createdatabas好生管理?Opendatabase學生管理?Modifydatabase學生管理?Setdatabasetc生管理?Setdatabaseto當前數(shù)據(jù)庫為空?Closedatabase關閉當前數(shù)據(jù)庫?Closeall關閉所有打開庫?Deletedatabase學生管理recycledeletetable均刪放回收站刪表(三)、命令操作方式:表操作?Create學生表?Append增加記錄在表尾?Appendblank增加一條空記錄?Go3Insertbeforeblank?Use學生表?Use?List/displaystructure?Go3Display?Li
30、stListrecord3Listfor入學成績=500Listfor性別=女”物理刪除與邏輯刪除區(qū)別?命令后注意回車執(zhí)行10分鐘刪除標記的記錄也統(tǒng)計在內注意返回結果為數(shù)值型listrestListnext4?Modifystructure打開表設計器?Replace入學成績with79for學號=001”Replaceall入學成績with入學成績+10Replaceall入學成績with入學成績+5for性別=女”?Browse?Go4delete邏輯刪除當前記錄recall恢復當前記錄?Deleterecord3deletefor性別=女”Deleteallrecallfor性別=女”r
31、ecallall?PackZap?GotopSkip3GobottomSkip-2?Locatefor性別=女”continue?Addtable自由表名添加自由表到當前數(shù)據(jù)庫?Removetable表名deleterecycle刪除數(shù)據(jù)庫表刪除放回收站?Deletefilexs.dbf刪除自由表,必須文件擴展名(四)與表有關的函數(shù)(1)記算表中記錄個數(shù)函數(shù)格式:RECCOUNT()功能:測試指定工作區(qū)中表的記錄個數(shù)。說明:做過邏輯刪除的記錄包括在內。?RECCOUNT()結果為34(2)返回表中當前記錄號函數(shù)格式:RECNO()功能:返回當前記錄的記錄號?!纠縐SEStudentGO2?R
32、ECNO()結果為2(3)表文件首測試函數(shù)格式:BOF()功能:測試記錄指針是否指向第一條記錄之前。(4)表文件尾測試函數(shù)格式:EOF()功能:測試記錄指針是否指向最后一條記錄之后。USEXS?BOF()結果為.F.SKIP-1?BOF()結果為.T.GOBOTTOM?EOF()結果為.F.SKIP等價于SKIP1?EOF()結果為.T.(5)記錄是否啟刪除標記函數(shù)格式:DELETED()功能:測試當前記錄是否啟刪除標記*。有返回.T.,沒有.F.【例】DELETERECORD3GO3?DELETED()返回.T.(6)測試記錄是否找到函數(shù)格式:FOUND()功能:測試是否找到符合要求的記錄。
33、找到返回.T.,否則返回.F.【例】USEStudentLOCATEFORName=高涵”IfFOUND()如果結果為.t.,那么說明已找到姓名為高涵”的學生DISPLAYEndif(五)、表的復制1 .復制表結構(將當前表結構復制到指定表中)usestudentcopystructuretotable1use復制后,新表處于關閉狀態(tài)usetable1liststructureuse2 .復制表結構+數(shù)據(jù)(復制當前表結構+數(shù)據(jù))usestudentcopytotable2copytotable3for性別二女”useUsetable3ListUse3 .從其他表文件向表中添加數(shù)據(jù)從其它表義件添
34、加數(shù)據(jù)到當前巾的表尾中Usetable1Appendfromtable2(table1table2)ListAppendfromstufields學號,姓名,入學成績ListUse(六)、工作區(qū)與同時使用多個表表文件首尾的位置4分鐘快速復制表數(shù)據(jù)或結構3分鐘追加記錄比較實用多工作區(qū)使用5分鐘不引入工作區(qū),先打開A表,當再打開B表時,表A自動關閉。引入工作區(qū),132767個,可同時在不同的工作區(qū)分別打開多個表。Select1Use表1思考:引入多工作區(qū)有何好處就口何標記?Select2Use表2Select0=select3Use表3Use表4in4Select0表示使用最小的空閑工作區(qū)(七)、
35、使用數(shù)據(jù)工作期?數(shù)據(jù)工作期窗口對多表操作提供了便利條件,它可以方便的打開表、關閉表、瀏覽表,還可以對已經(jīng)排序的兩個表建立關系。?窗口”-數(shù)據(jù)工作期”提問:索引好處?3分鐘?表之間的臨時關系要求兩個表有共同的關鍵字并分別用關鍵字建立了索引,可以用setrelation命令建立臨時關系。Use成績in1Use學生in2setrelationto學號into1二、表的索引?索引是一種快速查詢和定位技術。如果要按照特定的順序定位、查看或者操作表中的記錄,可以通過索引完成相關的操作。依次舉例讓學生看到創(chuàng)建索引的好處?Visualfoxpro索引是由指針構成的文件,這些指針邏輯上按照索引關鍵字的值進行排序
36、(升序或者降序),索引文件和表文件分別存儲,索引并不會改變表中記錄的物理順序。(一)索引文件類型?索引文件有二種單索引文件,idx,用命令建立18分鐘L復合索引文件獨立復合索引文件.cdx,與表名不同,用命令建立結構復合索引文件.cdx,與表名同名,用命令+表設計器均可建立(二)索引類型?主索引:主關鍵字特性,不允許出現(xiàn)重復值或空值,只能在數(shù)據(jù)庫表中創(chuàng)建一個主索引。掌握命令創(chuàng)建與刪除索引?候選索引:候選關鍵字特性,不包含Null值或重復值。在數(shù)據(jù)表和自由表中均可以為每個表建立多個候選索引。?唯一索引:只在索引文件中保留第一次出現(xiàn)的索引關鍵字值。以指定字段的首次出現(xiàn)值為基礎,選定一組記錄,并對記
37、錄進行排序。在數(shù)據(jù)表和自由表中均可以為每個表建立多個唯一索引。4分鐘?普通索引:可以用來對記錄排序和搜索記錄,它不強迫記錄中的數(shù)據(jù)具有唯一性。在數(shù)據(jù)表和自由表中均可以為每個表建立多個普通索引。(三)索引文件的建立提問?為何要引入數(shù)據(jù)完整性?有何優(yōu)點?詳細演示并講解如何建立表間的關聯(lián)?15分鐘1 .表設計器中建立結構復合索引索引選項卡:索引名,類型,表達式,篩選2 .命令建立結構復合索引Indexon學號tagxh普通索引Indexon學號tagxhunique唯一索弓IIndexon學號tagxhcandidate候選索弓I注:不能建立主索引(四)結構復合索引文件的使用?指定索引順序1 .菜單
38、方式表瀏覽狀態(tài)下:裝”-屬性”-p58圖2-192 .命令方式Setordertoxh升序Setordertoxhdesc降序?使用索引快速查詢索引可以提高查詢速度,將記錄指針快速定位到要查詢的記錄處,可以用seek命令來快速定位。Seek“0202”orderxh?刪除結構復合索引1 .表設計器中索弓選項卡中的【刪除】按鈕2 .命令方式DeletetagxhDeletetagall三、數(shù)據(jù)完整性-回到教材第9頁廠(1)實體完整性:保證記錄唯一的特性。-主索引和候選索引(2)域完整性:字段類型的定義和字段取值范圍的約束規(guī)則。普通索引處2 .數(shù)據(jù)庫”菜單-清理數(shù)據(jù)庫”注:關閉數(shù)據(jù)庫表才能清理3
39、.設置參照完整性更新規(guī)則級聯(lián)限制忽略刪除規(guī)則級聯(lián)限制忽略插入規(guī)則限制忽略教學反思:這一章是整本書的核心章節(jié),所以放慢速度來講,力求打好基礎,講懂講透。對于表的創(chuàng)建,表結構的修改,表記錄的錄入、修改與刪除,不但要掌握界面的操作方式,更主要的,學會用vfp的命令來控制,熟悉各種命令的書寫規(guī)則,加深對vfp常用表處理命令的記憶與識別,學會插入數(shù)據(jù),修改數(shù)據(jù)和刪除數(shù)據(jù),對多工作區(qū)要有個正確的認識,要埋解索引的優(yōu)點與含義,索引的類型,如何創(chuàng)建結構復合類型索引,以及索引的具體應用。這一章同樣要利用教學經(jīng)典實例,結合書上的數(shù)據(jù)操作,理解vfp表數(shù)據(jù)的執(zhí)行過程,并配合等級考試真題,加深課堂內容的理解。授課章節(jié)
40、第5章結構化查詢語言所需學時講授學時數(shù):6實踐環(huán)節(jié)學時數(shù):6教學目的與要求目的:掌握SELECT命令主要短語的用法和作用;掌握SQL諦言中記錄的插入,修改和刪除.要求:1、通過命令窗口及程序窗口編寫sql語句創(chuàng)建數(shù)據(jù)庫對象2、熟練用vfp命令和sql語句兩種方式操作數(shù)據(jù).(插入,修改和刪除)3、sql語句對數(shù)據(jù)綜合查詢.教學重點1、select查詢語句書寫規(guī)則2、多表連接查詢教學難點1、嵌套查詢及聚合函數(shù)的使用教學方法與手段1、課堂講授2、上機操作教學內容時間分配第8次課講授:數(shù)據(jù)查詢(單表+聯(lián)接查詢)第8次上機:編寫習題書后程序,并執(zhí)行第9次課講授:嵌套查詢和數(shù)據(jù)定義第9次上機:編寫書后程序
41、,并做習題第10次課講授:數(shù)據(jù)操縱(insert+update+delete)查詢和視圖第10次上機:編寫書后程序,并做習題作業(yè)及思考題1、in,notin的使用。3、數(shù)組在查詢中的應用。教學的基本內容時間安排教學方法第5結構化查詢語言SQL簡介StructuredQueryLanguage結構化查詢語言,是關系數(shù)據(jù)庫的標準語言。SQL語言的基本功能:數(shù)據(jù)查詢SELECT,數(shù)據(jù)定義CREATE、DROP、ALTER數(shù)據(jù)操縱INSERT、UPDATE、DELETE、數(shù)據(jù)控制GRANT、REVOKE掌握select命令一、數(shù)據(jù)查詢功能SQL語言的查詢功能由SELECT命令完成。SELECTALL|
42、DISTINCTTOPNPERCENT要查詢的數(shù)據(jù)FROM數(shù)據(jù)源1連接方式JOIN數(shù)據(jù)源2ON連接條件10分鐘WHERE查詢條件GROUPBY分組字段HAVING分組條件ORDERBY排序選項1ASC|DESC,排序選項2ASC|DESC.輸出去向1基于單個表的查詢【例4.1查詢教師情況表中教師的姓名、性別和職稱信息。Select姓名,性別,職稱from教師情況表【例4.2查詢教師情況表中的所有字段信息。Select*from教師情況表舉例書寫滿足查詢要求的select語句或Select*from教學管理數(shù)據(jù)庫!教師情況表【例4.3查詢教師情況表中的職稱信息Selectdistinct職稱fr
43、om教師情況表【例4.4查詢教師情況表中職稱為講師的信息。Select*from教師情況表where職稱=餅師”18分鐘【例4.5查詢教師情況表中職稱為講師的男職工信息。Select*from教師情況表where職稱=餅師”and性別=男”【例4.6查詢教師情況表中的所有信息,并按照出生日期升序排序輸出。Select*from教師情況表orderby出生日期【例4.7查詢教師情況表中姓名、職稱和出生日期,并按照職稱降序、出生日期升序排序輸出。注意top3的位置Select姓名,職稱,出生日期from教師情況表orderby職稱desc,出生日期【例4.8查詢教師情況表中姓名和出生日期的信息,將
44、查詢結果按照出生日期升序排序,并只顯示查詢結果的前3條記錄。Selecttop3姓名,出生日期from教師情況表Oderyby出生日期【例4.9查詢教師情況表中的職工人數(shù)。Selectcount(姓名)from教師情況表Selectcount(教師編號)from教師情況表5分鐘Selectcount(*)from教師情況表Selectcount(教師編號)as教工人數(shù)from教師情況表Selectcount(教師編號)教工人數(shù)from教師情況表【例4.10】查詢教師情況表中男、女職工的人數(shù)信息。Select性別,count(*)教工人數(shù)from教師情況表groupby性別注意分號;什么時候加?
45、什么時候不加?【例4.11】查詢教師情況表中各種職稱的人數(shù)信息。Select職稱,count(*)人數(shù)from教師情況表;groupby職稱【例4.12】查詢教師情況表中職稱人數(shù)在3人以上的信息,并按照人數(shù)降序輸出。Select職稱,count(*)人數(shù)from教師情況表groupby職稱havingcount(*)=3;Orderby人數(shù)desc或例題講解Orderby2desc【例4.13】查詢教師情況表中的所有信息,并將查詢結果保存在永久表table1中。Select*from教師情況表intodbftable1Select*from教師情況表intotabletable113分鐘【例4
46、.14】查詢教師情況表中的所有信息,并將查詢結果保存到臨時表temp中。Select*from教師情況表intocursortemp【例4.15】查詢教師情況表中男職工的姓名、性別、職稱、基本工資情況,并將查詢結果保存到文本文件mn中。(.txt)Select姓名,性別,職稱,基本工資from教師情況表where性別二男to巾lemn【例4.16】查詢教師卜#況表中的1990年之前參加工作的職工姓名、工作日期、基本工資,將查詢結果在數(shù)組AX中。(二維)Select姓名,工作日期,基本工資from教師情況表where工作日期A1990/01/01intoarrayax注:如果查詢結果只有一個值,
47、則存至ax(1,1)中,二維數(shù)組。2聯(lián)接查詢基于多表間的查詢,必須指定多表之間的聯(lián)接條件?!纠?.17】查詢學生學號、姓名和各課程的課程號及成績。連接查詢思想:兩個表要有連接字段Select學生情況表.學號,姓名,課程號,成績;from學生情況表,學生成績表;Where學生情況表.學號=學生成績表.學號或Selectx.學號,姓名,課程號,成績;from學生情況表x,學生成績表y;wherex.學號二y.學號【例4.18】查詢選修了”計算機基礎”課程的學生姓名、課程名和成績。8分鐘Select姓名,課程名稱,成績;from學生成績表x,學生情況表y,課程情況表z;wherex.學號=y.學號a
48、ndx.課程號二z.課程號;and課程名稱=計算機基礎”聯(lián)接包括4種:左聯(lián)接leftjoin右聯(lián)接rightjoin全聯(lián)接fulljoin內聯(lián)接innerjoin(1)左聯(lián)接一左表全部記錄+右表匹配記錄,不匹配用null聯(lián)接。Selectxs.*,課程號成績fromxsleftjoincjOnxs.學號=cj.學號(2)右聯(lián)接-右表全部記錄+左表匹配記錄,不匹配用null聯(lián)接。Selectxs.*,課程號,成績fromxsrightjoincjOnxs.學號=cj.學號(3)全聯(lián)接-倆表全部記錄,不匹配用null聯(lián)接。Selectxs.*,課程號,成績fromxsfulljoincjOnxs.學號=cj.學號(4)內聯(lián)接-只顯示滿足條件的記錄Selectxs.*,課程號,成績fromxsinnerjoincjOnxs.學號=cj.學號【例4.17】查詢學生學號、姓名和各課程的課程號及成績。Selectx.學號,姓名,課程號,成績
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度食堂員工綜合培訓與服務合同3篇
- 二零二五年度全日制勞務合同書(新能源發(fā)電運維)3篇
- 二零二五年度農(nóng)村土地承包權與農(nóng)業(yè)科技應用合作合同3篇
- 2025年度養(yǎng)羊產(chǎn)業(yè)市場調研與分析合作協(xié)議2篇
- 二零二五年度勞動合同集合與勞動爭議預防合同3篇
- 二零二五年度衛(wèi)浴行業(yè)綠色環(huán)保產(chǎn)品認證合同3篇
- 2025年度光伏電站設備維修保養(yǎng)合同3篇
- 2025年度員工合同模板匯編:員工培訓與發(fā)展計劃篇2篇
- 2025年度新能源汽車充電樁合作股權協(xié)議書模板3篇
- 二零二五年度養(yǎng)生館合伙人會員服務與權益合同3篇
- 海域使用分類體系(全)
- 魯教版必修一第二單元第二節(jié)大氣運動——熱力環(huán)流(共28張PPT)
- 解除限制消費申請書
- 汽車整車廠和動力總成廠房火災危險性分類
- 7實用衛(wèi)生統(tǒng)計學總-國家開放大學2022年1月期末考試復習資料-護理本復習資料
- 精品資料(2021-2022年收藏)集團各控股子公司董事會議事規(guī)則
- t-橋式起重機設計計算書
- 全口義齒印模及頜位關系記錄ppt課件
- 定點洗車協(xié)議書(共2頁)
- 電除塵器計算
- 桿塔選型(高度、形式、基礎)
評論
0/150
提交評論