2022年数据库与应用归类 .pdf
第 1 页数据库与应用数据库系统 DBS :是统称,在计算机硬、 软件系统支持下, 由四部分组成: 数据 数据库 DB、数据库管理系统DBMS 、数据库应用程序和各类用户(终端用户 应用人员 、程序员 开发人员 、数据库管理员 负责运转 DBA) 。1)数据库系统 DBS组成图 :数据库管理员、终端用户、开发人员在计算机系统内的包含关系数据库系统的组成之间的关系3)数据库( DB ): 存放数据的仓库,是相互有关联的数据元素的集合。数据库的条件为:要有大容量硬件存储器;数据必须按一定的格式存放,便于存放和查找;可以充分共享;较小的冗余度;较高的数据独立性,数据结构的变化不影响应用的变化;易扩展 , 随需求而变化。4)数据库管理系统( DataBase Management System,简称 DBMS ) :是计算机系统软件,是位于用户与操作系统之间的一层数据管理软件,为用户或应用程序提供访问DB的方法,包括 DB的建立、查询、更新及各种数据控制。例如: Foxpro、access、Oracle 、SQL server 、Sybase 等。DBMS 的三个功能 :数据定义:如对数据库、表、索引进行定义;数据操纵:如对表中数据的查询、插入、删除和修改;应用程序 A1 应用程序 A2 应用程序 An 数据库数据库管理系统数据库应用系统数据库管理系统操作系统硬件名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 42 页 - - - - - - - - - 第 2 页数据库控制: 是 DBMS 的核心部分, 它包括并 发控 制(即处理多个用户同时使用某些数据时可能产生的问题) 、安全性检查、 完整性 约束条件的检查和执行、数据恢复等。第一节数据模型和关系数据库引言:要将现实世界的信息转化为计算机世界的数据实现的最好途径就是采用数据模拟-数据模型来转化。(三) 关系模型: 数据的逻辑结构是一张二维表(化整为零)。满足下列条件的二维表称为关系模型:1每一列中的分量是类型相同的数据;2列的顺序可以是任意的;3行的顺序可以是任意的;4表中的分量是不可再分割的最小数据项,即表中不允许有子表;5表中的任意两行不能完全相同。6关系模式通常简记为:关系名(属性名1,属性名 2,, ,属性名n)四、关系数据库: 采用关系模型作为数据的组织方式建立起来的数据库。(一)二维表在关系数据库中就称为关系,简称表;(二)关系数据库就是表(或者说是关系)的集合;(三)表是对物理存储的数据的一种抽象表示(是逻辑的,不是物理的);(四)二维表中垂直方向的列称为属性,也叫字段;属性的 取值范围 叫做域; (属性一定是最简化,原子的,不可再分,保证最小冗余(所描述信息不在其他表中重复描述)),同一关系表中不能出现相同的属性名;属性之间存在无关性;(五)二维表中水平方向的行称为元组,也叫记录 ; (不允许出现相同的元组【记录】 );远足之间存在无关性;(六) 键:1关键字:能够唯一确定记录的字段或字段的集合。举例:学生( 学号【 sid 】 、姓名、性别、家庭住址,. )教师( 教师编号【 teacher_id 】 、姓名、性别、家庭住址,. )课程( 课程编号【 cid 】 、课程名称、 教师编号 ,. )部门( 部门代码 、部门名称、工作性质、工作地点)Coursetable (SID、CID、TYPE 、XK_TIME 、PRIORITY 、COIN 、RANDOM、POINT 、RESULT 、MIANTING )名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 42 页 - - - - - - - - - 第 3 页2主键(pk) :一个关系中(多个)键,选出一个来定义为主键,其他键称为候补键。例如: 在一个表中既有个人编号又有身份证号,或学号和身份证号。3外键( fk ) :一个关系中一个属性(集) ,若不是本关系的主键,但它的值引用了其他关系中主键的值,则这样的属性(集)称为本关系的外键。例如: Coursetable( sid , cid ,type,xk_time,priority,result) 例如: 教师( 教师编号 、姓名、性别、家庭住址,. 、所在部门代码 )第二节初识 Visual FoxPro 6.0数据库管理系统系统工作方式(一)交互方式:菜单、工具(如向导、设计器、生成器)、命令方式;(二)程序操作方式:各种命令的集合;窗口组成:(一) 命令窗口 :在命令窗口中,可以输入命令实现对数据库的操作管理;也可以用各种编辑工具对操作命令进行修改、插入、删除、剪切、拷贝、粘贴等操作;还可以在此窗口建立命令文件并运行命令文件。1在命令窗口中输入的每一条命令在按【Enter 】键以后将被立即执行;2命令窗口可以保存已执行过的命令,并且这些命令可以重复执行;,写不下,用“; ” ;3可以随时调整命令窗口的大小;4移动命令窗口 , 关闭命令窗口;5若要重新显示命令窗口,应从“窗口”菜单中选择“命令窗口”命令。6接受英文状态下的命令,由命令动词 +空格+操作内容组成 。7. 系统的退出: quit * 简单应用:1输出命令:?(先回车,再输出) ;2输出命令:?(只输出,没有回车操作)。例如: 如:? 2 ? 2 ? 3 ?12 复习题:1数据模型是将概念模型中的实体及实体间的联系表示成便于计算机处理的一种形式。数据模型一般关系有关系模型、层次模型和网状模型。2数据库 DB 、数据库系统DBS和数据库管理系统DBMS 之间的关系是DBS包括 DB和 DBMS 。3Visual FoxPro 是一种关系数据库管理系统。4现实世界中的事物,在计算机世界可以表示为关系模型中的记录。5数据库系统的核心是数据库管理系统DBMS 6在同一关系中不能出现相同的属性(列,或字段)名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 42 页 - - - - - - - - - 第 4 页7字段是数据库的最小逻辑单位。8在“选项”对话框的“文件位置”选项中可以设置默认目录。9“项目管理器”是组织和管理与项目有关的各种类型的文件一个综合平台。10 数据与信息的关系;11 识别主键、外键;12 数据库管理系统的功能;什么是控制功能?13141516 如何实现同行输出,分行输出?17 VF6.0 工作方式有 ( ) (A)利用菜单系统实现人机对话;(B)利用各种生成器自动产生程序,或者编写VF程序,然后执行程序;(C)在命令窗口中直接输入命令进行交互操作;(D)以上说法都对。4 18 关系是指()(A)表中各条记录彼此有一定的关系(B)表中各个字段彼此有一定关系(C)一个表与另一个表之间有一定关系(D)数据模型满足一定条件的二维表格式4 19 现实世界中的事务(对象或个体),在数据世界中则表示为()(A)记录(B)文件(C)数据项(D)数据表 1 20 利用命令退出vf 系统,这个命令是quit 21 关系数据库管理系统所管理的关系是()(A)一个 .dbf 文件(B)若干二维表(C)一个 .dbc 文件(D)若干 .dbc 文件 2 22 将一个关系数据库文件中的个条记录任意调换位置将不会影响库中的数据关系。2324 在“选项”对话框的“文件位置”选项卡中可以设置()(A)默认目录(B)日期时间格式(C)表单默认大小(D)程序代码颜色1 第三节数据库操作基础知识一、 数据类型(一)字符型: 描述不具有计算能力的文字数据类型,是常用的数据类型之一。字符型数据由汉字和 ASCII 字符集中可打印字符(英文字符、数字字符、空格及其他专用字符)组成,最大长度是254个字符。*用单引号或双引号括起来 ( 英文输入状态下 ) 。- 学号,姓名名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 42 页 - - - - - - - - - 第 5 页例如: ? x &没有结果 X=”uweiru ”? x X=dkfjkg ? x (二)数值型:可以参加数值计算的数据类型。在 Visual FoxPro 系统中被细分为以下5 种类型。 - 身高,年龄,成绩1数值型 (Numeric)数据是由数字( 09) 、小数点和正负号组成。最大长度为20个字符(包括、号和小数点) 。如:? 12.34 0.23 5整型(Integer )数据是不包含小数点部分的数值型数据,仅4 个字符。(一)日期型 : 用于表示日期的数据,长度固定为8 个字符。日期型数据包括年、月、日三个部分,每部分间用规定的分隔符分开。表现形式由以下几个SET命令决定: - 出生日期日期数据的赋值:a=2009/08/08? a ? a+1 (二) 逻辑型( Logic ): 是描述客观事物真假的数据,用于表示逻辑判断结果。逻辑型数据只有真和假两种值,长度固定为1 个字符。真用: T,t,Y,y表示,假用: F,f,N,n表示。操作时显示均为 .T. 和.F. 。-是、否、正确、错误二、 数据存储(二)内存变量:是一般意义下的简单变量。 每一个内存变量都必须有一个固定的名称,以标识该内存单元的存储位置。用户可以通过变量标识符使用内存单元存取数据。- 给任意职员随时任命职务1类型:数值型、字符型、逻辑型、日期型和日期时间型2定义、赋值:Store 12 to a store wer to b,cc ? b ? cc A=12 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 42 页 - - - - - - - - - 第 6 页? A 3内存变量名的长度可以达到254 个字符,是由字母、数字和下划线组成的, 不分大小写。如果内存变量与数据表中的字段变量同名时,用户在引用内存变量时,要在其名字前加一个m.或(m-) 。(三)数组变量 : 是一组有序内存变量的集合。- 队伍所有的数组元素是用一个变量名命名的一个集合体,而且每一个数组元素在内存中独占一个内存单元,视同一个简单内存变量。为了区分不同的数组元素,每一个数组元素都是通过数组名和下标来访问的。 同一个数组元素在不同时刻可以存放不同类型的数据,在同一个数组中,每个元素的值可以是不同的数据类型。例如:Dimension aa(2),ab(3) aa(1)=2 aa(2)= JKHS Store 12 to ab(1), ab(2), ab(3)-或 to ab display memory like a* * Dimension public aa(2),ab(3) 有 public为全局变量,否则为局部变量。(四)字段变量 : 是指数据表中已定义的任意一个字段。字段变量的数据类型有数值型、浮点型、货币型、整型、双精度型、字符型、逻辑型、日期型、日期时间型、备注型和通用型等。例如:go 7 disp 表 1.we, 表 1.w 三、 表达式:由常量、变量以及函数和运算符组成的有意义的运算式。(一)运算符:1算术运算符:() ,* 或 乘幂, */ 乘除, % 求余, + - 例如:? 23 ? 2*3 ? 10/2 ? 8%3 ? 8-4+3 2关系运算符: 、=、=、= =(字符串精确比较)、 # 和!=表示不等、名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 42 页 - - - - - - - - - 第 7 页$ 字符串包含运算例如:? 23 ? 23 ? 4=4 ? 34 ? 44 ? b $ ccbddbeef ? 5#6 ? 5#5 3逻辑运算符: .not. 、.and. 、 .or. 例如:? .t. .and. .f. ? .t. .and. .t. ? .f. .and. .f. ? .not.(.t.) ? .t. .or. .f. ? .t. .or. .t. ? .f. .or. .f. ? .not.(.f.) ? 43 ? 43 .and. 34 4字符串运算符 + - 例如:? usydu+37645832 ? usydu +37645832 ? usydu -37645832 四、函数: 用程序来实现的一种数据运算或转换。每一个函数都有特定的数据运算或转换功能,它往往需要若干个自变量,即运算对象,但只能有一个运算结果,称为函数值或返回值。函数可以用函数名和一对圆括号加以调用,自变量放在圆括号里,如LEN(x)。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 42 页 - - - - - - - - - 第 8 页(一)数值函数: 是指函数值为数值的一类函数,它们的自变量和返回值往往都是数值型数据。1. 绝对值函数格式: ABS(数值表达式 ) 功能:返回指定的数值表达式的绝对值。例如: ? ABS(10),ABS(-5) 10 5 3. 求平方根函数格式: SQRT( 数值表达式 ) 功能:返回指定表达式的平方根。自变量表达式的值不能为负。例如: ? SQRT(4) 2.00 6. 四舍五入函数格式: ROUND( 数值表达式 1,数值表达式2) 功能:返回指定表达式在指定位置四舍五入后的结果。说明:数值表达式2指明四舍五入的位置。若数值表达式2大于等于 0,那么它表示的是要保留的小数位数:若数值表达式2小于 0,那么它表示的是整数部分的舍入位数。例如: X=645.345 ? ROUND(X,2) ROUND(X,1),ROUND(X,0),ROUND(X,-1) 645.35 645.3 645 650 7. 求余数函数格式: MOD( 数值表达式 1,数值表达式 ) 功能:返回两个数值相除后的余数。说明:数值表达式 1是被除数,数值表达式 2是除数。余数的正负号与除数相同。如果被除数与除数同号,那么函数值即为两数相除的余数;如果被除数与除数异号,则函数值为两数相除的余数再加上除数的值。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 42 页 - - - - - - - - - 第 9 页例如: ? MOD(10 ,3) ,MOD(10 ,-3) ,MOD(-10 ,3) ,MOD(-10 ,-3) 1 -2 2 -1 8. 求最大值和最小值函数格式: MAX( 数值表达式 1,数值表达式 2,数值表达式3, MIN(数值表达式 1,数值表达式 2,数值表达式3, 功能: MAX()计算各自变量表达式的值,并返回其中的最大值。 MIN()计算各自变量表达式的值,并返回其中的最小值。说明:自变量表达式的类型可以是数值型、字符型、货币型、双精度型、浮点型、日期型和日期时间型,但所有表达式的类型必须相同。例如: ? MIN ( 8, 100),MAX(8, 100) ,MIN(工作,学习,休息 ) 100 8 工作(二)字符函数 : 是指自变量一般是字符型数据的函数。1. 求字符串长度函数格式: LEN(字符表达式 ) 功能:返回指定字符表达式值的长度,即所包含的字符个数。函数值为数值型。例如: X=book ? LEN(X) 4 5. 删除前后空格函数格式: TRIM(字符表达式 LTRIM(字符表达式 ) ALLTRIM(字符表达式 ) 功能: TRIM()返回指定字符表达式值去掉尾部空格后形成的字符串。 LTRIM()返回指定字符表达式值去掉前导空格后形成的字符串。 ALLIRIM()返回指定字符表达式值去掉前导和尾部空格后形成的字符串。例如:名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 9 页,共 42 页 - - - - - - - - - 第 10 页STORE SPACE(1)+VFP+SPACE(3) TO X ?TRIM(X) +LTRIM(X)+ALLTRIM(X) VFPVFP VFP ?LEN(X),LEN(TRIM(X),LEN(LTRIM(X) ,LEN(ALLTRIM(X) 7 4 6 3 6. 取子串函数格式: LEFT(字符表达式,长度) RIGHT(字符表达式,长度) SUBSTR(字符表达式,起始位置,长度) 功能: LEFT()从指定表达式值的左端取一个指定长度的子串作为函数值。RIGHT()从指定表达式值的右端取一个指定长度的子串作为函数值。SUBSTR() 从指定表达式的值指定起始位置取指定长度的子串作为函数值。说明:在 SUBSTR() 函数中,若缺省第三个自变量长度,则函数从指定位置一直取到最后一个字符。例如:STORE GOOD BYE! TO X ?LEFT(X,2),SUBSTR(X,6,2)+SUBSTR(X,6),RIGHT(X,3) GO BYBYE! YE! 8. 求子串位置函数11. 字符串匹配函数 ( 三) 日期和时间函数日期和时间函数的自变量一般是日期型数据或日期时间型数据。1. 系统日期和时间函数格式: DATE() TIME() DATETIME() 功能: DATE()返回当前系统日期,函数值为日期型。 TIME()以 24小时制、 hh:mm:ss 格式返回当前系统时间,函数值为字符型。 DATETIME()返回当前系统日期时间,函数值为日期时间型。例如:? DATE(),TIME(),DATETIME() 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 10 页,共 42 页 - - - - - - - - - 第 11 页082503 16 :59:05 08 2503 04 :59:05PM (四)数据类型转换函数 : 是将某一种类型的数据转换成另一种类型的数据。1. 数值转换成字符串格式: STR( 数值表达式 ,) 功能:将数值表达式的值转换成字符串,转换时根据需要自动进行四舍五入。说明:(1) 返回字符串的理想长度L 应该是数值表达式值的整数部分位数加上小数位数值,再加上 1 位小数点。例如:STORE -834.456 TO X ? X=+STR(X,8,3) X=-834.456 ? STR(X,9,2),STR(X,6,2),STR(X,3),STR(X,6),STR(X) -834.46 -834.5 * -834 -834 5. 宏替换函数格式: &字符型变量 . 功能:替换字符型变量的内容,即&后的值是变量中的字符串。说明:如果该函数与其后的字符无明确分界,则要用“. ”作函数结束标识。宏替换可以嵌套使用。例如:ZGDA=kjsdfhgksdhlg STORE ZGDA TO X ? & X &相当于输出 kjsdfhgksdhlg 姓名=赵厚仁 XM= 姓名 ? &XM +你好! & 相当于 赵厚仁你好 6. 求 ASCII 值和对应字符4. 表文件尾测试函数系统对表中的记录是逐条进行处理的。对于一个打开的表文件来说,在某一时刻只能处理一条记录。 VFP为每一个打开的表设置了一个内部使用的记录指针,指向正在被操作的记录,该记录称为当前记录。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 11 页,共 42 页 - - - - - - - - - 第 12 页记录指针的作用是标识表的当前可操作记录。最上面的记录是首记录,记为TOP ,最下面的记录是尾记录,记为BOTTOM。在第一个记录之前有一个文件起始标识,称为Beginning of File(BOF);在最后一个记录的后面有一个文件结束标识, 称为 End of File(EOF) 。使用测试函数能够得到指针的位置。刚刚打开表时,记录指针总是指向首记录。格式: EOF(工作区号 | 表别名 ) 功能:测试指定表文件中的记录指针是否指向文件尾(即文件结束标识),是返回逻辑真.T. ,否则返回逻辑假 .F. 。若表文件中不包含任何记录,函数返回逻辑真.T. 。例如:USE 学生信息GO BOTTOM & 指向最后一个记录? EOF() SKIP &指针下移一个记录? EOF() ,EOF(2) &2号工作区没有打开表 .T. .F. 5. 表文件首测试函数格式: BOF( 工作区号 | 表别名 ) 功能:测试当前表文件 ( 若缺省自变量 ) 或指定表文件中的记录指针是否指向文件首(文件起始标志),如果是返回逻辑真.T. ,否则返回逻辑假 .F. 。若指定工作区上没有打开表文件,函数返回逻辑假 .F. 。若表文件中不包含任何记录,函数返回逻辑真.T. 。6. 记录号测试函数格式: RECNO( 工作区号 | 表别名 ) 功能:返回当前表文件 ( 若缺省自变量 ) 或指定表文件中当前记录 ( 记录指针所指记录 ) 的记录号。说明:如果指定工作区上没有打开表文件,函数值为0。如果记录指针指向文件尾,函数值为表文件中的记录数加1。如果记录指针指向文件首,函数值为表文件中第一条记录的记录号。? recno() 7. 记录个数测试函数格式: RECCOUNT(工作区号 | 表别名 ) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 12 页,共 42 页 - - - - - - - - - 第 13 页功能:返回当前表文件 ( 若缺省自变量 ) 或指定表文件中的记录个数。如果指定工作区上没有打开表文件,函数值为0。说明:该函数返回的是表文件中物理上存在的记录个数。不管记录是否被逻辑删除以及SET DELETED 的状态如何,也不管记录是否被过滤(SET FILTER),该函数都会把他们考虑在内。例如:? RECCOUNT() USE学生信息? BOF() ,RECNO() &显示.F. 1 SKIP -1 ? BOF() ,RECNO() &显示.T. 1 GO BOTTOM ? EOF() ,RECNO() &显示.F. 169 SKIP ?EOF(),RECNO(),RECCOUNT() &显示.T. 170 169 8. 条件测试函数格式: IIF( 逻辑表达式,表达式1),表达式 2) 功能:测试逻辑表达式的值,若为逻辑真.T. ,函数返回表达式1的值,若为逻辑假.F. ,函数返回表达式2)的值。说明:表达式1)和表达式 2的类型不要求相同。例如:X=100 Y=300 ? IIF(X100 ,X-50,X+50),IIF(Y100 ,Y-50,Y+50) 150 250 9. 记录删除测试函数格式: DELETED( 表的别名 | 工作区号 ) 功能:测试指定的表,或在指定工作区中所打开的表,记录指针所指的当前记录是否有删除标记“ *”。若有为真,否则为假。若缺省自变量,则测试当前工作区中所打开的表。例如:SELECT 0 &选择最小号空闲工作区名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 13 页,共 42 页 - - - - - - - - - 第 14 页USE 学生信息DELETE FOR XBDM=女 &逻辑删除录LIST XM,XBDM FOR DELETED() &列出被逻辑删除的记录记录号 XM XBDM 4 *费文源女 7 *刘春艳女 14 *关雪女 15 *刘洋女 17 *黄小哲女 18 *王迪女 (以下略 ) 复习题:1.求表达式输出结果:? ?33? ?300? ? 男?女? ? china?canada? date()+5date() 2.X=34.567, 求命令? Str(x,2)-subs(? 34.567?,5,1)的结果是( 356)3.若内存变量名与当前打开的数据表字段名均为name,则执行 ? Name 命令显示的是字段变量的值。4.store def to x store abc+x to y store y-ghi to z ? z ? a 最后的值为: abcdefghia 5.? Round(123456.789,-2) 的结果是 123500 6.? val(substr(等级考试 1/2/3/4,9,1)*len(Visual Foxpro)的值 13 7.8.Ab=6.0 aB=Visual Foxpro ? Ab+aB 的结果是: Visual FoxproVisual Foxpro 9.N=123,m=345,L= m+n ,1+&L 的值是: 46910.11.X=10,Y=12,?(X=Y).AND.(XY)的结果是: .F. 12.返回记录指针的位置函数是:? RECNO() 13.对一个空数据库,? BOF() 的值是真, ? EOF()的值是真。14.Visual Foxpro 有两种变量:内存变量和字段变量。15.数据库有 N 条记录,当函数EOF()的值为 .T.,函数 RECNO() 的结果是 N+1. 16.若 dd 变量是日期型,则下面正确赋值是()(A)dd=07/07/07 (B)dd=”07/07/07 ”(C)dd=ctod( ”07/07/07 ”) (D)dd=ctod(07/07/07) c 17.数组的最小下标是1 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 14 页,共 42 页 - - - - - - - - - 第 15 页18.19.vf 有两种变量,及内存变量和字段变量。20.第1章表的操作与程序设计第一节 数据库自由表演示学生信息表一、表的结构一张二维表对应一个数据表,行为记录,列为字段。定义数据表的结构, 就是定义数据表的字段个数、 字段名、字段类型、 字段宽度 ,以及是否以该字段建立索引等。一张二维表由表名、表头、表的内容三部分组成,一个数据表则由数据表名、数据表的结构、数据表的记录三要素构成。二、创建表和输入数据:Create 、Create 、新建1生成的对应表的文件一般有三个:(1) 表文件 :存放表结构和表记录数据,文件的默认扩展名为DBF 。(2) 表备注文件 :存放表中备注型字段的内容,文件的默认扩展名为FPT 。包含备注字段的表文件中仅存放其保存实际内容的FPT文件的位置。如果表中没有备注字段,则 FPT文件不存在。(3) 表索引文件 :存放表结构化复合索引的文件,文件的默认扩展名为CDX 。只有在“索引”页建立索引后才会产生这个文件。三、表的打开与关闭1打开 : Use.dbf In/AgainAlias 工作区:一个工作区同一时间只能打开一个表,此开彼关, 一个表同一时间也只能在一个区打开;有 32767个工作区,任何时刻只能有一个工作区为当前工作区;工作区的标识: 1-32767 ,前 1-10 个工作区还可以用A-J 来表示;不同工作区的对应字段的引用:工作区英文编号或表的别名- 字段。Select 0 选择空闲的且编号最小的工作区为当前工作区。2关闭:Close All 或 Use 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 15 页,共 42 页 - - - - - - - - - 第 16 页四、修改或显示表的结构1修改: Modify Structure 2显示: display|list Structure 五、数据整体浏览与修改1Edit/Change Fields For 2用 Browse浏览、修改数据:Browse Fields For 3. 用 Replace 命令替换数据: Replace With With , With For 4用 List / Display浏览List / Display FieldsFor WHILE To PrinterTo File OFF 命令功能:(1)Fields子句用于指定所要显示的字段。如果省略该子句,那么将显示表中所有字段的数据。字段之间应用逗号分隔。例如:List Fields 学号, 姓名(2)子句用于设置记录的显示范围,其默认值为All 。Record , 表示显示第n 个记录; next, 表示从当前开始的n 个记录; rest表示从当前记录开始到最后一个记录。例如:List record 4 (3)For WHILE 子句用于设置记录的显示条件。For 找到所有满足条件的, WHILE遇到不满足的就停止。例如:List for xbdm=男List while 性别 =男(4)OFF子句用于禁止显示记录号。如果省略该子句,那么系统在显示记录时通常会在记录的最左边显示记录号。例如:List for xbdm=男 off (8)没有任何子句的LIST 命令将显示表中的全部记录。六、七、数据表中记录的定位: 1记录操作当前性 :一个表有很多条记录组成,但任何时间操作的只有一条记录,当前进行操作的记录称为当前记录,VFP中有一个记录指针指示当前记录。当表打开时,当前记录为 1 号记录 , 记录指针值。当改变当前记录时,记录指针同时指向相应的记录。2记录的定位操作:(1)Go Top (2) Go Bottom (3) Go (4) Skip 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 16 页,共 42 页 - - - - - - - - - 第 17 页(5) Locate For 从第一记录开始查找,找到第一个满足条件的记录结束,否则直到末尾EOF ()为 .T. 。Continue 可以重复的继续查找Found() 测试是否查找成功例如:locate for CSNY=1989-07-26 ? found() continue ? found() continue ? found() ? eof() continue 八、删除表中的记录1逻辑删除: Delete For 就是给暂时不使用的记录加一个删除标记。另外,对需要彻底删除的记录, 也必须要先做逻辑删除后再做物理删除。例如: DELETE FOR CSNY=1989-07-26 查找做逻辑删除的记录:DISP FOR DELETED() 2恢复表中逻辑删除的记录:RecallFor 对加上逻辑删除标记的记录, 如果还想恢复其使用权, 可对其进行恢复记录的操作。例如: RECALL FOR CSNY=1989-07-26 3物理删除表中的记录: Pack 只对有删除标记的作删除操作,Zap 全删除物理删除就是把无效的记录彻底从磁盘中删除掉。若要想彻底删除表中部分无效的数据,必须先做逻辑删除后再做物理删除pack,若要想彻底删除表中全部无效的数据,也可直接做物理删除Zap。十、复制数据库结构到新库:COPY STRUCT TO FIELDS 例如: COPY STRUCT TO D:11.DBF USE D:11.dbf 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 17 页,共 42 页 - - - - - - - - - 第 18 页LIST LIST STRU 十一、全表的复制: COPY TO FIELDS FOR 即复制结构也复制数据内容, 将满足条件和指定字段的数据和结构复制到新库中去。例如:学生信息 .dbf EXCLUSIVE COPY TO D:100.DBF USE d:100.dbf EXCLUSIVE DISP ALL 学生信息 .dbf EXCLUSIVE COPY TO D:101.DBF FIELDS 姓名, 性别, 专业代码 , 专业名称USE d:101.dbf EXCLUSIVE BROWSE LAST 十二、添加字段值1. 从表的外部成批输入记录:APPEND FROM | FIELDSFOR 例如: APPEND FROM D:10243.DBF FOR 性别=”女”复习题:1. BRO WS 、CHANGE 、EDIT 可以对记录进行编辑,MODIFY STRUCTURE 不能对记录进行编辑。1.数据库表 STUDENT.DBF中前 6 个记录均为男生记录,则USE STUDENTS.DBF 然后 GOTO 3 然后LOCATE NEXT 3 FOR 性别 =? 男 ? ,得记录指针仍在第三个记录位置上,原因是从当前记录开始查起,找到满足条件的就停止。2.3.执行记录的删除命令,是先DELETE ,后 PACK 。4.LOCATE 可以对记录指针进行条件定位,GO、GOTO 是无条件定位数据库指针。5.6.学生成绩 .DBF 表中有数学、英语、计算机和总分4 个数值型字段,要将前三个字段的值的和存到总和字段的命令是:REPLACE 总分 WITH 数学 +英语+计算机7.显示学生成绩 .DBF 表中所有女生平均分超过90 和平均分不及格的记录的方法是:LIST FOR 性别 =?女 ? .AND. ( 平均分 90 .OR. 平均分 60) 8.设 STUDENT.DBF 有 100 条记录,执行如下序列,求X,Y,Z 的值 :100,99,0 SET DELETED OFF USE STUDENT DELETE COUNT TO X 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 18 页,共 42 页 - - - - - - - - - 第 19 页PACK COUNT TO Y ZAP COUNT TO Z USE 第二节 排序与索引一、排序: 从物理上重新组织记录按照新的字段进行排序,并独立存储到另外的表文件中去。(二)缺点是要是重新建表,和原表脱离关系,新增加记录时,记录的顺序还将打乱。(三) Sort on 字段名 /a|/d/cfield to for 条件 1 while 条件 2/C 默认升序忽略大小写,可以和/a|/d 结合使用。例如: sort on 姓名/c to q.dbf sort on 姓名/A to q1.dbf use q1 BROWSE LAST sort on 姓名/d to q2.dbf use q2 BROWSE LAST sort on 姓名/d field 姓名, 性别, 专业代码 to q3.dbf use q3 BROWSE LAST 二、索引: 也是一种排序,只记录排序字段值和字段在原表中的位置,不改变表中数据的物理顺序。(一) 只是另外建立一个记录号列表,不能独立存在。(二)