必考点(其它的知识点也需要记忆,这只是必考点和经常考)数据源:
只要提到数据源,不管是建立什么的数据源都是:数据库表、自由表、视图(查询不能作为查询的数据来源,但是可以作为报表的数据来源)
扩展名:
第一章:
表文件(自由表、数据库表):.DBF
备注文件:.FPT
一个表文件不管有多少个备注型和通用型字段,均只有一个备注型文件,该备注型文件的主文件名与表文件的主文件名同名。
第四章:数据排序
独立索引文件:.IDX
复合索引
结构复合索引文件:.CDX
非结构复合索引文件:.CDX
第七章程序设计
程序文件(命令文件):.PRG
第九章项目管理器
项目文件:.PJX
项目备注文件的扩展名是:.PJT。
第十章数据库
数据库文件:.DBC
数据库备注文件:.DCT 数据库索引文件:.DCX 第十一章查询和视图查询文件:.QPR
第十二章表单
表单文件:.SCX
表单备注文件:.SCT
第十三章菜单
菜单格式文件:.MNX 菜单备注文件:.MNT 菜单程序文件:.MPR 第十四章报表
报表文件:.FRX
报表备注文件:.FRT
第十五章项目连编
应用程序: .app
可执行文件: .exe
动态链接文件:.dll 其他
文本文件:.TXT
标签文件:.LBX
第七章程序设计
Do while循环
带参模块的调用(参数的传递:按值传递和按引用传递)变量的作用范围(域)
1、公共(全局)变量
建立命令:public 变量名
或者在命令窗口中直接赋值的变量也称为公共(全局)变量
作用域:在所有模块中均有效
2、局部变量
建立命令:local 变量名
作用域:只能在建立它的模块中使用,不能在上层或下层模块中使用。
3、私有变量:不用命令建立,直接使用的变量,即在程序中直接赋值的变量(在程序中不需要用public等命令明确声明和建立,可直接使用的内存变量是私有变量)
作用域:建立它的模块及其下属的各层模块。
4、隐藏变量命令:private 变量名
功能:该命令不是建立变量命令,它的作用是隐藏指定的在上层模块中可能已经存在的内存变量,使得这些变量在当前模块程序中暂时无效。
第八章sql
参数说明:
(1)free:用来声明所建立的表文件是一个自由表,当没有用free时,如果当前有数据库处于打开状态,所建立的
表文件为数据库表;如果当前没有数据库处于打开状
态,则不管是否使用free参数,所简历的表均为自由表。(2)primary key:用来声明改字段为主索引字段。
(3)unique:用来声明改字段位候选索引字段。Unique在index命令中为唯一索引,而在index命令中候选索引是
用candidate。在SQL中没有建立唯一索引的参数。(4)null:用来声明某一字段允许有空值。
(5)not null:用来声明某一字段不允许有空值。
(6)check:用来设置字段的有效性“规则”,表达式的结果必须是逻辑型。注意:在create table中没有set check。(7)error:用来设置字段的出错信息。结果必须是字符型。(8)default:用来设置字段的默认值。类型与该字段的类型相同。
增加字段
alter table 表文件名add [column] 所增加的字段名类型(宽度)
设置或修改字段有效性规则
情况1:为一个表中已有的字段设置有效性规则
alter table 表文件名alter [column]字段名set check 规则
[error 提示信息]
alter table 表文件名alter [column]字段名set default 默认值情况2:在某张表中增加字段的同时为该字段设置有效性设置规则
alter table 表文件名add [column] 所增加的字段名类型(宽度)
check 规则[error 提示信息] [default 默认值]
数据操纵(3)
一、逻辑删除记录的命令
格式:
delete from 表文件名where 条件
二、插入记录命令
格式1:
insert into 表文件名[(字段名1,字段名2,字段名3)] values(值1,值2,值3)
小结:3个一致
1.数目一致
2.顺序一致
3.对应数据类型一致
小结:当所有字段都插入时,才能省略方括号中的部分。格式2:
insert into 表文件名from array 数组名
三、修改记录命令
格式:replace [范围] 字段名1 with 表达式1, 字段名2 with 表达式2…[for 条件]
如果省略范围和for条件默认范围:当前记录
该命令是非SQL命令,在使用前需打开某张表
格式:
update 表文件名set 字段名1=表达式1,字段名2=表达式2 where 条件
SQL的select语句中,使用distinct 子句实现消除查询结果中的重复记录。
第九章项目管理器
项目管理器的界面组成
六个选项卡:全部、数据、文档、类、代码、其他
全部:包含后五个选项卡的全部内容
数据:数据库(数据库表,视图),自由表,查询
文档:表单、报表、标签
类:所有扩展名为.VCX的类库文件
代码:程序(过程、命令文件),API库,应用程序
其他:菜单,文本文件,其他文件(如:声音文件、图象文件等等)
数据完整性
1、数据的完整性定义:为保证数据正确的特性。
2、数据的完整性包括:
a)、实体完整性:为了确保数据的唯一性和非空性,而引入
的
数据约束性,在VFP中是通过建立主关键字(即主索引)或候选关键字(即候选索引)来实现,已经建立了主索引或候选索引的字段不允许有重复的记录或空值。
b)、域完整性(在公共基础中称为:用户自定义完整性。)为了确保某一字段值的合法性,而引入的数据约束方式。
通过以下两项内容来实现的
(1)类型、宽度、小数位数
(2)域约束规则(即字段有效性规则)
字段的有效性规则是为了确保字段数据的合法有效性而引入的数据校验方法。
字段有效性规则包括三项内容:
1、规则:对字段进行限制。要求结果必须是逻辑型。(逻辑表达式、关系表达式、部分函数的结果)
2、信息:当违背规则时报错的提示文字。信息必须是字符型。
3、默认值:要求结果必须与该字段的类型相同。
例:性别=”男” or 性别=”女”“性别”$”男女”
信息:”性别必须是男或女”
默认值:”男”
c)、参照完整性:通过参照另外一个表中的数据,来对本表的数据加以检验和约束。
表之间的关系:一对一,一对多,多对多
1、建立永久联系:两张表之间建立永久联系的方法
(1)建立索引(主索引,候选索引,唯一索引,普通索引)(2)拉线
2、建立参照完整性的步骤:
第一步: 建立表间的永久联系
第二步:清理数据库: 数据库—>清理数据库
第三步:选中联线→右键—>编辑参照完整性
参照完整性的三个规则:
1、更新规则:级联、限制、忽略
2、删除规则:级联、限制、忽略
3、插入规则:限制、忽略
共有三种规则:
更新规则:
●如果更新规则中选择“级联”,则用新的连接字段的值
自动修改子表中的相关所有记录。即当父表的关键字段
的值发表变化时,子表的相对应记录也就自动地改变。
●如果更新规则中选择“限制”,若子表中有相对应的记
录,则禁止父表修改关键字段的值。
●如果更新规则中选择“忽略”,则不作参照完整性检查,
可以随意更新父表记录。也就是父表与子表之间没有任
何相互约束。
删除规则:
●如果删除规则中选择“级联”,则表示如果父表某一记
录被删除时,系统自动删除子表中相对应的所有记录。
●如果删除规则中选择“限制”,则表示如果子表中有
相对应记录时,则禁止删除父表的该记录。
●如果删除规则中选择“忽略”,则表示父表与子表中
不存在任何相互约束。可以任意删除表中的记录。
插入规则:
●如果插入规则中选择“限制”,则表示如果父表没有对
应记录时,则禁止在子表中添加该记录。
●如果插入规则中选择“忽略”,则可以在父表或子表中
任意地插入新记录。
第11章查询和视图
查询文件是一个只保存select语句的纯文本文件,它是一个可以直接运行的文件。
可以根据自由表、数据库表和视图来建立查询,但不能根据查询来建立查询。
查询设计器共有六个选项卡:
字段,联接,筛选,排序依据,分组依据,杂项
字段:select 字段名列表
联接:超联接查询的join on
筛选:where 短语
排序依据:order by 短语
分组依据:group by短语
满足条件having
杂项:top、percent、distinct
查询去向:七种
浏览、临时表、表、图形、屏幕、报表、标签
注:查询去向没有文本文件
视图不是一个文件,它是一个定制的虚拟表,它是以某种形式存储在数据库中,它必须依赖于数据库,它依赖于一个或多个表文件。
查询(文件)与视图的区别:
1.查询是一个文件(.qpr),但视图不是文件。
2. 选项卡:查6视7。查询没有更新条件,但视图有更新条件。
3.查询有7种查询去向,但视图没有查询去向。
第13章菜单
添加分组线的方法:在菜单名称位置输入:\-
添加访问键(或热键)的方法:在菜单名称之后加:
(\<访问键字母)
第14章报表
报表设计器中的控件只有6个:
标签控件、域控件、线条控件、矩形控件、圆角矩形控件、图片/ActiveX绑定控件
标签控件:用于显示文字
域控件:用于显示字段内容,计算和统计的结果,以及日期、时间、页码等.
线条控件:
矩形控件:
圆角矩形控件:
图片/ActiveX绑定控件:用于显示图片
运行命令(5个命令)
(1)do 程序文件名[.prg]
(2)do 查询文件名.qpr
(3)do 菜单程序文件名.mpr
(4)do form 表单文件名[.scx]
(5)report form 报表文件名[.frx] [preview] [to printer]
公共基础
栈与队列:
栈:先进后出、后进先出。栈只限定在一端进行插入与删除的线性表。
队列:先进先出、后进后出。队列允许在一端(队尾)进行插入,而在另一端(队头)进行删除的线性表。
循环队列的元素个数:
当rear>front时,元素个数为rear-front
当rear 其中m为容量。 查找技术 1、顺序查找: 最坏情况需要比较n次 2、二分法查找 最坏情况需要比较log2n次 排序技术 一、交换类排序: 1、冒泡最坏:n(n-1)/2 2、快速排序最坏:n(n-1)/2 二、插入类排序: 1、简单插入:最坏:n(n-1)/2 2、希尔排序:最坏:n1.5 三、选择类排序: 1、简单选择:最坏:n(n-1)/2 2、堆排序:最坏:nlog2n 二叉树的遍历:前、中、后三种遍历 结构化程序设计方法的主要原则可以概括为:自顶向下,逐步求精,模块化,限制使用goto语句。 程序设计应遵守:清晰第一、效率第二 在E-R图中:用矩形表示实体集、用椭圆形表示属性、用菱形表示联系 层次模型的基本结构是树形结构、网状模型是一个不加任何条件限制的无向图、关系模型采用二维表来表示。 在数据流图(DFD)中箭头表示:数据流 在程序结构图(SC)中箭头表示:模块间的调用关系。带实心圆的箭头表示传递的是控制信息,用带空心圆的箭头表示传递的是数据信息。 在程序流程图中:箭头表示控制流。 常见的需求分析方法有: 1、结构化分析方法 结构化分析的常用工具:数据流图(DFD)、数据字典(DD)、判定树、判定表。 2、面向对象的分析方法 在详细设计中常用的过程设计工具有: 图形工具:程序流程图、N-S、PAD、HIPO 表格工具:判定表 语言工具:PDL(伪码) 需求分析阶段最后成果是:软件需求规格说明书