1、一单选题(30 题,30 分) 二判断题(10 题,10 分) 三改错(5 题,15 分) 四填空(10 题,20 分) 五读程序写结果(5 题,25 分)第 2 章选择题,第 3、4、5、7、8、9 章所有选择题填空题,1 数据库系统 DBS 包括数据库 DB、数据库管理系统 DBMS、数据库应用系统 DBAS2 数据管理的几个发展阶段及其特点(1)人工管理阶段:数据不能保存;数据与程序存在一一对应关系;没有专门的数据管理软件,应用程序依赖于数据、数据的逻辑结构、数据的存储形式(2)文件管理阶段:优点:数据以文件的形式长期保存;程序和数据之间有一定的独立性,应用系统通过管理系统与数据文件发生
2、联系。缺点:数据冗余度大;数据的不一致性;数据的依赖性(3)数据库管理阶段:数据共享;具有最低的冗余度;具有较高的数据独立性;具有数据控制功能(4)分布式数据库管理系统:数据是分布的;数据是逻辑相关的;结点的自治性3 两个不同实体集的三种关系:一对一、一对多、多对多。病人和病床之间关系:一对一;省与市之间关系:一对多;教师与学生的关系为:多对多4 关系数据库的特点:数据的冗余度低;具有高度的数据和程序独立性;数据具有共享性;数据的安全性、完整性和对数据实行集中控制;5 关系运算,包括如下两类:(1)传统的集合运算,包括并、差、交;(2)专门的关系运算,包括选择、投影和联接6 常量:(1)数值型
3、常量(N):3.1415 、12 、0.1234 (2)字符型常量(C):abc 、 abC “abc” 有三对字符串定界符应成对使用。如果在字符串中需要出现定界符号,需用其他定界符定界,如“ABCCDEDFEF” (3)日期型常量(D):2010-07-10 、07/10/2010 分严格的日期格式与传统日期格式 (4)日期时间型常量(T): 2010-07-10,08:30:30 (5)逻辑型常量(L):.T. 、.t. 、.Y. 、.y. 表示逻辑真;.F. 、 .f. 、 .N. 、 .n. 表示逻辑假 (6)货币型常量(Y):$123.4567 7 变量名命令规则(1)由字母(汉字)
4、 、数字和下划线组成,但必须以字母或下划线开头,中间不能有空格。(2)长度为 1128 个字符,每个汉字占 2 个字符,最多 64 个汉字。(3)不要与系统保留字(命令名、函数名等)同名。(4)不区分大小写:A1 即 a1(5)如 ABC_、class1、课程名称、都是合法的变量名;而 1X、AB、 “工资” 、编 号、都是非法的变量名。(5)字段变量和内存变量同名时字段变量优先。 若有同名, 访问内存变量则需加前缀符: M.或 M-8 优先级:括号函数数值字符日期关系逻辑9 表达式运算注意点(1)日期和日期型数据不能相2009-12-31+1951-05-01不合法 (2)字符型数据+和-的
5、不同意义:+:连接两个字符串。 -:连接两个字符串,并将第一个字符串尾部的空格移到第二个字符串的尾部 (3)=何时表示比较,何时表示赋值:例如 a=b=3 结构中,=表示赋值;在 if/while/for/case 等语句中,=表示比较 (4)工资在 10 到 20 之间的写法:工资=10 and 工资=10 and X1010 常用函数(1)数值型函数:int(数值) ,取出其整数部分,如int(-3.5)为-3;mod(被除数,除数) ,取余数,可用于判断能否整除、奇偶数及其求一个多位数的各位数字(2)字符型函数: substr(”字符串”,起始位置,长度) ,从字符串的起始位置取某长度的
6、子串; space(空格数) ;len(字符串) ,求字符串的长度,1 个汉字为 2 个字符;at(字符串 1,字符串 2(,数值) ) ,没有数值时则为求字符串 1 在字符串 2 中首次出现的位置,若字符串 2 中没有字符串 1 则为 0,有数值时为求字符串 1 在字符串 2 中第几次出现的位置(3)日期型函数:date 返回日期 D;datetime 返回日期时间T;time 返回字符 C;year 返回数值 N(4)数据类型转换函数:str(数值(,长度,小数点位) ) ,将数值转为为某长度和保留小数点后几位的字符串,若数值的长度比要求的长度长则返回某长度的*所组成的字符串;val(字符
7、串) ,将字符串转为数值,若字符串中有非数字的部分则到此处不转,其后的也不再转;dtoc(日期) ,将日期转为字符串(5)测试函数:bof() ,判断指针是否指在文件头即第一条记录的上面,若是在文件头则为真,否则为假;eof() ,判断指针是否指在文件尾即最后一条记录的下面,若是在文件尾则为真,否则为假;recno(),判断指针所指的记录号,若无法打开表、表中无记录、指针指在文件头、或指在第一条记录则返回 1,若指针指在文件尾则返回指为末记录号加 1例 str(12.567,4,2)的结果:12.6 小数点占 1 位例 a=”湖北大学” ?substr(a,len(a)/2+1,1),结果为:
8、乱码11 建立数据表(1)表文件的建立方法:create (2)表文件扩展名 .dbf ,若包含备注字段或通用字段,则同时还会生成一个.fpt 文件。(3)字段长度定义,如果定义数值型字段注意计算总长度时要计算小数点, 小数点占 1 位(4)若总成绩为 N(6,1) ,则整数部分 4 位,小数部分 1 位(5)注意逻辑型字段固定长度 1,日期型为 812 记录指针移动命令(1) 绝对移动:go|goto =540 分:alter table 学生信息 alter 入学成绩 set check 入学成绩=540 试比较:在学生信息表中增加年龄字段,并设置有效性规则,年龄必须大于 0:alter
9、table 学生信息 add 年龄 N(2) check 年龄019 数据操纵 (1)insert into(向 into 短语指定的表尾插入一条新记录,其值为 values 后面表达式的值或来自数组或同名内存变量)(2)update(修改指定表中指定字段的记录数据)如将少数民族学生成绩在原分数基础上加 10 分update 学生信息 set 成绩=成绩+10 where 民族#/!=/”汉” 注意增加百分之几的表示方法:如 set 工资=工资*1.10 (3)delete from 如删除仓库关系中仓库号值是 SH2 的元组delete from 仓库 where 仓库号=”SH2”20 查
10、询 select 查询中的 where,group by, having ,order by 是对最后要显示的内容排序,top, as 等关键字使用(1)带特殊运算符的条件查询: betweenand/in/like/is null(2)简单的计算查询: count()计数|sum()求和|avg()平均数|max()最大值|min()最小值 计数去重用 count(distinct )(3)分组与计算查询: having 必须和 group by 一起使用,默认为升序,降序用 desc (从上往下排序)(4)简单的嵌套查询: where 中出现 select 语句(5)使用谓词的嵌套查询:
11、any/some/all/in(6)连接查询:join on 以及 where 连接方式(7)排序:order by ascending|descending| top n percent;top 必须和 order by 一起使用(8)查询结果的重定向输出:into dbf|table / cursor / array ,to file21 三种基本的结构:顺序、选择(分支) 、循环(重复)(1)IF条件表达式 语句序列 1 ELSE 语句序列 2 ENDIF 表达式为真,则执行“语句序列 1”,再执行 ENDIF 的后续语句;为假,则执行“语句序列 2”,再执行 ENDIF 的后续语句(2
12、)DO CASE CASE条件表达式 1 语句序列 1CASE条件表达式 2 语句序列 2 -CASE条件表达式 语句序列 nOTHERWISE 语句序列 n+1 ENDCASEDO CASE 结构中,每次最多只能执行一个语句序列。在多个 CASE 项的条件表达式值为真时,只执行第一个条件表达式值为真的命令行序列 ,然后执行 ENDCASE 的后面的第一条命令。(3)DO WHILE 结构 | FOR (单重循环)DO WHILE 条件表达式 命令行序列ENDDOFOR循环变量循环变量初值TO循环变量终值STEP循环变量步长 命令行序列ENDFORNEXT22 EXIT 和 LOOP 命令嵌入
13、在循环体内,可以改变循环次数,但不能单独使用。EXIT、LOOP 可以出现在命令行序列的任意位置(1)EXIT 的功能是跳出循环,转去执行 ENDDO、ENDFOR、ENDSCAN后面的第一条命令;(2)LOOP 的功能是转回到循环的开始处,重新对“条件”进行判断,相当于执行了一次 ENDDO、ENDFOR、ENDSCAN 命令,它可以改变命令行序列中部分命令的执行次数。23 例题 C=1 I=1 Do while I=10 C=c*(-1)I*I I=I+1 Enddo ?c -10!Input “请输入一个数” to a If a%2=1 或者 mod(a,2)=1 ?”这是一个奇数” e
14、lse ?”这是一个偶数” endif24 数组 (1)定义: declare/dimension x(2,3) (2)数组元素个数 :如 declare/dimension x(2,3) 则元素个数为6(因为数组下标下界从 1 开始)(3)数组一旦被定义之后,该数组的每个元素的初值为逻辑假值(.F.) ,可以使用有关的命令给数组元素赋值。(4)数组元素可以统一赋相同的值,也可以分别赋予不同的值,且数据类型也可以各不相同。(5)数组元素的赋值与普通内存变量一样,可以通过 store 命令或“=”来实现。25 对象的引用 thisform 和 this 的引用方法的不同如在表单 MyForm 中
15、通过事件代码,设置标签 Label1 的 Caption 属性值设置为“计算机等级考试“,下列程序代码正确的是ThisForm.Label1.Caption=“计算机等级考试“或者This.parent.Label1.Caption=“计算机等级考试“26 表单最常用属性,最常用方法(1)表单标题: Thisform.Caption=”标题名称”(2)从内存中释放表单,即关闭表单 Thisform.release(3)对表单进行刷新,显示表单最新数据 thisform.refresh27 常用控件的设计:控件默认的 name,如标签 label1,文本框text1(1) 标签(label)是用
16、以显示文本的图形控件。caption:显示标签中文本的内容(系统默认值为Label1,Label2,)(2) 文本框(text)是编辑数据且只有一行的图形控件。value:指定文本框的当前状态(系统默认值为空串) 。passwordchar:是显示用户输入的字符,还是显示占位符,指定用作占位符的字符,若设为*则在该栏显示的是*(3) 命令按钮(command)是由矩形线条包围文字串组成的图形控件。Caption:显示命令按钮标题文本(系统默认值为command1,command2,).(4) 选项按钮组:value 属性:用于指定选项组中哪个选项按钮被选中。=2,表示第二个按钮被选中(5)复选框:value 属性:用来指明复选框的当前状态,其值表示对应的复选框有没有被选中,=1 表示被选中;=0 表示未被选中28(1)报表文件扩展名:.frx(2)报表文件数据源:数据库表、自由表、视图(3)恢复系统菜单:set sysmenu to default (4)在“选项”中为菜单项定义快捷键扩展名:表文件 .dbf 存在相应的备注字段或通用字段则生成 .fpt;结构化复合索引文件 .cdx;单索引文件 .idx;数据库文件 .dbc报表文件 .frx