VF数据库第8章索引及记录操作
VF基础知识总结(1-8章)
11.MIN()函数字符函 Nhomakorabea:日期时间函数:
1.LEN()函数
1.DATE()函数
2.LOWER()函数
2.TIME()函数
3.UPPER()函数
3.DATETIME()函数
4.SPACE()函数
4.YEAR()函数
5.TRIM()函数
5.MONTH()函数
6.LTRIM()函数
6.DAY()函数
小结:排序与索引的区别
1、排序要执行两次,按关键字和记录号,要打开表;而索引只执行一次,按关 键字,不需要打开表;
2、排序生成一个新表,索引是针对原表生成一个指针文件 3、升降序的表示与书写方式不同:排序/a升序/d降序/c不区分大小写,索引 ascending和descending。 4、排序与索引的to的含义不同,排序的to 表示到一个新表,索引的to表示建立 单索引文件。
3、各类文件选项卡: ①“全部”选项卡(以下五项的全部内容) ②“数据”选项卡(数据库、自由表、查询、视图) ③“文档”选项卡(表单、报表、标签) ④“类”选项卡 ⑤“代码”选项卡 ⑥“其他”选项卡
第二章 数据与数据运算
1、字段数据类型(11种)
字符型
C
数值型
N
逻辑型
L(1)
日期型
D(8)
日期时间型 T(8)
****************************************************************** 小结:
1、用use 打开表时,记录号位于第一条记录 2、执行带all的命令,记录指针指向eof()=.T. 3、当为.T.时,bof的记录号总是为1,eof的记录号是记录数+1 4、空表的总记录是0,bof的记录号是1,eof的记录号是1
VF数据库及其操作(精品课件)
3.6.3 设置触发器 形式:插入、删除、更新触发器. 3.6.4 创建永久关系 类型:一对一、一对多 要求:同一数据库的数据表
同一字段建立索引关系 方法:点击索引字段拖动鼠标,在另一字段上松开. 编辑关系:双击表间连线 删除关系:双击表间连线,DELETE键删除.
精品 PPT 模板
3.5.3 数据库表的建立 1.在数据库中建立数据表
打开数据库-数据库/鼠标右键-新建表…… 2.向数据库添加自由表
打开数据库-数据库/鼠标右键-添加表 3.从数据库中移去数据表
打开数据库-数据库/鼠标右键-移去-删除/移去
精品 PPT 模板
3.6 建立数据字典 3.6.1 设置表的字段属性 1.字段标题:显示时更容易了解该字段所代表的含义. 2.字段注释:为数据库表中的字段添加注释说明. 3.输入掩码:指定字段输入值的格式,屏蔽非法输入. 4.格式:输出掩码,它规定了字段显示时的样式. 3.6.2 设置表的有效性规则 1.字段级规则:控制用户输入到字段中的数据类型. 2.默认值:输入新记录时自动为该字段输入默认值. 3.记录级规则:控制用户输入到记录中的信息类型.
精品 PPT 模板
3.7.2 数据表的联接 1.数据表的关联:SET RELATION TO[关键字表达式1/数值
表达式1>INTO<工作区号>|<别名>][关键字表达式2/数值 表达式2>INTO<工作区号>|<别名>…] [ADDITlVE] 2.取消关联:SET OFF INTO <工作区号>|<别名> 3.数据表的物理连接:JOIN WITH<工作区号>|<别名>TO <新表文件名> FOR<连接条件>[FIELDS<字段名表>]
Visual FoxPro排序、索引与查询统计
2020/2/14
目录 6
4-2-3 关闭索引文件
【命令1】USE 【功能】关闭打开的表文件及所有索引文件 【命令2】SET INDEX TO [0] 【命令3】CLOSE INDEX 【功能】关闭打开的所有单索引文件
2020/2/14
有第一个索引文件起作用,该索引称为主控索引
【命令】
SET ORDER TO [<数值表达式>/<索引文件名
>]【功能】指定主控索引
【说明】 [数值表达式]指定该数值号的索引为主控
索引;其值为0或缺省,则关闭已打开的索引,
以原表记录的物理顺序进行处理。
2020/2/14
目录 9
4.3 表记录查询
4-3-1 顺序查询 4-3-2 索引查询
(1)如果找到,则把记录指针指向该记录,并且将 FOUND()函数的值为“真”;
(2)如果没有找到与其相符的记录,则将记录指针 指向表的末尾,且将FOUND()函数的值置为“假 ”,将EOF()函数的值置为“真”。
2020/2/14
目录 12
(3) 如果有多个与关键字匹配的记录,则记录指针 定位于其中的第一条记录上,若查询后续记录, 可用SKIP
2020/2/14
目录 15
4-4-1 统计记录数
【命令】COUNT [TO <内存变量>] [<范围>][FOR <条件>][WHILE <条件
>] 【功能】统计指定范围内满足条件的记录个数 【说明】默认的范围是ALL
使用TO <内存变量>可将统计的结果保 存到指定的内存变量
重要资料VFP表操作索引、统计、关联、连接等讲解
查询、统计和多表操作表文件中记录的顺序通常是人们在输入数据时按输入的先后次序存储的,并以记录号表示,这个顺序只反映了存放数据的先后顺序。
但在数据处理实际应用中,由于数据库十分庞大,为了高效方便地处理数据,常常需要对记录位置进行重新整理,并按某种指定的顺序对表记录进行处理。
例如,对学生成绩表按学号为序显示输出记录,以便查找;或按总分高低为序输出记录,以便进行比较等等。
对记录位置进行重新整理通常有排序和索引两种方法。
排序是对表文件进行物理位置的整理;索引是对表文件进行逻辑位置的整理。
一、排序表文件的排序操作就是根据表的某个关键字或关键字表达式重新排列表记录的位置。
执行排序操作后将生成一个新的表文件(称为:排序文件)。
新文件的结构和数据可以与源文件完全相同,也可以只取源文件的部分字段。
新文件不改变源文件内容和记录顺序。
【命令】 SORT TO<新文件名>ON <字段名1>[/A] [/D] [/C] [,<字段名2> [/A] [/D] [/C]…] [ASCENDING|DESCENDING][<范围>][FOR<条件>|WHILE<条件>][FIELDS<字段名表>| FIELDS LIKE<通配符>|FIELDS EXCEPT<通配符>]【功能】对当前表中指定范围内、满足条件的记录按指定字段升序或降序重新排序,并将排序结果存入新文件名中。
【说明】①排序结果存入由TO <新文件名>指定的表文件中,系统默认文件扩展名为.DBF。
②在ON子句中的字段名表示排序的关键字段。
当使用一个关键字时,叫“单重排序”;使用多个关键字时,叫“多重排序”。
在多重排序中,关键字有主次之分。
主关键字是指能够唯一标识某个记录的关键字;次关键字是指标识具有某种相同属性的某些记录的关键字。
在关键字表达式中,主关键字排在前面,次关键字排在后面。
Visual_FoxPro索引及记录操作
1.主索引:其索引表达式的值是唯一能够标识每个记录处理 顺序的,即每个记录的索引表达式的值是唯一的。 2.候选索引:它的索引表达式的值也是能够唯一标识每个记 录逻辑顺序的值,即索引表达式无重复值。 3.普通索引:把由索引表达式为每个记录产生的值存入索引 文件中。如果多个记录的索引表达式值相同,则可以重复存储, 并用独立的指针指向各个记录。 4.唯一索引:把由索引表达式为每个记录产生的唯一值,存 入索引文件中,如果表中记录的索引表达式值相同,则只存储第 一个索引表达式值。
②定义索引文件名;
③按“表达式”选项按钮,打开“表达式生成器”窗口,输入索引表达式。 (3)打开“显示”菜单,选择“浏览”命令,进入表“浏览”窗口。
(4)打开“表”菜单,选择“属性”命令,进入“工作区属性”窗口。
(5)在“工作区属性”窗口,打开“索引顺序”下拉列表框,选择索引表 达式,其记录顺序将发生改变。
(2)在表“浏览”窗口,把鼠标移到要进行逻辑删除的
记录上,对准其删除标记栏单击左键,这时要进行逻辑删除的 记录就被加上了删除标记 。 (3)在“浏览”窗口,打开“表”菜单,选择“删除记 录”命令,进入“删除”窗口。在“删除”窗口,可以通过选 择“作用范围”确定要进行逻辑删除的部分记录,也可以在 “For”文本框中,设置逻辑删除“条件表达式”来确定逻辑 删除的记录。
5.4 记录的定位
Visual FoxPro 应用基础与面向对象程序设计教程
5.4.1 绝对定位
5.4.2 相对定位
5.4.3 条件定位
5.4.1 绝对定位
Visual FoxPro 应用基础与面向对象程序设计教程
1.菜单方式
打开表“浏览”窗口,然后,打开“表”菜单,再选择“转到
VFP使用命令建立和操作索引文件
⼀.建⽴索引⽂件:对打开的索引⽂件,可⽤下列命令建⽴索引:格式:index on 索引关键字|tag 索引名|to 索引⽂件名说明:(1).tag 索引名:指定索引名,此索引存放在与表名相同的.cdx⽂件中。
(2).to 索引⽂件名:选择此项⽣成独⽴索引,即⼀个索引存放在⼀个索引⽂件中;否则⽣成的是结构化复合索引。
例1:建⽴“⼯资情况”表的结构化复合索引⽂件,其索引关键字分别为姓名和⼯资,⽽索引名分别为xm和gz.use ⼯资情况browseindex on 姓名 tag xmindex on ⼯资 tag gzbrowse&&分别执⾏以上命令后,⽣成了“⼯资情况.cdx”⽂件,其中存放了xm和gz两个索引。
例2:⽤“姓名”作索引关键字,建⽴“职⼯档案.dbf”的独⽴索引⽂件,⽂件名为a.idx。
use 职⼯档案index on 姓名 to hello &&执⾏此命令,检查默认⽬录e:\myvfp,会发现多了⼀个⽂件:hello.idxuse⼆.打开索引:打开表时,系统会⾃动打开结构化复合索引,但此时显⽰的仍是物理顺序。
要使索引起作⽤,必须指定主控索引。
主控索引就是控制当前显⽰顺序的索引。
也可以在打开表的同时指定主控索引。
1.打开表的同时打开索引并指定主控索引:格式:use 表名 [index 索引⽂件名] [order tag 顺序号|索引名]说明:(1).index 索引⽂件名:⽤于打开独⽴索引⽂件。
(2).order tag 顺序号|索引名:⽤于打开结构化复合索引。
其中,顺序号为该索引在复合索引⽂件中的先后顺序,即在“表设计器”的“索引”选项卡中看到的该索引的位置。
例:在命令窗⼝输⼊以下命令依次执⾏:use 职⼯档案 index hello &&打开表的同时打开独⽴索引hellobrowse &&显⽰的是按姓名索引的顺序,useuse ⼯资情况 order tag 2 &&显⽰的是gz索引的顺序,因为gz在“表设计器”中位置为2,use2.打开表后再打开索引:格式1:set index to 索引⽂件名功能:打开独⽴索引⽂件格式2:set orer to 顺序号|tag 索引名功能:打开结构化复合索引例:在命令窗⼝依次执⾏以下命令:use 职⼯档案brow &&显⽰物理顺序,set index to hello &&打开独⽴索引⽂件hello.idxbrowse &&显⽰的是按姓名索引的顺序,useuse ⼯资情况browse &&显⽰物理顺序set order to 1 &&即将xm指定为主控索引,因为xm在“表设计器”中位置为1,browse &&显⽰按姓名索引的顺序,set orer to gz &&将gz指定为主控索引browse &&显⽰的是gz索引的顺序,use三.关闭索引:格式1:set index to格式2:set order to说明:上两条命令后不加选项,可关闭当前索引。
5数据库应用技术VF-数据表记录索引的操作
课时计划第周Array
一、任务下达:
根据需求,数据表记录索引的操作。
二、任务规划:
任务一、索引的类型
1、主索引,唯一性,自由表不能创建。
2、候选索引,唯一性,适应自由表。
3、普通索引,不唯一,字段可以重复值。
4、唯一索引,兼容旧版本,选定一组记录,根据字段值第一次出现的
位置,选择和排序记录。
任务二、建立索引
任务三、使用索引
1、打开索引文件
SET INDEX TO
2、设置主控索引
Set order TO TAG 入学成绩
3、查看索引结果,选择属性。
任务四、重新索引
REINDEX(保持索引的有效性)
任务五、查找索引记录
Use 学生管理
Set order to 入学成绩
Seek 362
Display
任务六、关闭和删除索引
Use 学生管理表
Delete tag 学号
三、任务实施:
1、对字段设定索引。
2、打开索引文件
3、查看索引效果
4、重新索引
5、索引查找记录
6、关闭和删除索引
四、任务评估:
五、任务拓展:
分小组,讨论课堂内容,形成经验,提交博客园,分享心得。
课。
VFP讲稿(索引)
索引一、索引的概念。
索引文件和表文件分别存储。
索引不改变表中记录的物理顺序。
二、四种索引类型:●主索引主索引不允许表中有重复的关键字,一个表只能有一个主索引。
●候选索引候选索引不允许表中有重复的关键字,一个表可有多个候选索引。
●唯一索引唯一索引允许表中有重复的关键字,但索引项不重复。
一个表可有多个唯一索引。
●普通索引普通索引允许表中有重复的关键字,索引项也对应重复。
一个表可有多个普通索引。
三、三种索引文件:●结构复合索引文件索引文件的扩展名是cdx,主名与表文件的主名相同。
一个结构复合索引文件可包含多个索引。
一个表只有一个结构复合索引文件。
●*非结构复合索引文件索引文件的扩展名是cdx,主名不能与表文件的主名相同。
一个非结构复合索引文件可包含多个索引。
一个表可有多个非结构复合索引文件。
●*独立索引文件索引文件的扩展名是idx。
一个索引文件只包含一个索引。
一个表可有多个独立索引文件。
四、建立索引1.在表设计器中建立索引只能建立结构复合索引文件。
2.用命令建立索引①结构复合索引●创建索引INDEX ON <关键字表达式> TAG <索引标识>[FOR <条件>][ASCENDING|DESCENDING][UNIQUE|CANDIDATE][ADDITIVE][COMPACT]说明:同一个表的所有索引都可保存在同一个索引文件中;索引文件的主名与表文件的主名相同;打开表时,索引文件自动打开。
主索引和候选索引必须属于该索引。
*②非结构复合索引●创建索引INDEX ON <关键字表达式> TAG <索引标识> OF <索引文件名>[FOR <条件>][ASCENDING|DESCENDING][UNIQUE][ADDITIVE][COMPACT] 说明:同一个表的所有索引都可保存在同一个索引文件中;索引文件的主名与表文件的主名不能相同;当在索引文件中创建第二个索引时,原索引文件可以不预先打开;索引文件不能自动打开;*③独立索引(.IDX)●创建索引INDEX ON <关键字表达式> TO <索引文件名>[ FOR <条件>][UNIQUE][COMPACT][ASCENDING][ADDITIVE]●打开表和索引USE <表名> INDEX <索引文件名序列>●打开索引SET INDEX TO <索引文件名> [ADDITIVE]●关闭索引SET INDEX TO说明:每一个索引都有一个独立的索引文件;索引文件的主名与表文件的主名可相同也可不同;只能升序;打开表时,索引文件不能自动打开。
vf索引
1.建立如下个人情况表grqk.dbf
2.表中的数据排列混乱,没有规律,查找起来非常费事,能将他们按一定的顺序排列起来吗?只要建立索引就可以了。
索引规定了表中记录的逻辑顺序,它可使同一表中的记录变化多端,给编程提供了方便,在进行统计运算中可成倍地提高运算速度,同时也为查询提供方便。
(1)以编号建立普通索引,并按记录的编号以从小到大的顺序显示。
在表设计器中建立好索引后,在浏览窗口中我们看不到有什么不同。
点表菜单的属性,打开工作区属性,选择索引顺序。
(2)以编号和姓名两个字段建立普通索引,并显示排序后的结果。
3.索引可用于数据查询,但更直接的方法是使用定位命令,使用它可以使表中的指针指在要找的记录上。
查找一个“联系电话”为“0250897”的记录。
选择表菜单中转到记录子菜单的定位命令或者使用locate命令
4.如果想看工程师的个人情况,由于在一个表中是工程师的人不只一个,用定位命令只能找到表中符合此条件的第一个记录。
而要同时查到所有工程师的人,就要用到数据过滤命令。
职称=“工程师”LEFT(姓名,2)="杨"。
VFP索引
VFP索引2.5 表的索引1. 基本概念记录的顺序:物理顺序:即表中记录的存储顺序。
用记录号表示。
逻辑顺序:表打开后被使用时记录的处理顺序。
索引:指按表文件中某个关键字段或表达式建立记录的逻辑顺序。
它是由一系列记录号组成的一个列表,提供对数据的快速访问。
索引不改变表中记录的物理顺序。
表文件中的记录被修改或删除时,索引文件可自动更新。
索引关键字(索引表达式):用来建立索引的一个字段或字段表达式。
注意:1)用多个字段建立索引表达式时,表达式的计算结果将影响索引的结果;2)不同类型字段构成一个表达式时,必须转换数据类型。
索引标识(索引名):即索引关键字的名称。
必须以下划线、字母或汉字开头,且不可超过10个字。
索引类型:主索引、候选索引、普通索引、唯一索引。
主索引:组成主索引关键字的字段或表达式,在表的所有记录中不能有重复的值。
主索引只适用于数据库表的结构复合索引中。
自由表中不可以建立主索引;数据库中的每个表可以且只能建立一个主索引。
候选索引:在指定的关键字段或表达式中不允许有重复值的索引。
在数据库表和自由表中均可为每个表建立多个候选索引。
普通索引:也可以决定记录的处理顺序,但是允许字段中出现重复值。
在一个表中可以加入多个普通索引。
唯一索引:参加索引的关键字段或表达式在表中可以有重复值,但在索引对照表中,具有重复值的记录仅存储其中的第一个。
2. 索引的作用用途采用的索引类型排序记录,以便显示、查询或打印使用普通索引、候选索引或主索引在字段中控制重复值的输入并对记录排序对数据库表使用主索引或候选索引,对自由表使用候选索引准备设置表关系依据表在关系中所起的作用,使用普通索引、主索引或候选索引3.索引文件的种类索引文件种类特征关键字数目限制结构复合索引文件.CDX 使用和表文件名相同的基本名,随表的打开自动打开。
可以看成表结构的一部分。
多关键字表达式,称为标识。
有效表达式限制在 240 个字符之内。
非结构复合索引文件.CDX 必须明确地打开,使用和表名不同的基本名。
VFP第8部分(排序索引及多表操作)
命令格式
(教科书P73)
sort to <文件名> on <字 段1> [/a] [/d][/c]……
产生的表是关闭的
分类排序有什 么缺点
数据表的索引排序
1、什么是索引
(教科书P74)
索引是按索引关键字表达式的值 使数据表中的记录有序排列的一种 技术,在Visual FoxPro系统中是借 助于索引文件实现的。
3、索引文件的类型
Visual FoxPro系统支持单 索引文件(.idx)和复合索 引文件(.cdx)。
(1)单索引文件(略)
单索引文件是每个索引存放在一 个独立的文件(.idx)中。 (2)结构化复合索引文件 结构化复合索引文件(.cdx)可以 在同一个文件中包含多个索引,其中 每个索引称为索引标识。
在表设计器中建立索引
表设计器中的“索引”选项卡
5、索引的使用
一个表文件可以建立多个索引, 在操作中可以同时打开多个索引, 但是任何时候只有一个索引起作用。
索引依赖于表文件而存在,它 随表的关闭而自动关闭。
当前起作用的索引标识称为主控 索引。
要使用索引必须满足以下条件: 打开表; 确定主控索引;
表)
父表
主动
被动
子表
关键字为唯一值 一
一 关键字为唯一值 一 关键字为唯一值
关键字为重复值 多
关键字为唯一值 一 关键字为重复值 多
多 关键字为重复值
多 关键字为重复值
建立表间的关联
建立数据库文件中表间关联,
一是要保证建立关系的表具有相同 的字段值(关键字值);
二是子表要以该字段建立索引。
建立两个表之间的“一对一”和 “多对一”关联的步骤: ①找到两个表中能够建立关联的字 段(字段名可以不同,类型、宽度、 小数位数必须相同) ②根据关键字值确定父表,再确定 子表; 有重复值为父表 ③先打开子表,建立索引; ④最后打开父表建立关联。
vfp第八讲
一.索引
索引顺序是一个关键字表达式, 索引顺序是一个关键字表达式,关键字表达 式是表中的一个字段或几个字段的组合, 式是表中的一个字段或几个字段的组合,索 引可以认为是该关键字的值与记录号之间的 对照表, 对照表,所以索引是根据关键字的值进行逻 辑排序的一: 索引只是个逻辑顺序,不改变表中记录的物理顺序; ◎索引只是个逻辑顺序,不改变表中记录的物理顺序; 中一个表可以建立多个索引, ◎VFP中一个表可以建立多个索引,这些索引都保存在一个文 中一个表可以建立多个索引 件中,叫索引文件,其文件名与表同名,后缀名为.cdx; 件中,叫索引文件,其文件名与表同名,后缀名为 ; ◎索引文件不能单独使用,须与相关的表文件同时被打开和关 索引文件不能单独使用, 闭; 此处均指结构化复合索引文件; ◎此处均指结构化复合索引文件; 一个表虽然可有多个索引, ◎一个表虽然可有多个索引,但同一个时间内只能有一个索引 起作用,称为主控索引; 起作用,称为主控索引; 索引提高了查询速度,但降低了数据的更新速度。 ◎索引提高了查询速度,但降低了数据的更新速度。
属性名
exclusive caption .t.
属性值
按学号显示, 按学号显示,按所 在系显示,关闭 在系显示, 4 St.sno 学号 St.sname 姓名 St.sname 性别 St.sname 所在系部
说明
表格以独占方式打开 三个命令按钮标题文本 表格列数 第一列的数据源 第一列的标题 第二列的数据源 第二列的标题 第三列的数据源 第三列的标题 第四列的数据源 第四列的标题
一.索引
1)设置当前索引 ) 要使用某个索引进行排序, 要使用某个索引进行排序,必须将其指定为 当前索引,两种方法: 当前索引,两种方法:
用菜单:在表处于浏览状态下,打开【表】/ 用菜单:在表处于浏览状态下,打开【 属性】对话框,选择“索引顺序” 【属性】对话框,选择“索引顺序”下拉列表中 已有的索引名即可。 已有的索引名即可。 用命令: 用命令:set order to [tag]索引名 [asc|desc] 索引名
《VFP索引与排序》PPT课件
.
3
索引的概念
索引:不改变物理 顺序,所有关键字 按升(降)排列, 每个值对应原文件 的一个记录号,确 定记录的逻辑顺序
索引
物理顺序
逻辑顺序
.
4
索引文件的内容
• 只有索引关键字段值或索引表达式值(逻辑顺序 号)与记录号(物理顺序)。
• 一个索引表达式或索引关键字段值与记录号对 应的内容又称之为一张“对照表”,用一个索 引标识来标记。
– 自由表中也可建立。
.
8
索引的类型 • 普通索引(Regular Indexes)
– 一张表可有多个。 – 数据库表和自由表均可有。
• 唯一索引(Unique Indexes)
索引表达式中重复的值在索引表中只出现第一个, 忽略重复值。
.
9
索引文件的种类
含多个索 引
复合索引
(扩展名CDX)
索引
非结构复合索引
.
14
创建索引实例1
用菜单法对zgb.dbf表建立复合索引
1. 以工作部门的升序排列,普通索引,索引标识为 gzbm,并浏览显示。
2. 按jbgz1标识,建立以基本bgz2)
4. 以工作C部门升序排列,若部门相同,则按工作D时 间的升序排列。(bmsj)
建立时,用 户单独为其
命名
需使用单独命令 打开、关闭
结构复合索引
建立时,用户未
单独为其命名,与
表文件同名 与表同时打开、
关闭
独立(单一)索引
(扩展名IDX)
为与FOXBASE兼容
需使用单独命令 打开、关闭
建立时,用户单独 为其命名
.
VF 数据库及其操作
数据库及其操作1、数据库的建立数据库是一个容器1) 数据库文件的扩展名.dbc, 备注文件.dct, 索引文件.dcx。
数据表文件.dbf,备注文件.FPT2)建立数据库文件(命令交互方式):CREA DATA 数据库名其他方式:在项目管理器中建立菜单方式建立3)打开数据库文件:OPEN DATA 数据库名(参数的意义)修改>数据库设计器删除DELE DATA 数据库名注意:DELE DAT A 数据库名DELETETABLES RECYCLE (连数据库中的表一起删除放回收站)===========================================================2、数据库表的建立1)数据表有数据库表和自由表,他们的区别和联系(操作表设计器示例)字段名长度(自由表10,数据库表128)、表名长度不一样2)数据表的操作命令:CREA 表名(注意“空值”)注意“空值”,就是缺值或不确定值,不能把它理解为任何意义的数据如价格字段的数据设置为“空值”,表示价格还没有确定,如设置为“0”,表示免费。
设置为关键字的字段值不允许为“空“USE 表名MODI STRU(修改结构,先要打开数据表)LIST STRU 显示结构记录操作命令:LIST 显示记录APPE 追加记录DELE 逻辑删除PACK 在逻辑删除的基础上物理删除RECALL 恢复逻辑删除的记录GOTO 指针绝对定位SKIP 指针相对移动直接修改命令(成批替换)REPLACEuse xueshengrepl 性别WITH “女”(没有范围ALL,当前。
有ALL,所有)repl 性别WITH “女”FOR 班级=”3”(带条件不要范围ALL)LOCA ……CONT顺序查询(可以用FOUND()或用EOF()函数函数来验证查询是否成功)要点注意:1、删除数据库时,该数据库必须是关闭状态2、打开数据表的时候,要修改其结构和记录,则必须以“独占”的方式打开3、数据表的结构中各字段宽度总计=各字段的宽度之和+1数据表文件不管有多少个备注型字段或通用型字段,内容都存放在一个备注文件中(同表名,后缀名.FPT)(要点)4、DELE、DISP、RECALL、REPLACE命令后面不带范围时只对当前指针指向的记录进行操作而LIST命令后面不带范围时对所有记录进行操作5、DELE、DISP、LIST、RECALL命令后面可以跟短语FOR,FOR后面跟条件(例:显示姓“张”的同学,条件?)6、GO和GOTO 是指针绝对定位,SKIP N 是指针的相对移动(正往下,负往上)7、INSERT命令在表的任意位置插入记录,默认是after(在某条记录后面),在当前记录之前插入带BEFOR短语8、内存变量和字段变量同名时的验证操作(第二章) (要点)9、数据库名!数据库表名====>成绩管理!学生=========================================================3)索引的建立索引的概念:由指针文件构成,指针逻辑上按照索引关键字的值进行排序,不改变记录的物理顺序。
VF数据库第8章索引及记录操作
说明: ① 执行命令前,必须首先建立以查询内容所在字段或表 达式为索引关键字的索引文件,若已存在则打开该索引 文件,且将其设置为主索引。 ② FIND命令通常适用于字符数据类型及数值型,字符串 中的字符可以不用定界符。 ④ 如果查找成功,则把记录指针指向逻辑顺序中第一条 符合条件的记录,且FOUND()函数的值为.T.,否则, 记录指针指向文件未尾,FOUND()函数的值为.F.。
另外建立一个数据号列表。索引文件不能单独使用,必须同源数据表文
件一起使用。
❖ 索引一旦建立后,就产生了一个相应的索引文件。索引文件中只包含两 项信息:一是每条记录索引关键字表达式的值,另一项是与其对应的记 录号。既在索引文件中只保留索引关键字和记录号信息,并不存在记录 的字段数据,因此它不能单独使用,必须同时打开原数据文件,才能使 索引文件有效。
USE 学生档案表 INDEX xh
&&打开以学号为索引关键字的索引文件XH.IDX
SEEK “9921205”
&&必须使用定界符
DISPLAY
小结: 1) LOCATE和SEEK、FIND都是用于在数据表文件中查询 2) 定位记录指针,即把记录指针定位在满足条件的记录 3) 上。特别强调:仅仅是定位记录指针。如要显示定位
格式:SEEK <表达式> 功能:在打开的以查询内容所在字段为索引关键字的索 引文件中,快速查找关键字段等于<表达式>值的第一个 记录。
其中: (1)SEEK命令适用于一切数据类型(C、N、D、L),表达 式可以是常量、变量和函数所组成,但必须与索引表达式 一致。表达式为C、D、L(.T.,.F.)常量时,必须使用 相应的定界符,如:“ ”、{ }。 (2)表达式为变量时,要直接使用,不需要用宏代换函
VF数据库常用命令
命令1:CREATE [路径][表名] 一、创建数据表的结构例子:在A盘创建GZ2数据表。
CREATE A:GZ2命令2:CREATE [新表名] FROM [旧表名]例子:在A盘由GZ1创建GZ3数据表。
CREATE A:GZ3 FROM A:GZ1二、表结构的显示命令:LIST STRUCTUREDISPLAY STRUCTURE例子:显示当前数据表在结构。
LIST STRUCTURE三、数据表的打开命令:USE 表名 [INDEX 索引文件名] [EXCLUSIVE]例子:打开A盘GZ1数据表。
USE A:GZ1四、数据表的关闭命令:USECLOSE DATA例子:关闭当前打开的数据表。
USE五、表结构的修改命令:MODIFY STRUCTURE例子:修改当前数据表的结构。
MODIFY STRUCTURE六、表数据的输入命令:APPEND [BLANK]例子:向当前数据表追加数据。
APPEND七、表记录的显示命令:BROWSE [FIELDS 字段表][FOR 条件]LIST [范围][[FIELDS]字段表][FOR 条件]DISPLAY [范围][[FIELDS]字段表][FOR 条件]例子:显示当前表中“应发合计”大于1000元的记录的职工编号、姓名、应发合计三个字段。
BROWSE FIELDS 职工编号,姓名,应发合计 FOR 应发合计>1000LIST 职工编号,姓名,应发合计 FOR 应发合计>1000八、用复制方法建新表命令:COPY TO 新表名 [范围][FIELDS 字段表][FOR 条件]例子:把当前表中“应发合计”大于1000元的记录复制到新数据表GZ2中。
COPY TO A:GZ2 FOR 应发合计>1000九、从其他表取数据命令:APPEND FROM 表名 [FOR 条件]例子:把GZ1表中“应发合计”大于1000的记录复制到当前的表后面。
APPEND FROM GZ1 FOR 应发合计>1000十、记录指针定位命令:GO n|TOP|BOTTOM (绝对移动)SKIP [±n] (相对移动)例子:把记录指针移到第1条记录。
VF各章知识点汇总
第一章数据库基础理论一、信息、数据和数据处理信息是有用的数据;数据是信息的表现形式,数据是信息的载体二、数据模型有三种:层次模型、网状模型、关系模型Visual FoxPro 6.0是关系型数据模型三、关系模型关系其实就是一张二维表,由字段、记录,和数据项组成,表中的每一行称为记录或元组,表中每一列称为字段或属性,表中每一项称为数据项或分量。
四、数据库:是数据库系统的核心和管理对象五、数据库系统由四部组成:硬件系统、系统软件(操作系统、数据库管理系统)、数据库应用系统和各类人员三级模式:外模式、概念模式和内模式六、数据库管理系统(DBMS):由三部分组成:数据描述语言DDL、数据操纵语言DML、数据库管理例行程序。
二、关系数据库1、一个关系数据库由若干个数据表组成,数据表由若干个记录组成,而每一个记录是由若干个以字段属性加以分类的数据项组成。
(即数据项→记录→数据表)2、表间关联关系的类型:一对一关系、一对多关系、多对一关系3、关系完整性:是指关系中的数据及具有关联关系的数据间必须遵循的制约和依存关系,保证数据的正确性、有效性和相容性关系的完整性包括:域完整性、实体完整性、参照完整性。
其中域完整性是指:包括字段的值、类型、有效规则实体完整性是指:对关系中的记录值是唯一的。
参照完整性是指:在数据库设计时要进行参照完整性。
建立关联表间数据的参照性。
4、关系运算:选择运算:是指从关系中选择某些满足条件的记录组成的一个关系投影运算:是指从关系中选择某些字段值组成的一个关系连接运算:是将两个或多个关系通过连接条件组成一个新的关系第三章基础知识一、数据类型:(其中所提到的字符个数,一个汉字用两个字符来表示,所有的标点符号应在英文状态下输入) 有六种基本数据类型:1、字符型:由“”、‘’和[]三种作为字符型数据的定界符。
且数据长度不能超过254个字符2、数值型:包括数值型、浮点型、货币型、双精度型、整型其中数值型是最常用的数据类型,是由数字(0~9)、小数点和正负号组成,最大长度不能超过20个字符 (包括十、—号和小数点)。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
8.2建立表间的关联关系
1、建立表间“一对一”关系(p150) 2、建立表间“一对多”关系
3、设置参照完整性
8.3 记录排序
1、物理排序
排序就是根据数据表的某些字段(称为 关键字段)的“值”(称为关键字值)的大 小重排记录,(可为升序、可为降序)排序后将 产生一个新的可单独使用的数据表文件 (*.DBF)。原数据表文件不变。
候选索引:索引表达式的值不允许重复、有资格被选做主索引的索引。数据库 表和自由表都可以建立侯选索引,一个表可以有多个候选索引。
普通索引:是除了上面几种索引之外的一种索引,它允许索引关键字有重复的 值,对有相同索引表达式值的记录按原有的先后顺序集中排列在一起。
惟一索引:允许索引关键字有重复的值的索引,当有重复值出现时,索引文件 只保存重复的第一次值。
&&显示查询结果
Continue
&&继续定位查询下一个记录
?Found()
&& Found()函数为.T.
Display
&&显示第二条”王”姓记录
Continue
&&“End Of Locate Scope”显示定位结束
?Eof()
&& Eof())函数为.T.
7.3 索引定位
索引定位是一种快速定位记录的方法,利用索引定位 将明显提高查询效率,适用于大型表的查询。
命令方式:
(1)命令格式: SORT TO <新文件名> ON <字段名1> [/A|/D][/C] [,<字段名2> [/A|/D][/C] [<范围>] [For<条件表达式1>] [Fields<字段名表>]
(2)命令功能: 根据”关键字段”的值(称为关键字值)的大小重
排记
录,产生一个新的可单独使用的数据库文件(*.DBF)。 选项/A和/D分别表示升序或降序,不选择则默认为按
3、创建索引
1)利用表设计器创建索引
2)利用命令创建索引
A、创建非结构索引
INDEX ON <索引表达式> To <索引文件名> [FOR<条件表达式>] [ASCENDING] [Descending]
命令功能:为当前表按<索引表达式> 的值建立一个非结构索引文件,索引 文件扩展名.IDX。 例1:将学生档案表.DBF数据表信工系(学号第3位为2)
的学生按学号升序建立非结构索引文件xh.idx。 USE 学生档案表 INDEX ON 学号 TO xh FOR SUBS(学号,3,1)=”2” ascending 当索引建立后,新建立的索引文件将自动打开且处于
主索引的位置,记录随即按该索引顺序来排列。
B、创建结构索引
INDEX ON <索引表达式> TAG<索引标识名> [FOR<条件表达式>]
2)找后续(继续查询): Continue &&按照Locate指定的条件继续定位下一条记录
例: 在学生挡案表.Dbf表中,查找姓“王”的学生。
Use 学生挡案表
Locate For Subs(姓名,1,2)=”王”
&&如果用 Locate For “王”$姓名 可能会产生什么问
题?
Display
升序排列。选项/C表示不区分字母的大小写。
2、按索引字段排序
a、先在“表设计器”窗口中,为表建立多个索引; b、选择“显示”下拉菜单“浏览”,进入“浏览”窗 口; c、在“浏览”窗口下,打开“表”,选择“属性”, 进入“工作区属性”窗口,查看所有操作。
3、按索引表达式排序
8.4 记录定位
7.1 绝对定位 1、菜单方式 2、命令方式 无条件记录定位:goto(go);goto top;goto bottom; 有条件记录定位:直接(顺序)定位和索引(快速)定位; 定位命令仅仅是对记录指针进行定位的一种操作,它并不能
在VF中,同一个数据库中的多个表以相同属性字段建立索引后,可根 据索引表达式的值建立数据库中多个表间的关联关系。
第8章 索引及记录操作
2、索引的种类 根据关键字段值是否重复可将索引分为四种类型:主索引、候选索引、惟一 索引、普通索引。
主索引:索引表达式的值唯一能够标识每个记录的索引,即索引表达式的值不允 许重复。主索引只能在数据库表中建立,一个表只能创建一个主索引。
8.1 索引概述
1.索引的概念
所谓索引就是按照索引表达式(数据表的某个字段或字段的组合)的
值使表中的记录有序排列的一种技术。
一般情况下,标中记录的顺序是由数据输入的前后次序决定的,并
用记录号予以标识。除非有记录插入或记录删除,否则表中的记录顺序
总是不变的。
索引实际就是一种排序,但是他不改变表中数据的物理顺序,而是
另外建立一个数据号列表。索引文件不能单独使用,必须同源数据表文
件一起使用。
索引一旦建立后,就产生了一个相应的索引文件。索引文件中只包含两 项信息:一是每条记录索引关键字表达式的值,另一项是与其对应的记 录号。既在索引文件中只保留索引关键字和记录号信息,并不存在记录 的字段数据,因此它不能单独使用,必须同时打开原数据文件,才能使 索引文件有效。
显示定位的记录内容。如要显示,则需要使用并且只能使用 Display命令。 3、相对定位 skip;
7.3 条件(顺序)定位 所谓顺序定位是指在表中从第一条记录开始,
按照顺序搜索表,把记录指针定位在满足条件的第 一条记录上。 顺序定位适合于复杂条件或小型表的定位。 命令格式: 1)找首条: Locate For <条件表达式> [范围]
[ASCENDING|DESCENDING][Unique][Candidate] 说明: ①TAG<索引标识名>:结构化索引文件每个索引都必须有一
个索引标识。 ②记录的顺序默认为升序,也可用“Ascending”表示,降序用 “Descending”;][Unique]建立唯一索引,[Candidate]建立候选索引,否则 建普通索引 。 例: 将学生档案表.dbf按籍贯和高考成绩降序索引,索引标识为jgcj,按学号 升序索引,索引标识为xh,建立结构化复合索引文件。