1、VFP讲稿讲稿第第34章章20122012表的概念表的概念v表是表是相关数据相关数据的集合,的集合,按照一定的组织形式按照一定的组织形式,以,以DBF为扩展名的文为扩展名的文件保存,件保存,FPT(表备注文件表备注文件)v组成:表结构和记录组成:表结构和记录v分类:自由表和数据库表分类:自由表和数据库表v字段的基本属性字段的基本属性(字段名、数据类型、宽度、小数位数和空值支持);(字段名、数据类型、宽度、小数位数和空值支持);命名规则命名规则:可以包含:可以包含字母、数字和下划线、汉字字母、数字和下划线、汉字;不以数字开头不以数字开头;长度为长度为1128(自由表字段名自由表字段名以及以及索引
2、标志名索引标志名长度只能为长度只能为10)数据类型:数据类型:宽度固定的数据类型的名字(宽度固定的数据类型的名字(8:D,T,B,Y 4:M,G,I 1:L =254:C)小数位数:小数位数:包含在总宽度中包含在总宽度中,同时还要注意,同时还要注意总宽度中还包含小数总宽度中还包含小数点一位点一位空值:表示值不确定;空值可以等价于任何一种数据类型空值:表示值不确定;空值可以等价于任何一种数据类型 CTRL+0(表的字段中空值的输入)(表的字段中空值的输入)表结构的创建和修改表结构的创建和修改v 创建表的结构创建表的结构 create table|dbf xs(xh c(9),xm c(8)NUL
3、L,csrq d(8)not null)创建自由表和数据库表创建自由表和数据库表 create cursor xs(xh c(9),xm c(8)NULL,csrq d not null)创建创建临时表临时表v 修改表的结构修改表的结构 ALTER TABLE XS ADD|RENAME|DROP COLUMN BJ C(2)|BJ TO BJBH|BJBHv 修改字段的类型和宽度修改字段的类型和宽度 ALTER TABLE XS ALTER COLUMN BJBH N(5,0)注意:对于数值型字段,必须指定小数位数,哪怕位数为注意:对于数值型字段,必须指定小数位数,哪怕位数为0表的基本操作表
4、的基本操作v 追加追加 APPEND BLANK(可在程序代码中或命令窗口中使用可在程序代码中或命令窗口中使用)追加一条记追加一条记录录 CTRL+Y 只能在浏览窗口中使用只能在浏览窗口中使用 追加一条记录追加一条记录 append from 表名表名 for 条件条件 追加多条记录追加多条记录(以同名字段填充以同名字段填充)insert blank(before)(VFP命令命令)事先应将表打开)事先应将表打开 insert into xs(xm,xh,xb)values(“”,”,”)(SQL命令命令)如果该)如果该表未打开,则会自动打开该表表未打开,则会自动打开该表 如果省略字段名列表,
5、则如果省略字段名列表,则values后面提供的值必须按照表中字段的先后顺序给后面提供的值必须按照表中字段的先后顺序给出出 如果给出字段列表,则如果给出字段列表,则values后面提供的值应按照字段列表的顺序给出后面提供的值应按照字段列表的顺序给出v 浏览浏览 browse for/while display(分屏显示分屏显示)/list FOR:所有满足条件的记录:所有满足条件的记录 WHILE:当遇到第一个不满足条件记录则停止命令的执行:当遇到第一个不满足条件记录则停止命令的执行表的基本操作表的基本操作v 定位定位v 相对定位相对定位 skip (正数正数|负数负数)当前记录号为)当前记录号
6、为9 SKIP-3v 绝对定位绝对定位 go(goto)N top botton 定位到记录号为定位到记录号为N的记录的记录v 条件定位条件定位 locate for 条件条件 (从(从第一条第一条记录开始搜索,记录开始搜索,定位在第一个定位在第一个满足条件的记录上满足条件的记录上)v continue (定位到下一个满足条件的记录)(定位到下一个满足条件的记录)v 记录指针记录指针 bof()eof()recno()(记录号的变化范围:(记录号的变化范围:1n+1)v 空表空表 .t.t.1 表的最大记录号:当前记录总数表的最大记录号:当前记录总数+1v 非空表非空表 .f.f.1v 记录指
7、针指向记录指针指向BOF时,记录号为时,记录号为1v 记录指针指向记录指针指向EOF时,记录号为时,记录号为N+1表的基本操作表的基本操作v 修改字段的值(更新记录)修改字段的值(更新记录)v replace 字段名字段名1 with 表达式表达式1,字段名字段名2 with 表达式表达式2 for 条件条件|范围范围子句子句 vfp命令命令 replace xb with“男男”,csrq with date()FOR 条件:条件:替换多个字段替换多个字段 replace ALL xb with iif(xb=1,”女女”,“男男”)REPLACE 默认只默认只对当前记录进行处理对当前记录进
8、行处理v 根据条件对同一个字段做不同的替换:根据条件对同一个字段做不同的替换:replace all jbgz with iif(zc=”教授教授”,jbgz+400,iif(zc=”副教副教授授”,jbgz+300,iif(zc=”讲师讲师”,jbgz+200,jbgz)v 范围子句:范围子句:ALL:所有记录:所有记录 NEXT N:从当前记录开始的:从当前记录开始的N条记录条记录 REST:从当前记录开始,一直到记录的结束:从当前记录开始,一直到记录的结束 RECORDE N:记:记录号为录号为N的记录的记录v update from 表文件名表文件名 set 字段名字段名=表达式表达式
9、 where 条件条件 SQL命令命令表的基本操作表的基本操作v 删除删除v 逻辑删除逻辑删除 delete all for 条件条件 delete from 表文件名表文件名 where 条件条件 SQL命令命令v 控制对带删除标记记录的访问控制对带删除标记记录的访问:set deleted ON|OFF 带删除标记的带删除标记的记录记录不能不能|可以可以访问访问 reccount():set dele on 对该函数不起作用,它统计的时文件中对该函数不起作用,它统计的时文件中没有没有被彻底删除的记录的总条数被彻底删除的记录的总条数v 物理删除(彻底删除)物理删除(彻底删除)pack:把带有
10、删除标记的记录彻底删除:把带有删除标记的记录彻底删除 zap:将所有记录彻底删除,仅保留表结构:将所有记录彻底删除,仅保留表结构 以上两条命令,要求表以以上两条命令,要求表以独占方式独占方式打开打开v 恢复记录(去掉删除标记)恢复记录(去掉删除标记)recall 范围子句范围子句|for 条件条件:该命令如果不加范围和条件,则只恢该命令如果不加范围和条件,则只恢复当前记录(复当前记录(display|delete|replace)deleted():判断当前记录是否带有删除标记判断当前记录是否带有删除标记表的基本操作表的基本操作v 筛选筛选v 记录的筛选:记录的筛选:临时筛选:在普通命令后加临
11、时筛选:在普通命令后加 for/while 条件条件 长期性筛选:长期性筛选:set filter to 条件条件v 字段的筛选:字段的筛选:browse fields 字段列表字段列表 set fields to 字段列表字段列表表的基本操作表的基本操作v 打开表:打开表:use 表名表名 ;Use 表名表名 again 在不同工作区打开同一张表在不同工作区打开同一张表v 关闭表:关闭表:use;close table;close all;close database(如果当前没有打开(如果当前没有打开数据库,则该命令将关闭所有的表)数据库,则该命令将关闭所有的表)v 工作区:内存中的一片区
12、域;在一个工作区中同一个时间只能打开一工作区:内存中的一片区域;在一个工作区中同一个时间只能打开一张表张表 select()工作区工作区编号编号:任意无符号整数;前:任意无符号整数;前10个工作区可用个工作区可用AJ来来表示表示 alias()工作区工作区别名别名:默认表名:默认表名,当区号大于当区号大于10且该表是重复打开,且该表是重复打开,则别名为则别名为W+区号区号v 对非当前工作区的表进行操作:对非当前工作区的表进行操作:改变当前工作区:用改变当前工作区:用SELECT 工作区号工作区号/别名别名 强行指定工作区:在命令中用强行指定工作区:在命令中用IN 工作区号工作区号|别名别名 s
13、elect 0 :0表示当前未被使用的且编号最小的工作区表示当前未被使用的且编号最小的工作区 close tables|all:执行该命令后,系统将:执行该命令后,系统将1号工作区置为当前工作区号工作区置为当前工作区 use xs in 0:打开打开XS表,表,该命令不改变当前工作区该命令不改变当前工作区 、use in xs:关闭别名为:关闭别名为XS的工作区中的表的工作区中的表 use techer alias xs ;go top in xs表的索引表的索引v 索引文件的结构:索引文件的结构:索引序号索引序号+表的记录号表的记录号v 索引的类型:索引的类型:主索引:主索引:适用于数据库表
14、的结构复合索引适用于数据库表的结构复合索引。一张表只有一个一张表只有一个,关关键字段的值唯一键字段的值唯一 候选索引(候选索引(candidate):关键字段的值唯一):关键字段的值唯一 普通索引:普通索引:唯一索引唯一索引(unique):记录中出现了重复值,则只有第一个有效:记录中出现了重复值,则只有第一个有效v 索引文件的类型:索引文件的类型:独立索引独立索引文件:文件:idx,文件中只能包含一个索引标志,文件中只能包含一个索引标志 复合索引复合索引文件:文件:cdx,文件中可以包含多个索引标志,文件中可以包含多个索引标志 结构复合结构复合索引:索引文件名与表文件名同名,索引文件随表文件
15、的打开而自索引:索引文件名与表文件名同名,索引文件随表文件的打开而自动打开动打开 非结构非结构复合索引:复合索引:注意:项目管理器不能管理独立索引和复合索引注意:项目管理器不能管理独立索引和复合索引表的索引表的索引v 建立索引建立索引 index on 关键字表达式关键字表达式 tag 索引标志名索引标志名 candidate|unique FOR 条件条件v 多个字段建立索引表达式多个字段建立索引表达式应该注意:应该注意:1.多个多个字符型的字段字符型的字段其先后顺序,影响索引结果:其先后顺序,影响索引结果:xm+xb 和和 xb+xm2.多个多个数值型字段数值型字段按表达式的按表达式的和值
16、和值进行排序进行排序 jbgz+gl 合理的排序合理的排序:str(jbgz,7,2)+str(gl)3.多个多个数据类型不相同的字段数据类型不相同的字段建立表达式,必须先建立表达式,必须先统一类型统一类型v 主控索引主控索引:正在起作用的索引标志;注意和主索引的区别。:正在起作用的索引标志;注意和主索引的区别。设定主控索引:设定主控索引:1打开表的同时指定主控索引打开表的同时指定主控索引 use xs order xh 2打开表之后指定主控索引打开表之后指定主控索引 set order to 索引标识名索引标识名表的索引表的索引v 索引标识的删除索引标识的删除 delete tag 索引标识
17、名索引标识名v 索引的修改:使用索引的修改:使用INDEX命令重建索引命令重建索引v 根据根据索引定位记录索引定位记录 seek 表达式表达式 :set order to xh;seek“990101”v 要求:要求:1 需要对表达式字段建立索引并设置为主控索引需要对表达式字段建立索引并设置为主控索引 2 结果指向结果指向第一个满足条件的记录第一个满足条件的记录或或记录结束标识(记录结束标识(没有找到相关没有找到相关记录记录)v 对定位结果的判断:对定位结果的判断:found().t.说明已经找到说明已经找到 .f.表示没有找到相关记录表示没有找到相关记录 Eof().f.说明已经找到说明已经
18、找到 .t.表示没有找到相关记录表示没有找到相关记录v seek(表达式表达式):v 要求:需要对表达式字段建立索引并设置为主控索引要求:需要对表达式字段建立索引并设置为主控索引 结果返回逻辑值结果返回逻辑值,找到:,找到:.t.;没找到:;没找到:.f.等价于:等价于:seek命令命令+found()函数函数独占与共享独占与共享v 表的共享访问:表的共享访问:独占(独占(exclusive)/共享共享(share)v 设置默认打开方式设置默认打开方式 set exclusive on|off (独占独占|共享共享)此设置仅对此设置仅对之后打开的表之后打开的表起作用,不影响已打开的表的状态起作
19、用,不影响已打开的表的状态v 强行以某种方式打开强行以某种方式打开 use xs share|exclusive 如果一张表已经打开了,则再次打开时仍按照上一次打开的如果一张表已经打开了,则再次打开时仍按照上一次打开的方式打开,此命令中的指定无效。方式打开,此命令中的指定无效。只能以独占方式打开表的有关操作只能以独占方式打开表的有关操作:modi structure;index;insert;pack;zap;reindex同步练习同步练习v若若VFP的命令中同时含有子句的命令中同时含有子句FOR、WHILE和和SCOPE(范围子句范围子句)。则三个子句执行时的优先级顺序为则三个子句执行时的优
20、先级顺序为_。AFOR、WHILE、SCOPEBWHILE、SCOPE、FORCSCOPE、WHILE、FORD无优先级、按句子出现的先后顺序执行无优先级、按句子出现的先后顺序执行v删除当前表中全部记录的命令是删除当前表中全部记录的命令是_。AERASE*.*BDELETE*.*CZAPDCLEAR ALLv下列关于表的索引的描述中,错误的是下列关于表的索引的描述中,错误的是_。A复合索引文件的扩展名为复合索引文件的扩展名为.CDXB结构复合索引文件随表的打开自动打开结构复合索引文件随表的打开自动打开C当对表进行编辑修改时,系统对其结构复合索引文件中的所用索当对表进行编辑修改时,系统对其结构复
21、合索引文件中的所用索引自动进行维护引自动进行维护D每张表只能创建一个主索引和一个侯选索引每张表只能创建一个主索引和一个侯选索引同步练习同步练习v打开一个空表,分别用函数打开一个空表,分别用函数EOF()和和BOF()测试,其结果一定是测试,其结果一定是_。A.T.和和.T.B.F.和和.F.C.T.和和.F.D.F.和和.T.v若要删除当前表中某些记录,应先后使用的两条命令是若要删除当前表中某些记录,应先后使用的两条命令是_。ADELETEZAP BDELETEPACKCZAPPACKDDELETERECALLv建立索引时,下列建立索引时,下列_字段不能作为索引字段。字段不能作为索引字段。A字
22、符型字符型 B数值型数值型C备注型备注型D日期型日期型同步练习同步练习v用户使用用户使用CREATETABLESQL命令创建表的结构,字段类型必命令创建表的结构,字段类型必须用单个字母表示须用单个字母表示.对于货币型字段,字段类型用单个字母表示时为对于货币型字段,字段类型用单个字母表示时为_。v如果表设置了一个主控索引,则如果表设置了一个主控索引,则SKIP命令将使记录指针移动到命令将使记录指针移动到_的记录上。的记录上。v打开一个表时,打开一个表时,_索引文件将自动打开,表关闭时它将自动索引文件将自动打开,表关闭时它将自动关闭。关闭。v要从要从XS表中删除表中删除“BJ”字段的命令是字段的命
23、令是_。v用用LIST命令显示表中记录时系统会自动地在记录前显示记录号。要命令显示表中记录时系统会自动地在记录前显示记录号。要取消记录号的显示,可在取消记录号的显示,可在LIST命令后加子句命令后加子句_。v要实现对要实现对JS表所有记录的工龄表所有记录的工龄(GL)增加增加1,其,其UPDATE-SQL命令为命令为_。v请写出删除请写出删除JS表中基本工资表中基本工资(GZ)在在400元以下所有记录的元以下所有记录的DELETE-SQL命令命令_。v对于已打开的多个索引,每次只有一个索引对表起作用,这个索引对于已打开的多个索引,每次只有一个索引对表起作用,这个索引称为称为_。数据库操作数据库
24、操作v 数据库:包容器,相关数据库:包容器,相关表的集合,不包含表的记录数据表的集合,不包含表的记录数据v 创建:创建:Create Database JXSJ 形成三个文件:形成三个文件:DBC(数据库)(数据库)DCT(库备注)(库备注)DCX(库索引)(库索引)注意注意:创建数据库后,该数据库创建数据库后,该数据库自动打开且为当前数据库,但不会自动打开且为当前数据库,但不会添加到项目管理器中添加到项目管理器中 如果存在当前数据库,则此时创建的表如未特别说明(在命令中如果存在当前数据库,则此时创建的表如未特别说明(在命令中加加FREE关键字),则一定属于该数据库关键字),则一定属于该数据库
25、v 打开:打开:Open Database 数据库名字数据库名字 反复执行该命令能同时反复执行该命令能同时打开多个数据库打开多个数据库,且最后打开的数据库为,且最后打开的数据库为当前数据库当前数据库v 设置当前数据库:设置当前数据库:set database to 数据库名数据库名 如果引用非当前数据库中的表,则在库名和表名之间加如果引用非当前数据库中的表,则在库名和表名之间加“!”v 关闭数据库:关闭数据库:Close Database;Close All;QUIT数据库的组成数据库的组成v 数据库表数据库表:比自由表具有更多的属性,所有:比自由表具有更多的属性,所有记录记录以以DBF文件保
26、存文件保存,扩扩展属性展属性保存于数据库文件中保存于数据库文件中。v 双向链接:双向链接:前链前链:位于数据库文件中,记录表文件的信息:位于数据库文件中,记录表文件的信息 后链后链:位于表文件中,记录该表属于哪个数据库:位于表文件中,记录该表属于哪个数据库v 当数据库文件或表文件的当数据库文件或表文件的位置发生改变位置发生改变时,它们的双向链接将被破坏时,它们的双向链接将被破坏 更新和恢复:更新和恢复:validate database recover (在数据库中,对所有的(在数据库中,对所有的表进行重新定位,修改前链)表进行重新定位,修改前链)v 当数据库或表文件不存在时:当数据库或表文件
27、不存在时:删除前链:删除前链:remove table delete 针对于表文件不存在针对于表文件不存在 删除后链:删除后链:FREE TABLE 表名表名 针对于数据库文件不存在针对于数据库文件不存在v 数据库文件的删除:数据库文件的删除:DELETE DATABASE 删除数据库文件,删除数据库文件,同时使所有的数据库表同时使所有的数据库表变为变为自由表自由表 DELETE FILE 删除文件,数据库表不会变成自由表(等同于删除文件,数据库表不会变成自由表(等同于在资源管理器中删除文件)在资源管理器中删除文件)数据库的组成数据库的组成v 建立的基础建立的基础:通过索引建立,主表:通过索引
28、建立,主表 主索引或候选索引主索引或候选索引 子表子表 普通索引普通索引v 目的目的是用来是用来建立表与表之间的参照完整性建立表与表之间的参照完整性,某些情况下作为默认的临时关系,某些情况下作为默认的临时关系和默认的联接条件和默认的联接条件v 关系保存关系保存于数据库文件中,一旦建立,永久保存,当其中一张表从数据库中于数据库文件中,一旦建立,永久保存,当其中一张表从数据库中移去时,关系解除移去时,关系解除v 建立的对象:建立的对象:同一个数据库中的两张表同一个数据库中的两张表 常见的有一对多、多对多(通过常见的有一对多、多对多(通过纽带表纽带表将其转换成两个一对多关系)将其转换成两个一对多关系
29、)v 建立步骤:建立步骤:分别建立主表和子表的相关索引分别建立主表和子表的相关索引 在数据库设计器中,在数据库设计器中,从主表的主索引标志拖放到子表的普通索引标志上从主表的主索引标志拖放到子表的普通索引标志上v 命令方式建立永久关系命令方式建立永久关系 主表和子表都存在:主表和子表都存在:Alter table cj add foreign key xh tag xh reference xs 在创建子表的同时:在创建子表的同时:数据库的组成数据库的组成v 视图:视图:不单独以文件的形式保存不单独以文件的形式保存,保存于数据库文件中,保存于数据库文件中 从一张表或多张表中按照一定的条件来选取记
30、录从一张表或多张表中按照一定的条件来选取记录v 存储过程:存储过程:在数据库文件中,在数据库文件中,用来保存用户代码的地方用来保存用户代码的地方(参照完整性约束代(参照完整性约束代码,用户的过程和函数)码,用户的过程和函数)v 数据库函数数据库函数v DBGETPROP(cname,ctype4种种,cproperty):获取属性):获取属性v DBSETPROP(cname,ctype4种种,cproperty,evalue):设置属性):设置属性 Ctype:database,view,table,field Cproperty:caption,comment(注释注释),bufferin
31、g,defaultvalue,primarykey,path库表字段的扩展属性v(格式、掩码、标题和注释)(格式、掩码、标题和注释)v格式(格式(Format):控制字段的显示方式,如大写、中文日期):控制字段的显示方式,如大写、中文日期(A、K、L、T、!、!、$)v掩码(掩码(Inputmask):控制字段的输入格式,如只能输入字母或数字):控制字段的输入格式,如只能输入字母或数字(X、9、.、,、,、A)v标题(标题(Caption):在):在浏览窗口的列标题上显示的说明文字浏览窗口的列标题上显示的说明文字,不同于,不同于字段名,但字段名可作为默认的标题字段名,但字段名可作为默认的标题(
32、在表设计器中设置标题时,不在表设计器中设置标题时,不需要加引号需要加引号)v注释(注释(Comment):在项目管理器中,当选中该字段后,在下面的):在项目管理器中,当选中该字段后,在下面的说明栏中显示说明栏中显示(在表设计器中设置注释时,不需要加引号在表设计器中设置注释时,不需要加引号)v默认值默认值(Defaultvalue):当新增记录时,字段预先具有的初值。:当新增记录时,字段预先具有的初值。(在表在表设计器中设置时,要根据该字段的数据类型来决定表示形式设计器中设置时,要根据该字段的数据类型来决定表示形式)有效性规则有效性规则 触发器触发器v字段有效性规则:一个字段有效性规则:一个逻辑
33、表达式逻辑表达式,控制该字段的数据的正确性,控制该字段的数据的正确性v起作用的时间:起作用的时间:在设置规则并保存的过程中,对表中已有的数据进行验证在设置规则并保存的过程中,对表中已有的数据进行验证当修改该字段,光标当修改该字段,光标离开该字段离开该字段时时v字段规则字段规则信息信息:出错时的说明文字,:出错时的说明文字,注意要加引号注意要加引号v记录有效性规则:一个记录有效性规则:一个逻辑表达式逻辑表达式,控制该记录中,控制该记录中多个字段之间的多个字段之间的数据有效性(不能加引号)数据有效性(不能加引号)v起作用的时间:起作用的时间:在设置规则并保存的过程中,对表中已有的数据进行验证在设置
34、规则并保存的过程中,对表中已有的数据进行验证当修改表中的记录,且光标当修改表中的记录,且光标离开该记录离开该记录时时v记录规则记录规则信息信息:出错时的说明文字,:出错时的说明文字,注意要加引号注意要加引号v触发器:绑定在表上的一个触发器:绑定在表上的一个逻辑表达式逻辑表达式,分为删除、插入、更新。,分为删除、插入、更新。进行相应操作时,进行相应操作时,如果该表达式为真,则允许进行操作,否则禁止如果该表达式为真,则允许进行操作,否则禁止。注意:注意:当表达式设置为当表达式设置为.F.时,则永远不能进行该操作时,则永远不能进行该操作。参照完整性参照完整性v 参照完整性:参照完整性:控制多张表之间
35、的数据一致性。可在控制多张表之间的数据一致性。可在同一数据库文件同一数据库文件中中具有永久具有永久关系关系的的两张表之间两张表之间设置。设置。建立在永久关系的基础上建立在永久关系的基础上;通过;通过触发器设置触发器设置;代码保存于;代码保存于存储过存储过程程中中 目的是为了防止出现目的是为了防止出现孤立记录孤立记录:在子表中出现,而主表中没有相:在子表中出现,而主表中没有相关记录的记录关记录的记录v 三种规则:三种规则:更新规则:(父动)级联、限制、忽略更新规则:(父动)级联、限制、忽略 删除规则:(父动)级联、限制、忽略删除规则:(父动)级联、限制、忽略 插入规则:(子动)限制、忽略插入规则
36、:(子动)限制、忽略v VFP数据完整性:数据完整性:域完整性:字段验证规则域完整性:字段验证规则 实体完整性:记录验证规则实体完整性:记录验证规则 参照完整性参照完整性 用户自定义完整性用户自定义完整性临时关系临时关系v临时关系:两张临时关系:两张打开表之间打开表之间建立的一种关系,通过它可以使子表的建立的一种关系,通过它可以使子表的记录指针跟随主表的记录指针一起发生改变,一旦其中的某张表关记录指针跟随主表的记录指针一起发生改变,一旦其中的某张表关闭,则该关系消失。(作用:控制记录的访问)闭,则该关系消失。(作用:控制记录的访问)v临时关系和永久关系之间的临时关系和永久关系之间的区别和联系区
37、别和联系联系:联系:1、必须客观存在、必须客观存在 2、永久关系有时作为默认临时关系、永久关系有时作为默认临时关系区别:区别:1、建立方式不同、建立方式不同2、作用不同、作用不同3、建立的对象不同、存在的形式不同、建立的对象不同、存在的形式不同4、子表所拥有主表个数不同、子表所拥有主表个数不同v建立方式建立方式:在不同工作区中打开子表和主表:在不同工作区中打开子表和主表v 设置子表的主控索引设置子表的主控索引v 在主表工作区执行命令在主表工作区执行命令v SET RELATION TO 关联字段名关联字段名 INTO 子表表名子表表名v解除解除:SET RELATION TO 或者关闭其中的任
38、何一张表或者关闭其中的任何一张表同步练习同步练习v在向数据库添加表的操作中,下列叙述中错误的是在向数据库添加表的操作中,下列叙述中错误的是_。A可以将一张自由表添加到数据库中可以将一张自由表添加到数据库中B可以将一个数据库表添加到另一个数据库中可以将一个数据库表添加到另一个数据库中C可以在项目管理器中将自由表拖放到数据库中使它成为数据库表可以在项目管理器中将自由表拖放到数据库中使它成为数据库表D欲使一个数据库表成为另一个数据库表,则必须先使其成自由表欲使一个数据库表成为另一个数据库表,则必须先使其成自由表v下列关于表之间的永久性关系和临时性关系的描述中,错误的是下列关于表之间的永久性关系和临时
39、性关系的描述中,错误的是_。A表之间的永久性关系只要建立则永久存在,并和表的结构保存表之间的永久性关系只要建立则永久存在,并和表的结构保存在一起在一起B表关闭之后临时性关系消失表关闭之后临时性关系消失C永久性关系只能建立于数据库表之间,而临时性关系可以建立于永久性关系只能建立于数据库表之间,而临时性关系可以建立于各种表之间各种表之间DVFP中临时性关系不保存在数据库中中临时性关系不保存在数据库中v数据库表的数据库表的INSERT触发器,在触发器,在_时触发该规则。时触发该规则。A在表中增加记录时在表中增加记录时B在表中修改记录时在表中修改记录时C在表中删除记录时在表中删除记录时D在表中浏览记录
40、时在表中浏览记录时同步练习同步练习v关于数据库的操作,下列叙述中正确的是关于数据库的操作,下列叙述中正确的是_。A数据库被删除后,它包含的数据库表也随之被删除数据库被删除后,它包含的数据库表也随之被删除B打开了新的数据库,则原先打开的数据库将被关闭打开了新的数据库,则原先打开的数据库将被关闭C数据库被关闭后,它所包含的已打开的数据库表被关闭数据库被关闭后,它所包含的已打开的数据库表被关闭D数据库被删除后,它所包含的表可以自动地变成自由表数据库被删除后,它所包含的表可以自动地变成自由表v针对某数据库中的两张表创建永久关系时,下列叙述中错误的是针对某数据库中的两张表创建永久关系时,下列叙述中错误的
41、是_。A主表必须创建主索引或候选索引主表必须创建主索引或候选索引B子表必须创建主索引或候选索引或普通索引子表必须创建主索引或候选索引或普通索引C两张表必须有同名的字段两张表必须有同名的字段D子表中记录数不一定多于主表子表中记录数不一定多于主表v如果一个数据库表的如果一个数据库表的DELETE触发器设置为触发器设置为.F.,则不允许对该表作,则不允许对该表作_的操作。的操作。A修改记录修改记录B删除记录删除记录C增加记录增加记录D显示记录显示记录同步练习同步练习v 数据库中的每一个表能建立数据库中的每一个表能建立_个主索引。个主索引。v _是保存在数据库中的过程代码,它由一系列用是保存在数据库中的过程代码,它由一系列用户自定义函数或在创建表与表之间参照完整性规则时系户自定义函数或在创建表与表之间参照完整性规则时系统创建的函数组成。统创建的函数组成。v“ODBC”的中文含义是的中文含义是_。v _是保存在数据库中的过程代码,它由一系列用是保存在数据库中的过程代码,它由一系列用户自定义函数或在创建表与表之间参照完整性规则时系户自定义函数或在创建表与表之间参照完整性规则时系统创建的函数组成。统创建的函数组成。