Visual Foxpro讲稿.doc_第1页
Visual Foxpro讲稿.doc_第2页
Visual Foxpro讲稿.doc_第3页
Visual Foxpro讲稿.doc_第4页
Visual Foxpro讲稿.doc_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

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

文档简介

第一部分Visual Foxpro 知识第一章 VFP基础数据、数据管理(人工阶段,文件系统阶段,数据库系统阶段(数据共享,减少数据冗余。)一)数据库系统及相关概念1数据库DB(存储在计算机上,结构化相关数据的集合,它不仅存放数据还存放事物之间的联系)database2数据库系统DBS 机器电脑3数据库管理系统DBMS VFPDBS (机器) 包括DBMS(是DBS的核心)和DB 数据库系统DBS包括数据库管理系统DBMS和数据库DB 数据库系统的核心是:数据库管理系统DBMS二)数据模型 实体及实体集之间的联系(一对一(1:1),一对多(1:m),多对多(m:n)) 为反映事物与事物之间的联系,数据必须有一定结构,这种结构用数据模型表示出来。1层次模型(1:M) 采用树型结构2网状模型(M:N)3关系模型(1:1) VFP 支持模型就是:关系模型三)关系模型1关系其实就是二维表,用二维表形式表示实体与实体间联系的数据模型称为关系数据模型。Student关系(表)学号姓名年龄性别身份证号001张强20男21122319002赵刚19男21022122003张芳18女21090999004赵蕊19女32345343005学号成绩00180002700039000485a) 属性 关系中的列,(在VF表中称字段)b) 元组 关系中的行,(在VF表中称记录)c) 域 字段的取值范围d) 关键字(键,码) 用于唯一标识一个元组,不允许重复,不允许出现NULL值。可以是一个字段也可以是多个字段的组合。 主关键字或外部关键字e) 关系特点:规范化(每个属性必须是不可再分的数据单元),不能出现相同属性名,不允许相同元组,元组与属性的次序无关。2关系运算关系运算操作对象是关系,得到的结果也是一个新的关系。 a)选择运算 (选择元组) 横向选(水平选) 选性别为男的记录VF命令:FOR SQL命令:Where 都是选择运算学号姓名性别年龄身份证号001张强男2021122319002赵刚男1921022122姓名成绩张强80赵刚70张芳90赵蕊85 b)投影运算(选择属性) 纵向选(垂直选) 选学生姓名,年龄列VF命令Fields SQL命令:Select 都是投影运算性别年龄男20男19女18女19 c)联接运算 基于多个表的操作 SQL命令Join 是联接运算自然联接:去掉重复记录的联接。1用树形结构表示实体之间联系的模型是()A)关系模型 B)网状模型 C)层次模型 D)以上三个都是2数据库系统中对数据库进行管理的核心软件是A)DBMS B)DS C)OS D)DBS3关系运算中的选择运算是A)从关系中找出满足绐定条件的元组的操作 B)从关系中选择若千个属性组成新的关系的操作C)从关系中选择满足绐定条件的属性的操作 D)A和B都对4在奥运会游泳比赛中,一个游泳运动员可以参加多项比赛,一个游泳比赛项目可以有多个运动员参加,游泳运动员与游泳比赛项目两个实体之间的联系是 【m:n6】 联系。5Visual FoxPro是一种关系型数据库管理系统,这里关系通常是指A)数据库文件(dbc文件) B)一个数据库中两个表之间有一定的关系C)表文件(dbf文件) D)一个表文件中两条记录之间有一定的关系6在下列四个选项中,不属于基本关系运算的是( )。A) 连接 B) 投影 C) 选择 D) 排序7如果一个班只能有一个班长,而且一班长不能同时担任其它班的班长,班级和班长两个实体之间的关系属于( )。A) 一对一联系 B) 一对二联系C) 多对多联系 D) 一对多联系8Visual FoxPro支持的数据模型是( )。A) 层次数据模型 B) 关系数据模型C) 网状数据模型 D) 树状数据模型9设有部门和职员两个实体,每个职员只能属于一个部门,一个部门可以有多名职员,则部门与职员实体之间的联系类型是 ( )。 A)m:n B)1:m C)m:k D)1:1 CAA多对多C DABB 第二章 VFP6.01命令窗口2命令格式一条命令占一行,一行最多2048个字符 换行用分号表示逻辑分行 命令不区分大小写 命令动词可以缩写前四个字母3Clear 清屏幕4Quit 退出VFP1Visual FoxPro DBMS 是 ( )。A)操作系统的一部分 B)操作系统支持下的系统软件 C)一种编译程序 D)一种操作系统 2Visual FoxPro DBMS 基于的数据模型是 ( )。A)层次型 B)关系型 C)网状型 D)混合型 BB 第三章 项目管理器项目是指文件,数据,文档和VF对象的集合。项目管理器是VF集中处理数据和对象的是要组织工具。1建立项目 Create Project 修改(打开)项目 Modify Project2扩展名Pjx 项目文件备注扩展名为:PJT3选项卡 a)数据 1)数据库 2)自由表 3)查询 4)视图 b)文档 1)表单 2)报表 3)标签c)代码程序文件,命令文件,PRG文件d)其他菜单4项目管理器中a)可以运行的文件:查询;表单;程序;菜单b)可以浏览的文件:数据库表;自由表;视图c)可以预览的文件:报表;标签5项目管理器的连编可生成的文件有连编应用程序(扩展名为APP):表示可以执行但不能脱离VFP环境执行。可执行文件(扩展名为EXE):可以脱离VFP运行。a)可执行文件 Exe Build exe 程序名 from 项目名b)应用程序 App Build app 程序名 from 项目名c)动态链接库 DLL排除与包含:添加到项目管理器中上的数据库和表文件左则有一个排除符号,表示此文件在应用程序中可以修改,默认为“排除”1如果添加到项目中的文件标志为”排除”,表示A)此类文件不是应用程序的一部分 B)生成应用程序时不包括此类文件C)生成应用程序时包括此类文件,用户可以修改 D)生成应用程序时包括此类文件,用户不能修改2”项目管理器”的运行按钮用于执行选定文件,这些文件是A)查询、视图或表单 B)表单、报表和标签 C)查询、表单或程序 D)以上文件都可以3扩展名为 pjx 的文件是_。A)数据库表文件B)表单文件C)数据库文件 D)项目文件4在Visual FoxPro中创建项目,系统将建立一个项目文件,项目文件的扩展名是( )。A)pro B) prj C) pjx D) itm5在Visual FoxPro的项目管理器中不包括的选项卡是( )。A) 数据 B) 文档C) 类 D) 表单6连编应用程序不能生成的文件是( )。A. APP文件 B. EXE文件 C. DLL文件 D. PRG 文件 7在visual foxpro中,BUILD_命令连编生成的程序可以脱离开visual foxpro在WINDOWS环境下运行。 8项目管理器的 3 选项卡用于显示和管理数据库、自由表和查询等。CCDCD D (EXE) 数据第四章 数据与数据运算1常量 程序运行时,不可以改变的量 a)字符型C 由汉字,字符,及数字等构成,最长不能超过254个字符 定界符:双引号,单引号,中括号 b)数值型N 由09 + - E e 等数字字符构成 最长,20位,精度,16位 c)日期型D 固定8个字节, 默认MM/DD/YY 05/03/99严格日期YYYY/MM/DD 2008/05/03影响日期的几个命令:SET CENTURY ON|OFF SET DATE TO SET MARK TO d)逻辑型L 占一个字节,真-.T. 假.F. e)日期时间型T 占8个字节 2008/12/11,15:30:00 f)货币型Y $99.992变量 a)数量类型 1)内存变量 由“=”号定义 或由Store 命令定义 如,x=0 Store 0 to x,y 同时定义两个变量,初值都为0 2)字段变量 依赖于表,表打开则存在,表关闭,则释放 如学生表中的,学号,姓名,年龄等,都是字段变量字段变量和内存变量可以同名,系统优先使用字段变量,想使用内存变量得用内存变量标识:M.内存变量如:学生表中有姓名(为字段变量)字段,当前记录为张三 在命令窗口中输入如下命令:姓名=“你好”+姓名 ?姓名 结果是:张三 (原因是优先使用字段变量)如果执行:?M姓名 结果为:你好 表示使用内存变量 3)数组变量 dimenision与declare数组 一组连续存储空间 VF 只支持一维数组和二维数组 且数组元素下标从1开始。定义数组的命令是: declare 或 dimension dime a(3) 定义的是一维数组,有3个元素 a(1)=100a(2)=.t.a(3)=2009/03/05a(0)=100a(4)=100dime b(3,3) 定义的是二维数组,元素引用时,采用下标或采用序号访问方式b(1,1),b(1,2),b(1,3)b(2,1),b(2,2),b(2,3)b(3,1),b(3,2),b(3,3)注意:dime a(m), b(m,n) a中有m个,B中有M*n定义后未赋值的元素初值为: .F. 同一数组中,各元素类型可以不一致。Dime c(4) C=100?c(1),c(2),c(3),c(4) 均为100 4)系统变量 b) 变量定义 1)=定义 一次只能定义一个 2)store 定义 可以定义多个变量,store 0 to x,y c) 变量输出 1)? 选换行,再输出 2)? 不换行输出 d)变量作用域 1)Public 公共变量 对全局都有效(任何模块都有效),需要先声明后使用。 2)Private 私有变量,只对定义的过程及其子过程有效,程序中直接使用,由系统自动隐含建立。 3)Local 局部变量,只对定义的过程有效,其子过程及上层均无效使用这三个命令定义的变量,初值均为.f. e)变量管理 1)显示变量List memory 2)保存变量save toSave all like a* to aaAa变量文件,扩展名为Mem 3)释放变量Release或clear memoryRelease all except a* 3表达式 a)数值表达式 + - * 或*(乘方) / % (求余数)余数符号和除数符号相同,如5%-3 结果为-1与* 优先,*与/ 再次 % 次之 +与- 最后 b)字符表达式 + - 连接运算 “口”代表空格“a口”+”b口” 结果为”a口b口” 两个字符串联接成一个串“a口”-”b口” 结果为”ab口口” 将前一字符串的尾部空格移到第二个字符串的尾部。 c)日期表达式2008-12-14+5 结果为2008-12-19 加上相应的天数,结果是日期2008-12-14-5 结果为2008-12-9 减去相应的天数,结果是日期2008-12-14-2008-12-10 结果为 4 两个日期相减,结果是数值,相差的天数2008-12-14+2008-12-10 是错误的表达式。 d)关系表达式(字符比较,精确与非精确)关系表达式的结果是逻辑型的,汉字按拼音比较 字符按ASCII码值比较 日期按数值比较关于“=” “张三”=“张” 结果为.T. 是非精确比较 SET EXACT OFF 系统默认当SET EXACT ON 是,处于精确比较 “张三”=“张” 就为.F. 关于“= =” 完全等于 必须一样,SET EXACT 对完全等于不起作用。关于“$”包含于“人民”$“中国人民” 串1是否包含于串2中,结果为.T. f)逻辑表达式 运算符有 Not 或!(非运算) And (与运算) Or (或运算)4宏替换 其运算符为& 被替换的内容应放在字符型定界符内或存入字符变量例:x=”2”?5-&x 其结果为:3Name=”student”Use &name 打开student 表运算的优先级别 宏替换最高,其次是算术和字符运算,再次是关系运算,最后是逻辑运算5函数1)数值类a)求绝对值 abs(expN) |100-200|?abs(-5) 5 ?abs(100-200)b)取整 int(expN) ?int(1234.5678) 1234 取整,不四舍五入?int(15/4) 3c)开平方 sqrt(expN) ?sqrt(25) 5d)四舍五入 Round(expN , n)?round(1234.5678,2) 1234.57?round(1234.5678,0) 1235?round(1234.5678,-2) 1200e)求余数 Mod(expN , n)?mod(5,-3) -1 5%-3 余数符号和除数的符号相同f)求符号 sign(expN)?sign(10),sign(0),sign(-100) 1 0 -1?sign(20)*5-10 -5g)求 PI() 无参数?pi() 3.14h)求最大值,最小值 Max() Min()?max(100,9) 100 , max(“100”,”9”) 9 2)字符类a)求字符串长度 len(expC) 返回值的类型是N型?len(“abcd”) 4?len(“中国人民”) 8?len(中华人民共和国) 语法错误b)生成空格 space(N) ?space(5) 产生5个空格?len(space(3)+space(2) 5?len(space(3)-space(2) 5c)取子串 Left(expC,n) 左面取 right(expC,n) 右面取 substr(expC,n1,n2) 取任意子串?left(“abcdef”,2) ab?right(“abcdef”,2) ef?substr(“abcdef”,2,4) bcde ?substr(“abcdef”,2) bcdef?substr(“中华人民共和国”,len(right(“abcdef,5),4) 人民d)判断子串 at(expC1,expC2,n) 判断串1在串2中第N次出现的位置 返回值类型 N ?at(“ab”,”ababababacabc”,4) 7?at(“ab”,”abababcab”) 1 第一次出现的位置?at(“ac”,”abcabc”) 0 没有出现e)替换子串 stuff(expC1,n1,n2,expC2) 对串1从第n1个位置开始到第N2个位置的字符用串2替换?stuff(“abcdefgh”,2,4,”ABCD”) aABCDfgh f)大小写转换类 Upper(expC) 小写变大写 Lower(expc) 大写变小写?upper(“abc中de”) ABC中DE g)Alltrim(expC) 去掉串的首尾空格?len(alltrim(“-中-国-“) 53) 日期类函数:a) Date() 返回系统的日期 结果是D型 ?date() 12/15/08b) time() 返回系统的时间 结果是C型*?time() 20:18:18 结果是字符型 c) datetime() 返回系统的日期时间 结果是T型?datetime() d) year( expD ) 返回日期中的年份 ?year(date() ) 2008 数值型 ?month(date() 12 ?day(date() 15 N型4) 测试类函数a) Like(expC1,expC2) 串1是否和串2匹配?like(“abc”,”abc”) .T. ?like(“abd”,”abc”) .F. 此函数返回值类型L型* ?like(“ab?”,”abc”) .T. ?代表任意一个字符?like(“a*”,”abc”) .T. *代表任意多个字符* ?like(“abc”,”ab?”) .F. 只允许串1使用通配符b) Between(expN1,expN2,expN3) 返回值类型是L型?between(40,30,50) .T. 40是否在30(含30) 和50(含50)之间 =30 and =50?between(40,40,50) .T. ?not between(40,30,50) .F. 50 c) Empty( ) 测试是否为空值 返回值类型L型?empty(200) .F. ?empty(0) .T. 数值型 0为空?empty() .t. 字符型空串,空格都为空?empty( ) .t.?empty(space(2) .t. d) Isnull( ) .NULL.(不确定的值) 测试函数?isnull(0) .F. 0是确定的 ?isnull(“”) .F.* ?isnull( .null. ) .T. 只有测试null 时结果才为.T. 返回值是L型e) Vartype( ) 数据类型测试函数 ?vartype(100) N?vartype(中国) C?vartype(2008/05/12) D* ?vartype(a) U 未定义的类型x=66,2+3,2-3) -1?iff(56,2+3,2-3) 5最后一类:转换类函数a) * DtoC(expD) 将日期转换为字符 结果是C型?dtoc(date() 将日期转换字符 12/15/08 ?vartype(dtoc(date() C?dtoc(date(),1) 20081215 b)* CtoD(expC) 将字符转换为日期 结果是日期型?ctod(“10/12/08”)-2008/10/01 11c) str(expN) 数值转换为字符 结果是字符型?len(str(1224.5678) 结果是10d)val(expC) 字符转换为数值 结果是数值型1在Visual FoxPro中,下面4个关于日期或日期时间的表达式中,错误的是 ( )。A)2002.09.01 11:10:10:AM-2001.09.01 11:10:10AM B)01/01/2002+20 C)2002.02.01+2001.02.01 D)2002/02/01-2001/02/012函数BETWEEN(40,34,50)的运算结果是【15】。 .t.3在Visual FoxPro中,如果希望一个内存变量只限于在本过程中使用,说明这种内存变量的命令是:( )。 A)PRIVATE B)PUBLIC C)LOCAL D)在程序中直接使用的内存变量(不通过A,B,C说明)4关于Visual FoxPro的变量,下面说法中正确的是 ( )。A)使用一个简单变量之前要先声明或定义 B)数组中各数组元素的数据类型可以不同 C)定义数组以后,系统为数组的每个数组元素赋以数值0 D)数组元素的下标下限是0 5在下面的表达式中,运算结果为逻辑真的是 ( )。A)EMPTY(.NULL.) B)LIKE(edit,edi?) C)AT(a,123abc) D)EMPTY(SPACE(10) 6Visual FoxPro内存变量的数据类型不包括 ( )。A)数值型 B)货币型 C)备注型 D)逻辑型7以下关于空值(NULL)叙述正确的是 ( )。A)空值等同于空字符串 B)空值表示字段或变量还没有确定值 C)VFP不支持空值 D)空值等同于数值08在Visual FoxPro 中说明数组的命令是( )。A) DIMENSION和ARRAY B) DECLARE和ARRAYC) DIMENSION和DECLARE D) 只有DIMENSION9有如下赋值语句,结果为“大家好”的表达式是( )。a=“你好” b=“大家”A) b+AT(a,1) B) b+RIGHT(a,1)C) b+ LEFT(a,3,4) D) b+RIGHT(a,2)10下列函数中函数值为字符型的是( )。A) DATE() B) TIME() C) YEAR() D) DATETIME() 12在下面的数据类型中默认值为.F.的是( )。A) 数值型 B) 字符型 C) 逻辑型 D) 日期型13在程序中不需要用public等命令明确声明和建立,刻直接使用的内存变量 ( )。A.局部变量 B.公共变量 C.私有变量 D.全局变量 14设X=10, 语句 ?VARTYPE (X)的输出结果是 ( )。A. N B. C C. 10 D. X 15.表达式LEN(SPACE(0)的运算结果是A. NULL B. 1 C. 0 D. 16下列表达式中,表达式返回结果为.F.的是 ( )。A) AT(“A”,”BCD”) B) “信息”$“管理信息系统” C) ISNULL(.NULL.)D) SUBSTR(“计算机技术”,3,2)17 LEFT(“123456789”,LEN(“数据库”)的计算结果是 123456 18命令?VARTYPE(TIME()结果是()。A)C B)D C)T D)出错19命令?LEN(SPACE(3)-SPACE(2)的结果是()。A)1 B)2 C)3 D)520)在下面的VisualFoxPro表达式中,运算结果为逻辑真的是A)EMPTY(.NULL.) B)LIKE(xy?,xyz) C)AT(xy,abcxyz) D)ISNULL(SPACE(0)21)依次执行以下命令后的输出结果是SET DATE TO YMDSET CENTURY ONSET CENTURY TO 19 ROLLOVER 10SET MARK TO ”.”?CTOD(“49-05-01”)A)49.05.01 B)1949.05.01 C) 2049.05.01 D)出错22)假设职员表已在当前工作区打开,其当其记录的”姓名”字段值为”张三”(字符型,宽度为6)。在命令窗口输入并执行如下命令:姓名=“您好”?姓名那么主窗口中将显示A)张三 B)张三您好 C)您好张三 D)出错C .T. CBD CBCDB CCBCB 123456 ADBBA第五章 数据库及操作1)建立数据库:Create Database2)修改数据库:Modify Database 弹出数据库设计器3)打开数据库:Open Database 4)关闭数据库:Close Database 当前 close database all所有数据5)删除数据库:Delete database 直接删除(Recycle 放到回收站)6)设置当前数据库:Set database to 数据库文件的扩展名:数据库文件:DBC 数据库的备注文件:DCT 数据库的索引文件:DCX数据库表与自由表:数据库表:属于某一库的表。表名最长可以用,128字符 有规则,有默认值,有主索引自由表:不属于任何库的表。表名最长是:10个字符自由表变成数据库表:Add Table数据库表变成自由表:Remove Table移去与删除:自由表变成数据库表后,他们与库并没真正形成一个物理文件,还独立存放。数据存放到表中,表的某种逻辑关系属于这个库,数据库并不真正存放用户数据1一个数据库名为student,要想打开该数据库,应使用命令( )。A) OPEN student B) OPEN DATA studentC) USE DATA student D) USE student2自由表的扩展名是 .dbf 。3在Visual FoxPro中,关于自由表叙述正确的是 ( )。A)自由表和数据库表是完全相同的 B)自由表不能建立字段级规则和约束 C)自由表不能建立候选索引 D)自由表不可以加入到数据库中 4在Visual FoxPro中,建立数据库表时,将年龄字段值限制在1214之间的这种约束属于 ( )。A)实体完整性约束 B)域完整性约束 C)参照完整性约束 D)视图完整性约束 5使数据库表变为自由表的命令是( )。A) DROP TABLE B) REMOVE TABLEC) FREE TABLE D) RELEASE TABLE6在Visual FoxPro的命令窗口中键入CREATE DATA命令以后,屏幕会出现一个创建对话框,要想完成同样的工作,还可以采取如下步骤( )。A) 单击“文件”菜单中的“新建”按钮,然后在新建对话框中选定“数据库”单选钮,再单击“新建文件”命令按钮B) 单击“文件”菜单中的“新建”按钮,然后在新建对话框中选定“数据库”单选钮,再单击“向导”命令按钮C) 单击“文件”菜单中的“新建”按钮,然后在新建对话框中选定“表”单选钮,再单击“新建文件”命令按钮D) 单击“文件”菜单中的“新建”按钮,然后在新建对话框中选定“表”单选钮,再单击“向导”命令按钮7扩展名为DBC的文件是( )。A) 表单文件 B) 数据库表文件 C) 数据库文件 D) 项目文件8一个数据库名为student,要想打开该数据库,应使用命令( )。A) OPEN student B) OPEN DATA studentC) USE DATA student D) USE student9数据库表可以设置字段有效性规则,字段有效性规则属于( )。A) 实体完整性范畴 B) 参照完整性范畴C) 数据一致性范畴 ) D 域完整性范畴10数据库表的字段可以定义默认值,默认值是( )。A) 逻辑表达式B) 字符表达式C) 数值表达式D) 前三种都可能11数据库的字段可以定义规则,规则是( )。A) 逻辑表达式 B) 字符表达式C) 数值表达式 D) 前三种说法都不对12在Visual FoxPro中,CREATE DATABASE命令创建一个扩展名为 (DBC 10 的数据库文件。B (DBF) BBB ACBDD A (DBC)第六章 表及其操作1)建立表 create 表扩展名DBF 表中如果选用了M型或G型字段将产生一个与表同名备注文件,其扩展名为:FPT2)打开表USE 表名 打开方式:独占:EXCLUSIVE 只读:Noupdate 共享:Shared工作区:打开表时,VF提供的工作空间,最多有:32767个工作区,默认使用1号1 A 2 B 3 C 10 J0号工作区:IN 0表示未使用的最小工作区Use sc in 0 alias kk 选择未用最小工作区打开sc表 并为sc表起个别名kkSELECT N :选择工作区,把工作区中的表置为当前表*(Select 0 选择未使用的最小工作区)打开表的同时,表所在的库会自动打开。一个工作区中只能打开一个表,最多能打开32767个表一个表可以在多个工作区中打开 use xs in 0Use xs in 0 again 3)表的关闭:a)USE 关闭当前工作区中的表,b)close all 关闭所有工作区中的表,并把1号工作区设置为当前工作区c)clear all 关闭所有工作区中的表,并把1号工作区设置为当前工作区 释放内存变量。表结构d)close database 关闭数据库及数据库中打开的表。表的基本操作1)记录指针 :刚打开表,指针指向第1条记录 Recno()测试记录号Bof( )1(top)2345bottomEof( )指针移动:Go n 绝对移动 Skip +-n 相对移动Bof( ) 测试是否在文件头 .T. Eof( ) 测试是否在文件尾 .T. 函数返回值是逻辑型。Go topSkip -1?Bof() , Eof() , Recno() 结果为 .t. .f. 1 记录指针到文件头Go bottomSkip?Bof() , Eof() , Recno() 结果为 .f. .t. N+1 记录指针到文件尾空表:只有结构,没有记录的表。文件头和文件尾重合EOF(),BOF()值分别为.T. Recno() 12)显示记录Display 显示当前记录List 所有记录Display|list 范围条件范围:a) All 全部记录b) Record n 第几条c) Next n 从当前记录开始,包含当前,下几个d) Rest 从当前含当前,到最后。Go 2List next 1 显示当前记录List next 3 234 条件:指定条件的命令是:For 条件表达式 L型 三种关系运算:选择运算List for 性别=”女”3)修改表结构 modify structure4)显示表结构 list structure 删除标记,占一个字节学生表,结构如下:姓名 c(6) 出生日期 D 婚否L 问存放1条记录占几个字节 结果是: 6+8+1+1(逻辑删除标记)5)删除记录逻辑删除:Delete 恢复:recall物理删除:Pack Eg1. go 3Delete *将第三条逻辑删除Pack *逻辑删除的记录物理删除注意:真正的删除一条记录,应先逻辑删除(delete)后物理删除(Pack)Eg1: delete for 性别=”女”Recall 恢复是所有注意:不带任何参数delete 删除的是当前记录 ,用For 指定删除条件VF:命令用FOR 指定条件 三种关系运算:选择运算彻底删除所有记录: zap 清空表6)修改记录Browse Edit Change 手动修改Replace 字段 with 值 成批修改有规律的数据如果不加条件,不加范围,修改的是当前记录replace 年龄 with 年龄+1如果指定修改条件 FOR ExpL 操作范围就是ALLreplace 年龄 with 年龄+1 for 性别=女replace 年龄 with 年龄+1replace 年龄 with 年龄+1 all7)查找记录(物理查找、条件定位)Locate for expL Eg: locate for 姓名=”邓一欧” *找到Display*显示查询结果?Found( )*测试是否找到 .T. Eg2. Locate for 姓名=”张三”?found( ) *.F. ?eof( )*.T. 表示没找到记录时,记录指针到文件尾Eg3. Locate for 性别=”男”Display *显示第一满足条件记录Continue*继续查询注意:当查询到多条满足条件记录时,它指向第一条,用Continue 继续查询,它不用单独使用必须与Locate 配合使用如果找到,则指向该记录 found() .T. Eof() .F.如果没找到,则指向文件尾 Found() .F. Eof() .T.如果找到多条满足条件的记录,指向第一条,想指向下一条使用的命令为:Continue注意:Continue 只能和Locate 配合使用,不能单独使用。8)追加记录Appand 文件尾部追加一条Append blank 文件尾部追加一条空记录Insert blank 当前记录后追加一条空记录Insert blank before 当前记录前追加一条空记录1执行下列一组命令之后,选择职工表所在工作区的错误命令是 ( )。CLOSE ALL USE 仓库 IN 0 USE 职工 IN 0 A)SELECT 职工 B)SELECT 0 C)SELECT 2 D)SELECT B2在Visual FoxPro中,调用表设计器建立数据库表STUDENT.DBF的命令是 ( )。A)MODIFY STRUCTURE STUDENT B) MODIFY COMMAND STUDENT C)REATE STUDENT D) CREATE TABLE STUDENT3在Visual FoxPro中,存储图象的字段类型应该是( )。A)备注型 B)通用型 C)字符型 D)双精度型 4在Visual FoxPro中“表”是指( )。A) 报表 B) 关系 C) 表格 D) 表单5在Visual FoxPro中字段的数据类型不可以指定为( )。A) 日期型 B) 时间型C) 通用型D) 备注型6扩展名为dbf的文件是( )。 A.表文件 B. 表单文件C.数据库文件 D.项目文件 7有关参照完整性的删除规定,正确的描述是( )。A 如果删除规则选择的是“限制“,则当用户删除父表中的记录时,系统将自动删除子表中的所有相关记录。B 如果删除规则选择的是“级联“,则当用户删除父表中的记录时,系统将禁止删除子表相关的父表中的记录。C 如果删除规则选择的是“忽略“,则当用户删除父表中的记录时,系统不负责做任何工作。D 上面三种说法都不对 8当删除父表中的记录时,若子表中的所有相关记录也能自动删除,则相应的参照完整性的删除规则为_级联_ 9命令SELECT 0的功能是()。A)选择编号最小的未使用工作区 B)选择0号工作区 C)关闭当前工作区的表 D)选择当前工作区10在VisualFoxPro中,使用LOCATEALL命令按条件对表中的记录进行查找,若查不到记录,函数EOF()的返回值应是12。BABBB AC级联A (.T.)第七章 索引索引最根本目的:加快表的查询速度 表文件扩展名:DBF索引文件:扩展名为CDX或IDX CDX:是结构复合索引 它随表文件打开自动找开IDX:单索引。索引文件中存放的是:索引表达式及其对应的记录号(顺序) 注意:索引文件不改变原表的物理顺序,只改变逻辑顺序(显示)索引类型: 主索引 候选索引 普通索引 惟一索引主索引:确保记录惟一,不允许出现NULL值,数据库才支持主索引,自由表不支持,一个数据库表只支持1个主索引候选索引:惟一,不能NULL,自由表与数据库都支持,不允许重复的索引有:主索引或候选索引普通索引:允许重复惟一索引:允许重复,重复后只要第一个惟一是指索引的项的惟一允许重复的索引有:普通索引和惟一索引建立索引:1) 通过表设计器:表设计器建立的索引一定是结构复合索引2) 字段选项卡建立索引类型是普通索引3) 通过命令建立索引:Index 不能建立主索引(主索引一定保存在结构复合索引中)index on 姓名 to xm单索引 IDXindex on 姓名 tag xm复合索引 CDX重要: *index on 姓名+str(年龄) to xm 按多个字段组合建立索引,必须类型一样升序:ASCENDING 降序:DESCENDING 候选索引:candi 惟一索引:unique索引文件扩展名是IDX(单索引)或CDX(复合索引:结构复合索引*随表文件打开自动打开*和独立复合索引)4) 打开索引 set index to 5) 调整索引 set order to xm (索引名) 注意:当有索引打开时,go top 与go 1的功能区别数据完整性:实体完整性:确保记录惟一,通过建立主索引域完整性:字段的取值范围 通过设置字段有效性规则参照完整性规则:在永久关系基础上建立参照完整性规则有:更新规则 更新规则:级联:父表关键字值修改时,子表相关记录自动修改限制:父表关键字值修改时,若子表有相关记录则禁止修改忽略:不作完整性检查删除规则:级联:父表记录删除时,子表相关记录自动删除限制:父表记录删除时,若子表有相关记录则禁止删除忽略:不作完整性检查插入规则:限制:子表插入记录时,若父表无相关记录则禁止插入忽略:不作完整性检查表与表之间的联系类型临时性联系(关联):要求:子表必须按关键字建立索引,父表索引可有可无效果:父表记录指针移动时,子表指针自动移动不能永久保存,表关闭关系释放。永久性联系(关系):表现在表与表之间的那根连线要求:必须是同一数据库中的两

温馨提示

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

评论

0/150

提交评论