概念知识点总结1、数据库的基本理论和VF 数据库操作2、数据与程序设计3、面向对象程序设计及表单、报表、菜单4、SQL 语句数据库的基本理论和VF 数据库操作(第1、2、3、4、6章)一、数据库系统基本理论1、理解数据库系统的几个基本概念以及它们的关系 数据库(DB )、数据库管理系统(DBMS )、数据库应用系统(DBAS )和数据库系统(DBS )一对一、一对多、多对多3、弄清三大数据模型的结构形式:层次模型、网状模型和关系模型 我们现在所用到的数据库都是关系数据库(a )(b )(c )关系(就是二维表,记录的集合);元组(行、记录);属性(列、字段);域(一个字段的取值范围);关键字(关键的字段,唯一能标志一个元组的字段或字段的组合);外部关键字(不是本表的关键字,但是是其他表的关键字;用来建立表间的联系)5、关系运算理解传统的集合运算(并、交、差、笛卡尔积)和专门的关系运算(选择、投影、连接包括等值连接和自然连接)二、数据表操作1、了解表操作的一些命令,尤其以下几条:LIST显示记录:LIST | DISPLAY [FIELDS <字段名表>][<范围>] [FOR<条件表达式>]限定条件用FOR短语LOCATE条件定位:LOCATE FOR<条件表达式>本命令定位在满足条件的第一条记录,若想定为满足条件的下一条记录,必须用CONTINUE 用FOUND()函数为T判断是否有满足条件的记录(也可用EOF()为F)APPEND为追加记录;INSERT为插入记录REPLACE修改记录:REPLACE <字段名1> WITH <表达式1>[FOR <条件表达式>]2、删除操作分两步走:DELETE与PACKDELETE是逻辑删除,也就是添加删除标记,PACK才是真正物理删除;逻辑删除的记录还可以恢复(RECALL)3、理解工作区的概念系统提供了32767个工作区,可以在不同的工作区同时打开多个表,使用工作区用其编号1~32767,或者别名,前十个工作区有别名:A~JSELECT 0表示使用最小未用过的工作区4、建立表之间的临时关联一个为主表,一个为子表,使用SET RELATION TO …INTO…语句要求两个表必须在不同的工作区打开可以使用SET RELATION TO解除关联三、数据库操作1、理解数据库文件它并不真正的存储数据,只是对存储数据的文件进行统一的管理建立数据库后,形成三个同名文件.dbc .dct .dcx2、理解自由表与数据库表的区别与联系区别:可以看一下“表设计器”自由表不能设置长表名、长字段名、标题、输入掩码、字段有效性规则、默认值、注释等内容自由表不能设置主索引自由表可以添加到数据库中形成数据库表(ADD TABLE…);数据库表可以移出形成自由表,相应的设置丢失,主索引变为候选索引(REMOVETABLE…)3、掌握索引的概念索引就是排序,但它是逻辑排序,排列的不是实际记录,而是记录指针,排序的结果存放在索引文件中建立索引的主要目的是为了提高查询速度(在有序的集合中查询某个个体很显然比无序中查询快得多)A、建立索引可以通过命令实现:INDEX ON <索引关键字表达式> TO <独立索引文件名> | TAG <标识名> [ASCE | DESC][UNIQUE] [CANDICATE]可以建普通索引(命令中不需表示)、候选索引(CANDICATE)、唯一索引(UNIQUE)B、可以以在表设计器中建立索引索引不是真正排序,表的排序命令为SORT,是对记录的排序,结果形成新的表文件.dbf4、区别索引文件的类型索引文件分为独立索引文件(.idx存放一条索引结果)和复合索引文件(.cdx 存放多条索引结果)复合索引文件又分为结构复合索引文件(与表同名)和非结构复合索引文件结构复合索引文件因其与表同名,随着表的打开而打开,表的关闭而关闭,在表被修改时自动同步修改,现在是主要应用的索引文件5、区别索引的类型主索引和候选索引意义相似,建立主索引和候选索引都要求关键字表达式的值唯一,没有重复。
它们的区别是:候选索引可以多个,主索引只能一个;主索引只能在数据库表中建立;主索引只能在表设计器中建立普通索引和唯一索引允许出现重复值,不同的是,唯一索引值存储重复值之中的一个。
注意此处“唯一索引”中唯一的意义不同于上述“唯一”6、理解三种数据完整性(结合操作,理解概念)A、实体完整性:保证表中记录唯一的特性,(实体与记录是不同范畴的同意义概念),通过主关键字(索引)和候选关键字(索引)实现。
B、域完整性:域就是范围的意思,也就是限定字段的取值范围,为了尽量保证取值正确,通过设置字段的有效性规则实现,参照前面的图,“规则”框中设置条件,也就是字段允许取值的范围,是一逻辑表达式;“信息”框中设置出错后的提示信息,是一字符串;“默认值”框中可以填字段默认的取值。
C、参照完整性:在修改一个表时,参照与之有关系的另一个表的内容进行,也是为了避免有错误的操作。
首先建立永久联系,两个表要求必须在同一数据库中,而且之前先对同样的字段建立索引,一对一:主表建主索引,子表建候选索引;一对多:主表建主索引,子表建普通索引理解每种参照规则。
7、查询和视图(结合操作,理解概念)相似之处:都是从一个或多个表中“导出”(SELECT语句实现)部分数据,注意并不真正存储导出的数据各自特点:查询形成一个查询文件(.qpr),该文件中并不真正存储导出的数据,而是存储导出的方式,也就是一个SELECT语句,在使用时,运行查询(DO XX.QPR),可以以多种方式查看结果,但是查询只能查看结果,不能修改原来表中的数据。
视图是一个“虚表”,它并不真正存储导出的数据,而是一个查看原表数据的“窗口”,它不是一个文件,因为是“虚表”,所以必须放在数据库中依赖于原来的表而存在。
除了不真正存放数据这一点,其他的都与表相同,可以浏览数据、可以修改原来的数据、可以与表建立联接,可以根据视图再“导出数据”(也就是建立查询和视图)四、理解项目管理器在开发一个应用系统时,会涉及到很多不同类型的文件,为了对它们进行统一的管理,可以建一个“项目”,使用项目管理器就是为了对多种文件进行管理。
数据与程序设计 (第7章)一、数据1、掌握数据类型与表示数据类型的大写字母 字符型(C )、数值型(N )、整型(I )、日期型(D )、日期时间(T )、逻辑型(L )在表中还有两类特殊类型:备注型(存放长字符串)与通用型(存放声音、图片等特殊数据) 2、数据形式有四种:常量、变量、表达式和函数 常量就是具体的数据,使用常量时注意格式: 数值型常量(2.7,-13)、字符型常量要加定界符(”abv”,’计算机’,[张三])、日期型常量({^2011-2-24},连接符可以是短线、斜杠、句点)、逻辑型常量(.T.)3、变量就是不确定的数据,变量分为内存变量和字段变量,内存变量又分为一般内存变量(内存变量)和数组内存变量(数组)A 、内存变量:系统在内存中开辟的一个存储空间,用来存放用户使用到的数据,为了使用这个空间进行存取数据,给它命名,这就是变量名。
内存变量可直接使用。
B 、数组变量:内存中一块连续的空间,用来存放一组数据xa(1) a(2) a(3)x(1,1) x(1,2) x(1,3)x(1) x(2) x(3) x(4) x(5) x(6)DIMENSION a(3)DIMENSION x(2,3)数组有一维数组和二维数组。
一组空间有一个共同的名字(a),叫数组名,可以通过数组名引用整个数组,也可以通过数组名加下标使用其中的一个数据元素,每个数据元素相当于简单内存变量。
不可以出现同名的内存变量和数组变量。
数组使用前要先申请(dimension,declare),申请后,每个空间存放了初始数据.f.。
二维数组也可以象一维数组一样引用。
C、字段变量:表中一个字段的值有多个,所以把字段看作一个变量,字段名就是变量名,当。
4、表达式表达式是由常量、变量和函数通过运算符连接起来的计算公式。
要掌握各种表达式的运算符。
我们比较熟悉的就是数值计算的运算符(+、-、*、/、……)对于不常用的要着重去记字符串运算符+、-表示两个字符串相连接,+:直接连接;-:连接后,前串尾部空格转到新串船尾部。
日期运算也是这两个符号:+、-,日期加(减)数值代表此日期若干天之后(前)的日期。
两日期相减代表两日期之间相差的天数。
时间运算类似。
比较运算符主要有>、<、>=、<=、=、!=经常考到的是字符串比较运算,要记住:$:字串包含测试,前串是后串的子串,结果为真==:全等运算,两串完全相等结果为真=:与set exact 的设置有关ON状态时,在不考虑尾部空格时,两串相同,为真OFF状态时,后串是前串的前一部分,结果为真(在具体题中去记)逻辑运算符(AND、OR、NOT)5、函数函数也是一种操作,有函数名和参数两部分组成,格式为函数名(参数),函数名代表要进行的操作,参数代表对那些数据操作。
每个函数都是有返回值的,也就是操作的结果(即函数名(参数)本身代表一个值)。
参数可以是一个(比如取整函数INT(2.45)),也可以是多个(比如取子串函数SUBSTR(“计算机考试系统”,7,8)),也可以是0个(比如系统日期函数DA TE())。
要记住及灵活使用一些常用函数,我们在题里具体去讲。
二、程序设计此部分笔试试卷考的一般是阅读程序。
阅读程序就像做英语文章的阅读理解一样,要想读懂一个程序,应基本做到两方面:一是懂得每条命令语句的意思;二是弄清程序结构。
程序中基本的单语句只有三种:输入语句:INPUT/ACCEPT TO <变量>赋值语句:<变量>=<值>STORE <值> TO <变量>输出语句:?<表达式>此处的<值>就包括了我们前面所提到的所有数据形式,常量(每种格式)、变量(三种,名称多样)、表达式(多种运算符)、函数(很多种)因此最复杂的是赋值语句。
程序中基本结构也有三种:顺序结构。
选择结构(IF和CASE):IF <条件><语句序列1 >ELSE<语句序列2>ENDIFDO CASECASE 条件1语句序列1CASE 条件2语句序列2…..ENDCASE循环结构:(WHILE、FOR和SCAN)DO WHILE <条件表达式><语句序列>ENDDOFOR <循环变量>=<循环初值> TO <循环终值> [STEP<步长>]<循环体>ENDFOR | NEXTSCAN[<范围>][FOR<条件1>][WHILE<条件2>]<循环体>ENDSCAN就是这三种基本结构和三条基本语句形成的程序就会千变万化,及其繁复。