VisualFoxPro程序设计教案vfp_第1页
VisualFoxPro程序设计教案vfp_第2页
VisualFoxPro程序设计教案vfp_第3页
VisualFoxPro程序设计教案vfp_第4页
VisualFoxPro程序设计教案vfp_第5页
免费预览已结束,剩余52页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、哈尔滨剑桥学院教案系部计算机工程系课程名称VisualFoxPro程序设计教师姓名朱莹泽职称讲师学年学期学122013学年第二学期教案首页课程名称VisualFoxPro程序设计课程编码JSJ1002课程性质,必修课选修课课程类型,公共基础课专业基础课专业课授课专业12工商年级、班2012级周学时数/周数4/16总学时数64讲授学时数32实践划、节时数32考核性质,考试考查考核方式,闭卷开卷学生数98人教材:(名称、作者、出版社、出版时间)VisualFoxPro程序设计刘丕娥编者哈尔滨工业大学出版社2012年1月第1版教材参考书:(名称、作者、出版社、出版时间)VFP程序设计与应用实践教程孔

2、庆彦编若中国铁道出版社2009年5月第2版系(部)审阅意见系(部)主任签字年月曰授课章节第1早VisualFoxPro数据库基础知识所需学时讲授学时数:2实践环节学时数:2教学目的与要求目的:介绍数据库系统基础知识;VF操作基础简介。要求:1、了解数据库系统的组成;2、初步掌握VF启动与操作;教学重点1、关系数据库相关概念;2、VF系统的启动。教学难点1、数据库、数据库系统和数据库管理系统二者的关系。教学方法与手段1、课堂讲授2、上机操作教学内容时间分配第1次课讲授:数据库系统基础知识第1次上机:熟悉VF上机环境和简单命令使用。作业及思考题1、关系数据库特点;2、VF三种操作方式;教学的基本内

3、容第1章VisualFoxPro数据库基础知识二数据库系统概述(一)基本概念1 .数据(data):描述事物的符号记录,存储在某种媒体上型+值临时性(内存)&持久性(磁盘)-数据库系统处理的表现形式:数字、字母、文字、文本数据、图形、图像、声音、影像和动画等2 .数据库(database,DB):数据的集合统一的结构形式,存放于统一的存储介质中包括:数据本身+事物间的关系3 .数据库管理系统(DBMS)组织、操纵、控制数据系统软件,建库,建表,查询,删除等4 .数据库管理员(DBA):负责对数据库的规划、设计、维护、监视等工作的人员5 .数据库系统(DBS):DB+DBMS+计算机系统+DBA

4、6 .数据库应用系统(DBAS):面向某一类实际应用的应用软件系统,如图书管理,售票系统。(二)数据库系统的发展数据管理发展的3个阶段:(低一高)1 .人工管理:20世纪50年代中以前卡片、纸带、磁带无磁盘,无管理数据的软件,无OS特点:数据不独立,无法共享,数据冗余,数据不一致性2 .文件系统:20世纪50后-60中后期硬件有存储器(磁盘),软件有os文件系统特点:一定的独立性,程序数据分开存储,数据不一致,仍有冗余3 .数据库系统:20世纪60中至今DB诞生特点:集成性,共享性,低冗余,独立性数据库系统发展3个阶段第一代:1)层次、网状数据库系统层次:树状(有序树)-层次清晰,横向联系若网

5、状:有向图-联系强,但操作不方便第二代:2)关系数据库系统relationaldatabasesystemRDBS关系-二维表Oracle,sqlserver,sybase,db2,vfp第三代:3)面向对象数据库系统继承第二代技术,网络,分布式技术,多媒体技术(三)数据模型1 .实体:现实世界中客观存在的事物称为实体可以具体,也可以抽象(一次借书,一次订货,一次买票)2 .属性:描述了实体某一方面的特性描述学生实体可以用学号,姓名,性别,出生日期等属性。时间安排教学方法课程导入:本课程开设的目的和意义,学时分配,掌握程度,等级考试等.5分钟举例:学籍管理系统手机缴费饭卡使用存钱取钱买火车票引

6、入身边实例,全面介绍数据库系统.10分钟介绍数据库系统发展5分钟实体间联系举例数据模型形象化5分钟时间安排教学方法实例讲解实体间联系5分钟介绍基本术语10分钟关系运算10分钟安装知识讲座5分钟实际操作法教学的基本内容3 .域:实体属性值的取值范围人的年龄0130;身高0.22.8m4 .实体间的联系:3种类型1) 一对一(1:1):(独)父子,夫妻;学校-校长;国家-主席2) 一对多(1:n):多生父子;我有多个手机;学校-学生3)多对多(mn):学生-课程;老师-学生5.数据模型:对客观事物及其【联系的数据描述】常用的:层次模型,网状模型,关系模型P6H关系模型的特点(四)关系数据库:基于关

7、系模型建立的数据库1.基本术语1)关系:二维表.dbfvisualfoxpro表文件2)元组:一行一元组一记录3)属性:一列一属性一字段4)域:属性取值范围5)关键字:能唯一区分不同元组的属性或属性的组合(最小组合)6)候选关键字:凡能够唯一区分不同元组的属性或组合(可多个)7)主关键字:在候选关键字中选一个(只有一个)-主键8)外部关键字:某属性或组合不是该关系的关键字,而是另一个关系的主关键字,则它为外部关键字一外键。2 .关系运算1)选择:行操作2)投影:列操作去掉重复行3)连接:多表操作3 .数据完整性:保证数据库中数据的正确性、相容性而提出的某种约束条件和规则包括:(1)实体完整性:

8、主键实现一保证记录唯一性主键非空(2)域完整性:属性取值范围(3)参照完整性:外键(多表间关系约束)二、VisualFoxPro操作基础(一)VFP简介美Microsoft公司,面向对象,可视化,DBMS,DBAS开发工具(二)安装与启动1 .安装-双击setup.exe37接受协议并输入产品ID号:111-11111112 .启动1)开始-程序-VisualFoxPro6.02)双击快捷方式图标3)找到安装文件的VFP6.0.EXE,双击该文件3退出命令窗口:QUIT(不区分大小写)Alt+F4(三)VFP窗口应用程序窗口:标题栏,菜单栏,工具栏,状态栏,命令窗口,输出区域显示和隐藏:窗口/

9、命令窗口或者Ctrl+F2输入VFP命令,按0W执行Vfp窗口界面介绍(四)VFP操作1.操作方式三种菜单方式:命令方式:程序方式:菜单系统/工具栏命令窗口输入命令后执行编写程序文件后执行交互式f自动化3分钟最后总结命令行可修改,删除,剪切,复制和粘贴等提高学生日后学习兴趣教学反思:这是非计算机专业学生的计算机程序设计类入门课程,为了提高学生的学习兴趣,必须把第一次课上好,让学生从整体上对这门课有个初步的了解,这要求我们老师一要组织好教学,二要精心制作幻灯片,三要合理安排教学内容。从第一周的上课效果来看,大一学生的整体状态比较积极,对计算机类程序设计课程比较感兴趣,并为了日后的等级考试,下定了

10、初步的决心。Vfp是一门实践性很强的学科,教学内容一定要和上机实践紧密结合,所以布置合理的上机实验,是对教学内容最有效的检验,大家通过课堂教堂,或者网络搜索,结合自己的亲自操作,总结经验,检验课堂理论,并通过难度的不断加大,逐渐形成独立思考的能力,分析问题和解决问题的能力。加大案例教学的力度,形成项目驱动模式,使vfp各个章节形成体系,相互关联,整体统一,为学好学透这门课程打下坚实的基础。授课章节第2章VisualFoxPro的基本语法所需学时讲授学时数:6实践环节学时数:6教学目的与要求目的:掌握VF数据类型、变量、函数、数组和命令。要求:1、掌握数据类型定义与使用;2、掌握函数定义与使用;

11、3、初步掌握VF命令。教学重点1、变量定义及常用函数的使用;教学难点1、二维数组定义与使用教学方法与手段1、课堂讲授2、上机操作教学内容时间分配第2次课讲授:常量和变量第2次上机:常量使用,定义和使用变量第3次课讲授:运算符和表达式;数值函数第3次上机:熟练使用常用表达式和基本函数第4次课讲授:日期和转换函数第4次上机:熟练使用常用vfp日期和转换等函数作业及思考题1、VF三种操作方式;2、二维数组的使用。教学的基本内容时间安排教学方法第2VisualFoxPro的基本语法、VisualFoxPro数据元素字符型C中国剑桥09英语VisualFoxPro程序”r中文-2字节【四文-1字节日期型

12、D8字节日期时间型T8字节逻辑型L.T.或.F.1字节货币型Y$数值8字节数值型N数值8字节(二)VisualFoxPro常量1.数值型常量09,+,”-:?-0.12?+45?012?2.34e3?2.34e-3-0.1245(空格)_122340.002342.货币型常量$+数值型常量保留4位小数?$24.4624.46003.字符型常量不能用科学计数形式表示定界符“(一)VisualFoxPro数据类型联系生活实际对各种数据类型进行介绍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数组变量I字段变量-多值变量1 .变量的命名首:字母、汉字、下划线开头后续:字母、数字、汉字、下划线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男注:可以给数值型、字符型、货币型、日期型、日期时间型、逻辑型多种变量赋值Accept赋值Accept给x赋值:tox给x赋值:12“男”? x12“男”注:只接受字符型数据,输入时不加定界符Wait赋值Wait给x赋值:tox? x赋值:1”数组的定义与使用10分钟? x1”注:只接收单个字符? .表达式值的显示?先换行,再输出?当前位置输出? .数组-一组带下标的变量只有一维和二维同一数组的不同元素,数值的类型可以不同初始值:.F.为了实现特定的功能,我们使用函

15、数,可由系统提供,也可自定义.(1)定义DimensionDeclarestu(4),stum(2,3)注:当一维和二维数组重名时,先定义的将被覆盖stum(2,2)等价于stum(5)可以用一维数组元素访问二维数组(2)使用:同简单变量(四)VisualFoxPro函数注:每个函数都有一个返回值,但不一定都有参数1.数值函数(1)绝对信函数abs?abs(2-11)9(2)符号函数sign1表达式结果为正11负-100?sign(10-5)1(3)取整函数int舍掉小数?int(3.1415926)?int(10.9875)?int(-5.8)310-5函数40分钟(4)向下取整floor?

16、floor(10.123)10?floor(-10.123)-11注意区别Floor和(5)向上取整ceilingCeiling?ceiling(10.123)11(6)四舍五入函数round?round(1150.163,2)1150.16?ceiling(-10.123)-10?round(1150.163,1)1150.2?round(1150.163,1200fn=0要保留n位小数关注第二个参数为负的情况Ln=0,默认保留两位小数4.00(8)求余mod(被除数,除数),运算结果符号与除数相同,同号飞异号?mod(10,1(9)求最大值?max余数余数+除数3)?mod(-10,23)

17、?mod(10,-3)-2?mod(-10,-3)-1max(10,20,40具体问题具体对待,不同的程序设计语言,规定可能不一样,结果也不尽相同.15,40)?max(a,20,bb,40)bb?max(a”,20,“bb,“40)出错,参数类型不一致规则:数字大写小写?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产心击复字符replicate(“*”,*删除首尾空格删除首部空格删除尾部空格宏函数&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数值型?&z+12153?&b宏替换比较难理解,注意分析不同实

19、例8分钟出错!x=学生”(15)空值测试函数ISNULL()X=NULLX=.NULL.?X,ISNULL(X).NULL.T.(16)“空”值测试函数EMPTY()use&xuse学生比较ISNULL()和EMPTY()注意表示时间的顺序?empty(0),empty(丁empty()empty($0),empty(.f.),?empty(ctod(),empty(ctot()均为.T.均为.F.不“空”。?empty(.NULL.)或empty(null)3.日期时间函数(1)系统日期?date()04/07/10(2)系统时间?time()22:31:11(3)系统日期时间?dateti

20、me()04/07/1010:31:11PM(4)年份?year(A2005/12/23)2005(5)月份?month(32005/12/23)12(6)天数?day(32005/12/23)23(7hourA2009-12-44:40:25pm16(8)分钟?minute(丫2009-12-44:40:25pm)40(9)秒数?sec(A2009-12-44:40:25pm)254.类型转换函数(1)数值型-字符型?str(3.1415926,6,长度?str(3141.5926,6)不含小数_3142?str(+123.45,6,1)123.5返回C字符型4)3.1416小数位数?str

21、(3141.5926,3)?str(3141.5926)(2)字符串-数值?val(“3.1415圆周率”)3.14注:返回值的小数点位数取决于(3)字符串-日期?ctod(12/23/78”)*不含小数,默认长度为10?str(-1.438e6,6,3)-1.E+6返回N?str(-1.438e6,9)-1438000数值型,默认2位小数。val(“圆周率3.1415)0setdecimalto命令设置的位数返回值D日期型?ctod(2008-12-23)Str常考函6分钟3142注:机器内能识别的日期格式!(4)日期-字符串返回值C?dtoc(A1980/12/25)12/25/80Set

22、strictdateto0?dtoc(09/19/89)5.其他函数(1)条件测试?if(34,“正确“,“错误”)(2)值域测试?between(d”,“b,”s)(3)数据类型测试根据函数功能识记函数字符型09/19/89.T.?vartype(90),vatype(a),vartype(date(),vartype(null),vartype(35),vartype(a,+3),N(五)运算符、1.算术运算符C表达式+-*/A%不匹配2.字符运算符+原样连接-第一个字符串尾部空格移到整个连接字符串的尾部3.日期和时间日期+3加大数结果为日期日期-3减天数日期日期-日期相差天数数值时间+3

23、加秒数时间时间-3减秒数时间时间-时间相差秒数数值If函数正确使用4分钟如何用好vartype函4.关系运算符Setexacton加空格精确比较两种比较有何不同?如Setexactoff左包含右即可何切换?5.逻辑运算符?not.t.F.4分钟?.t.and.f.?not(35)?a=bor(75).F.T.T.教学反思:这一章,理论教学内容较多,对于数据类型的理解,常量变量的使用,数组的定义与赋值,到最后函数的应用,逐层深入,环环紧扣。课堂教学当以打基础为主,让学生理解数据类型的含义,结合生活实际,会区分不同的事物划分不同的类型。在数组这一环节,可以实例演示,让学生看到真正的运行结果,体会数

24、组元素初始值是逻辑假的事实,然后分别用不同类型的值去覆盖数组,加深对数组的认知。由于函数比较多,所以我制作了大量的实例,把函数的各种不同类型的参数都覆盖上,这样的ppt讲解的时候,全面清楚的看清了函数不同种参数的实际运行效果,区别数值函数、字符函数、日期函数、数据类型测试函数、数据类型转换函数的不同应用,会熟知函数的不同运算结果,为日后各章数值处理做好准备。授课章节第3章数据库的建立和维护所需学时讲授学时数:2实践环节学时数:2教学目的与要求目的:掌握数据库的基本操作。要求:1、理解数据库与法的关系;2、掌握数据库的创建与使用教学重点1、命令操作数据库2、数据库的打开关闭与删除教学难点1、当前

25、数据库教学方法与手段1、课堂讲授2、上机操作教学内容时间分配第5次课讲授:数据库的基本操作第5次上机:建立、使用、删除数据库作业及思考题1、数据库匕表的关系;教学的基本内容时间安排教学方法第3章数据库的建立和维护,、数据库与表的概述(一)数据库:逻辑概念,它通过一组系统文件将相互关联的数据库表及其相关的数据库对象个组织和管理。.DBC数据库与表的关系引自动建立.DCT数据库备注文件.DCX数据库索引文件(二)表:在关系数据库中,将关系称为表。r表结构:字段名(表头),类型,宽度,小数位数表11表数据:表中记录入?3分钟表义件的犷展名:.DBF(三)数据库匕表:各种文件的扩展名识记(数据库表:归

26、数据库管理的表1自由表:不归任何数据库管理的表2分钟自由表口以添加到数据库中,成为数据库表;数据库表也可以从数据库中移出成为自由表。二、数据库的操作建立打开与(一)建立数据库关闭数据库文件-新建-数据库-新建文件,命名-打开数据库设计器(二)打开数据库6分钟文件-打开-文件类型-数据库.dbc,打开数据库设计器(三)设置当前数据库常用”工具栏上数据库下拉列表表与数据操作教学反思:这一章的内容较少,要结合第四章的表的实际操作,与数15分钟据库表的建立与使用共同学习。重点掌握数据库的各种菜单操作方式和命令操作方式,会建立、修改、删除、维护数据库,为数据库表的建立打好基础。熟悉识记各种操作数据库和表

27、的命令15分钟授课章节第4章数据表的创建与操作所需学时讲授学时数:4实践环节学时数:4教学目的与要求目的:掌握数据库的基本操作。要求:1、理解数据库与法的关系;2、掌握数据表的创建与使用3、索引的使用与操作数据4、参照完整性教学重点1、命令操作数据库匕表2、主索引的作用3、数据排序教学难点1、多工作区的切换教学方法与手段1、课堂讲授2、上机操作教学内容时间分配第6次课讲授:数据表的基本操作第6次上机:建立、使用、删除数据第7次课讲授:索引和工作区的使用第7次上机:建立、使用、删除索引,切换工作区作业及思考题2、表间联系与参照完整性;教学的基本内容时间安排教学方法表与数据操作15分钟熟悉识记各种

28、操作数据库和表的命令15分钟注:.dbc.dct.dcx运行后查看结果注意和update语句比较第4章数据表的创建与操作一、表的基本操作(一)菜单操作方式(1)建表结构文件-新建-表-新建文件-命名-打开表设计器(2)录入数据两种方式:直接录入+追加录入浏览状态下,显示”-追加方式”(3)显示表结构/修改表结构显示-表设计器(4)表记录的浏览表打开状态下,显示-浏览(5)记录删除/恢复表浏览状态下,表-删除记录/恢复记录(6)物理删除表浏览状态下,表-彻底删除(7)表的打开与关闭打开:文件-打开-文件类型-表.dbf关闭:窗口菜单-数据工作期,选择要关闭的表-关闭按钮(二)、命令操作方式:库操

29、作?Createdatabas好生管理?Opendatabase学生管理?Modifydatabase学生管理?Setdatabasetc生管理?Setdatabaseto当前数据库为空?Closedatabase关闭当前数据库?Closeall关闭所有打开库?Deletedatabase学生管理recycledeletetable均删放回收站删表(三)、命令操作方式:表操作?Create学生表?Append增加记录在表尾?Appendblank增加一条空记录?Go3Insertbeforeblank?Use学生表?Use?List/displaystructure?Go3Display?Li

30、stListrecord3Listfor入学成绩=500Listfor性别=女”物理删除与逻辑删除区别?命令后注意回车执行10分钟删除标记的记录也统计在内注意返回结果为数值型listrestListnext4?Modifystructure打开表设计器?Replace入学成绩with79for学号=001”Replaceall入学成绩with入学成绩+10Replaceall入学成绩with入学成绩+5for性别=女”?Browse?Go4delete逻辑删除当前记录recall恢复当前记录?Deleterecord3deletefor性别=女”Deleteallrecallfor性别=女”r

31、ecallall?PackZap?GotopSkip3GobottomSkip-2?Locatefor性别=女”continue?Addtable自由表名添加自由表到当前数据库?Removetable表名deleterecycle删除数据库表删除放回收站?Deletefilexs.dbf删除自由表,必须文件扩展名(四)与表有关的函数(1)记算表中记录个数函数格式:RECCOUNT()功能:测试指定工作区中表的记录个数。说明:做过逻辑删除的记录包括在内。?RECCOUNT()结果为34(2)返回表中当前记录号函数格式:RECNO()功能:返回当前记录的记录号。【例】USEStudentGO2?R

32、ECNO()结果为2(3)表文件首测试函数格式:BOF()功能:测试记录指针是否指向第一条记录之前。(4)表文件尾测试函数格式:EOF()功能:测试记录指针是否指向最后一条记录之后。USEXS?BOF()结果为.F.SKIP-1?BOF()结果为.T.GOBOTTOM?EOF()结果为.F.SKIP等价于SKIP1?EOF()结果为.T.(5)记录是否启删除标记函数格式:DELETED()功能:测试当前记录是否启删除标记*。有返回.T.,没有.F.【例】DELETERECORD3GO3?DELETED()返回.T.(6)测试记录是否找到函数格式:FOUND()功能:测试是否找到符合要求的记录。

33、找到返回.T.,否则返回.F.【例】USEStudentLOCATEFORName=高涵”IfFOUND()如果结果为.t.,那么说明已找到姓名为高涵”的学生DISPLAYEndif(五)、表的复制1 .复制表结构(将当前表结构复制到指定表中)usestudentcopystructuretotable1use复制后,新表处于关闭状态usetable1liststructureuse2 .复制表结构+数据(复制当前表结构+数据)usestudentcopytotable2copytotable3for性别二女”useUsetable3ListUse3 .从其他表文件向表中添加数据从其它表义件添

34、加数据到当前巾的表尾中Usetable1Appendfromtable2(table1table2)ListAppendfromstufields学号,姓名,入学成绩ListUse(六)、工作区与同时使用多个表表文件首尾的位置4分钟快速复制表数据或结构3分钟追加记录比较实用多工作区使用5分钟不引入工作区,先打开A表,当再打开B表时,表A自动关闭。引入工作区,132767个,可同时在不同的工作区分别打开多个表。Select1Use表1思考:引入多工作区有何好处就口何标记?Select2Use表2Select0=select3Use表3Use表4in4Select0表示使用最小的空闲工作区(七)、

35、使用数据工作期?数据工作期窗口对多表操作提供了便利条件,它可以方便的打开表、关闭表、浏览表,还可以对已经排序的两个表建立关系。?窗口”-数据工作期”提问:索引好处?3分钟?表之间的临时关系要求两个表有共同的关键字并分别用关键字建立了索引,可以用setrelation命令建立临时关系。Use成绩in1Use学生in2setrelationto学号into1二、表的索引?索引是一种快速查询和定位技术。如果要按照特定的顺序定位、查看或者操作表中的记录,可以通过索引完成相关的操作。依次举例让学生看到创建索引的好处?Visualfoxpro索引是由指针构成的文件,这些指针逻辑上按照索引关键字的值进行排序

36、(升序或者降序),索引文件和表文件分别存储,索引并不会改变表中记录的物理顺序。(一)索引文件类型?索引文件有二种单索引文件,idx,用命令建立18分钟L复合索引文件独立复合索引文件.cdx,与表名不同,用命令建立结构复合索引文件.cdx,与表名同名,用命令+表设计器均可建立(二)索引类型?主索引:主关键字特性,不允许出现重复值或空值,只能在数据库表中创建一个主索引。掌握命令创建与删除索引?候选索引:候选关键字特性,不包含Null值或重复值。在数据表和自由表中均可以为每个表建立多个候选索引。?唯一索引:只在索引文件中保留第一次出现的索引关键字值。以指定字段的首次出现值为基础,选定一组记录,并对记

37、录进行排序。在数据表和自由表中均可以为每个表建立多个唯一索引。4分钟?普通索引:可以用来对记录排序和搜索记录,它不强迫记录中的数据具有唯一性。在数据表和自由表中均可以为每个表建立多个普通索引。(三)索引文件的建立提问?为何要引入数据完整性?有何优点?详细演示并讲解如何建立表间的关联?15分钟1 .表设计器中建立结构复合索引索引选项卡:索引名,类型,表达式,筛选2 .命令建立结构复合索引Indexon学号tagxh普通索引Indexon学号tagxhunique唯一索弓IIndexon学号tagxhcandidate候选索弓I注:不能建立主索引(四)结构复合索引文件的使用?指定索引顺序1 .菜单

38、方式表浏览状态下:装”-属性”-p58图2-192 .命令方式Setordertoxh升序Setordertoxhdesc降序?使用索引快速查询索引可以提高查询速度,将记录指针快速定位到要查询的记录处,可以用seek命令来快速定位。Seek“0202”orderxh?删除结构复合索引1 .表设计器中索弓选项卡中的【删除】按钮2 .命令方式DeletetagxhDeletetagall三、数据完整性-回到教材第9页厂(1)实体完整性:保证记录唯一的特性。-主索引和候选索引(2)域完整性:字段类型的定义和字段取值范围的约束规则。普通索引处2 .数据库”菜单-清理数据库”注:关闭数据库表才能清理3

39、.设置参照完整性更新规则级联限制忽略删除规则级联限制忽略插入规则限制忽略教学反思:这一章是整本书的核心章节,所以放慢速度来讲,力求打好基础,讲懂讲透。对于表的创建,表结构的修改,表记录的录入、修改与删除,不但要掌握界面的操作方式,更主要的,学会用vfp的命令来控制,熟悉各种命令的书写规则,加深对vfp常用表处理命令的记忆与识别,学会插入数据,修改数据和删除数据,对多工作区要有个正确的认识,要埋解索引的优点与含义,索引的类型,如何创建结构复合类型索引,以及索引的具体应用。这一章同样要利用教学经典实例,结合书上的数据操作,理解vfp表数据的执行过程,并配合等级考试真题,加深课堂内容的理解。授课章节

40、第5章结构化查询语言所需学时讲授学时数:6实践环节学时数:6教学目的与要求目的:掌握SELECT命令主要短语的用法和作用;掌握SQL谛言中记录的插入,修改和删除.要求:1、通过命令窗口及程序窗口编写sql语句创建数据库对象2、熟练用vfp命令和sql语句两种方式操作数据.(插入,修改和删除)3、sql语句对数据综合查询.教学重点1、select查询语句书写规则2、多表连接查询教学难点1、嵌套查询及聚合函数的使用教学方法与手段1、课堂讲授2、上机操作教学内容时间分配第8次课讲授:数据查询(单表+联接查询)第8次上机:编写习题书后程序,并执行第9次课讲授:嵌套查询和数据定义第9次上机:编写书后程序

41、,并做习题第10次课讲授:数据操纵(insert+update+delete)查询和视图第10次上机:编写书后程序,并做习题作业及思考题1、in,notin的使用。3、数组在查询中的应用。教学的基本内容时间安排教学方法第5结构化查询语言SQL简介StructuredQueryLanguage结构化查询语言,是关系数据库的标准语言。SQL语言的基本功能:数据查询SELECT,数据定义CREATE、DROP、ALTER数据操纵INSERT、UPDATE、DELETE、数据控制GRANT、REVOKE掌握select命令一、数据查询功能SQL语言的查询功能由SELECT命令完成。SELECTALL|

42、DISTINCTTOPNPERCENT要查询的数据FROM数据源1连接方式JOIN数据源2ON连接条件10分钟WHERE查询条件GROUPBY分组字段HAVING分组条件ORDERBY排序选项1ASC|DESC,排序选项2ASC|DESC.输出去向1基于单个表的查询【例4.1查询教师情况表中教师的姓名、性别和职称信息。Select姓名,性别,职称from教师情况表【例4.2查询教师情况表中的所有字段信息。Select*from教师情况表举例书写满足查询要求的select语句或Select*from教学管理数据库!教师情况表【例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查询教师情况表中的职工人数。Selectcount(姓名)from教师情况表Selectcount(教师编号)from教师情况表5分钟Selectcount(*)from教师情况表Selectcount(教师编号)as教工人数from教师情况表Selectcount(教师编号)教工人数from教师情况表【例4.10】查询教师情况表中男、女职工的人数信息。Select性别,count(*)教工人数from教师情况表groupby性别注意分号;什么时候加?

45、什么时候不加?【例4.11】查询教师情况表中各种职称的人数信息。Select职称,count(*)人数from教师情况表;groupby职称【例4.12】查询教师情况表中职称人数在3人以上的信息,并按照人数降序输出。Select职称,count(*)人数from教师情况表groupby职称havingcount(*)=3;Orderby人数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年之前参加工作的职工姓名、工作日期、基本工资,将查询结果在数组AX中。(二维)Select姓名,工作日期,基本工资from教师情况表where工作日期A1990/01/01intoarrayax注:如果查询结果只有一个值,

47、则存至ax(1,1)中,二维数组。2联接查询基于多表间的查询,必须指定多表之间的联接条件。【例4.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课程名称=计算机基础”联接包括4种:左联接leftjoin右联接rightjoin全联接fulljoin内联接innerjoin(1)左联接一左表全部记录+右表匹配记录,不匹配用null联接。Selectxs.*,课程号成绩fromxsleftjoincjOnxs.学号=cj.学号(2)右联接-右表全部记录+左表匹配记录,不匹配用null联接。Selectxs.*,课程号,成绩fromxsrightjoincjOnxs.学号=cj.学号(3)全联接-俩表全部记录,不匹配用null联接。Selectxs.*,课程号,成绩fromxsfulljoincjOnxs.学号=cj.学号(4)内联接-只显示满足条件的记录Selectxs.*,课程号,成绩fromxsinnerjoincjOnxs.学号=cj.学号【例4.17】查询学生学号、姓名和各课程的课程号及成绩。Selectx.学号,姓名,课程号,成绩

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论