《《数据库及操作》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《数据库及操作》PPT课件.ppt(63页珍藏版)》请在三一办公上搜索。
1、1,第三章Visual FoxPro 数据库及操作,2,第一节 Visual FoxPro 数据库及其建立,数据库是用来管理表及表之间的关系,扩展名为.dbc,其中可以包含一个或多个表、关系、视图等。数据库是个逻辑上的概念。它不存储用户的数据。用户数据是存在表中的。,3,一个Visual FoxPro表或.dbf文件,能够存在以下两种状态之一:与数据库相关联的数据库表,与数据库不关联的自由表。当一个表是数据库的一部分时,它就可以具有以下内容:长表名和表中的长字段名(128个)表中字段的标题和注释 默认值、输入掩码和表中字段格式化 字段级规则和记录级规则 支持参照完整性的主关键字索引和表间关系,
2、4,一、建立数据库1命令方式【格式】CREATE DATABASE|?【功能】建立一个新的扩展名为.DBC的数据库文件并打开此数据库。【说明】指定生成的数据库文件,若省略扩展名,则默认为.DBC,同时也自动建立相关联的数据库备注文件扩展名为.DCT,关联的索引文件扩展名为.DCX。如果未指定数据库文件名或用“?”代替数据库名,Visual FoxPro系统会弹出创建对话框,以便用户选择数据库建立的路径和输入数据库名。保存后该数据库文件被建立,并且自动以独占方式打开该数据库。,5,2菜单方式 用菜单方式建立数据库的具体步骤如下:(1)选择【文件】【新建】出现新建对话框。(2)选择“数据库”单选按
3、钮,再单击“新建文件”按钮,出现“创建”对话框。(3)在“创建”对话框中输入文件名。选择“保存”按钮,系统自动打开数据库文件,并且将数据库设计器 也自动打开。3利用项目管理器建立数据库打开已建立的项目文件,出现项目管理器窗口。在“数据”选项卡中选择“数据库”,然后单击“新建数据库”按钮,再通过“创建”对话框提示用户输入数据库名,即扩展名为.DBC的文件名,单击“保存”,出现数据库设计器。,6,1.打开数据库1)命令方式【格式】OPEN DATABASE 在数据库被打开的情况下,它所包含的所有表可以使用。但是,表并没有被真正打开,用户要打开它,仍要用USE命令。2)菜单方式(1)选择【文件】|【
4、打开】,出现打开对话框。(2)选择数据库文件所在的文件夹,将文件类型 选择为“数据库(.dbc)”。(3)选择所要打开的数据库文件名,单击“确定”按钮。3)利用项目管理器打开数据库打开已建立的项目文件,出现项目管理器窗口,选择“数据”标签,选择要打开的数据库名,然后单击“打开”按钮。,二、数据库的打开与关闭,7,2.数据库的关闭 数据库文件操作完成后,或暂时不用时,必须将其关闭,保存在外部存贮器中以确保数据的安全性。关闭数据库文件有以下几种方式:1命令方式【格式】CLOSE ALL|DATABASE【功能】关闭当前打开的数据库。【说明】ALL用于关闭所有对象。如数据库、表、索引、项目管理器等。
5、DATABASE关闭当前数据库和数据库表;如果当前没有打开的数据库,则关闭所有打开的自由表、所有工作区内所有索引和格式文件。2.利用项目管理器 打开项目,然后进行关闭数据库操作即可。,8,三、数据库的修改在VFP中,修改数据库实际是打开数据库设计器,用户可以在数据库设计器中完成各种数据对象的建立、修改、删除等操作。数据库设计器打开的方法:(1)从项目管理器中打开数据库设计器。(2)从“打开”对话框中打开数据库设计器。(3)用命令方式打开数据库设计器。命令格式:MODIFY DATABASE 数据库文件名|?说明:(1)数据库文件名,是指定要修改的数据库文件名,选用“?”,则弹出“打开”对话框,
6、选定要打开的数据库文件。(2)若数据库文件是原先并不存在的,则该命令的作用就是新建数据库文件。,9,1命令方式【格式】DELETE DATABASE【功能】从磁盘上删除一个扩展名为.DBC数据库文件。【说明】被删除的数据库不能处于打开状态。被删除的数据库中的表成为自由表。数据库文件名可以包括数据库的路径和数据库名字。如果用“?”代替数据库文件名,将显示打开对话框,用户从打开对话框中选择要从磁盘上删除的数据库的名字。2使用项目管理器打开已建立的项目文件,出现项目管理器窗口,单击“数据”标签,选择要删除的“数据库”,然后单击“移去”按钮。若选择“移去”仅将数据库从项目中移去,被删除的数据库中的表成
7、为自由表。若选择“删除”将从磁盘上删除数据库。,四、删除数据库,10,前面我们已经知道表有二种,一种是数据库表,另一种是自由表。如果建表时数据库是打开的,则建立的表为当前数据库表,否则,建立自由表。无论建立那种表,其方法都相同。一个表由表结构和表记录两部分组成。表结构描述了数据存放形式以及存贮的顺序,确定了表的字段,就完成了对表结构的定义;表记录是表所要保存的数据主体,数据由记录组成,字段是构成记录的基本单元。建立一个表文件首先第一步就是建立表结构,然后再输入表记录。建立表结构的方法有很多,在这里主要讲述三种方法:命令方式、菜单方式和使用项目管理器的方式。,第二节 数据库表的建立和操作,11,
8、1.字段名,字段名即关系的属性名或表的列名。一个表由若干列字段构成,每个列都必须有一个惟一的名字字段名,将来可以通过字段名直接引用表中的数据。自由表字段名最长为10个字符。数据库表字段名最长为128个字符。字段名必须以字母或汉字开头。字段名可以由字母、汉字、数字和下划线组成。字段名中不能包含空格。,12,2.字段类型和宽度,字段的数据类型决定存储在字段中的值的数据类型,数据类型通过宽度限制可以决定存储数据的数量或精度。可以选择的数据类型有:字符型 C、货币型 Y 8、数值型 N、浮点型 F 20、日期型 D 8、日期时间型 T 8,双精度型 B、整型 I、逻辑型 L 1、备注型 M 4、通用型
9、 G。注意:后面数字代表数据类型的宽度,都是字节表示的,有的是没有规定具体宽度的。(但有默认宽度,如字符型、数值型均为10),13,3.空值,空值也是关系数据库中的一个重要概念,在数据库中可能会遇到尚未存储数据的字段,这时的空值与空字符串、数值0等具有不同的含义,空值就是确定值,不能把他理解为任何意义的数据。比如表示价格的一个字段值,空值表示没有定价,而数值0可能表示免费。一个字段是否允许为空值与实际应用有关,比如作为关键字字段是不允许为空值的,而那些在插入记录时允许暂缺的字段往往允许为空值。空值表示符:.NULL.,14,一、表的建立 1命令方式【格式】CREATE|?【功能】建立一个新的、
10、扩展名为.DBF的表文件。【说明】指定生成的表文件名,若缺省扩展名,则默认为.DBF。如果使用“?”或末指定表文件名,Visual FoxPro系统会弹出创建对话框,以便用户输入表名。,15,现在用命令方式来建立stud.dbf表。表内容如下:,16,图3-1 自由表设计器,图3-2 数据库表设计器,17,表设计器对话框中包含“字段”、“索引”、“表”三个选项卡。1)“字段”选项卡:适用于建立表结构,确定表中每个字段的字段名、字段类型、字段宽度和小数位数等。字段名:是某字段的名字。在表中必须是唯一的,字段名必须以汉字、字母和下划线开头,由汉字、字母、数字和下划线组成。字段类型:表示该字段中存放
11、数据的类型。备注型和通用型字段的信息都没有直接存放在表文件中,而是存放在一个与表文件同名的.FPT文件中。字段宽度:表示该字段所允许存放数据的最大宽度。小数位数:只对数值型字段和浮点型字符等数值类型有效,允许最大宽度20。,18,字段有效性 规则:限制该字段的数据的有效范围。在规则中输入:性别=“男”.OR.性别=“女”。这样当给“性别”字段输入记录值时就只能输入“男”或“女”。”规则“是逻辑表达式,其值的类型为逻辑型。信息:当向设置了规则的字段输入不符合规则的数据时,就会将所设置的信息显示出。“信息”是字符串表达式,其值的类型为字符型。默认值:当往表中添加记录时,系统向该字段预置的值。在“性
12、别”字段中输入默认值为“男”。输入记录时只有女生才需要改变默认值,可以减少输入。“默认值”的类型则由该字段的类型决定。,19,2菜单方式 选择【文件】|【新建】打开新建对话框,选择“表”,单击“新建文件”出现创建对话框,确定需要建立表的路径和表名,按“保存”按钮后,出现“表设计器”对话框。以下步骤同命令方式。3用项目管理器新建表 打开已建立的项目文件,出现项目管理器窗口,选择“数据”选项卡中的“数据库”下的表,然后单击“新建”按钮。出现新建表对话框,选择“新建表”出现创建对话框,确定需要建立表的路径和表名,按“保存”按钮后,出现图3-1所示的“表设计器”对话框。以下步骤同命令方式。,20,二、
13、修改表结构 在 VFP中,表结构可以任意修改:可以增加、删除字段、可以修改字段名、字段类型、字段的宽度,可以建立、修改、删除索引,可以建立、修改、删除有效性规则。(1)命令方式【格式】MODIFY STRUCTURE【功能】将当前已打开的表文件的表设计器打开进行修改。(2)利用数据库设计器 在数据库设计器中选中需要修改的表文件,再选择【修改】命令。(3)利用项目管理器 在项目管理器中选中需要修改的表文件,再选择“修改”按钮。,21,三、数据库表的基本操作1增加记录的命令(1)APPEND命令【格式】APPEND BLANK【功能】在当前已打开表的末尾追加一条或多条记录。【说明】BLANK:表示
14、在表末尾追加一条空记录,并自动返回命令窗口,此时系统并不弹出编辑窗口。【例4-1】在学生表末尾追加记录。USE STUD&打开表 APPE&或EDIT,22,注意:输入逻辑值时只输入T或F,定界符系统自动生成 输入日期值时只输入数码,分隔符系统自动生成 输入备注值时,光标位于MEMO上时,按 CTRL+PgDn进入编辑窗口,完成后按CTRL+W返回下一个字段继续输入。(2)INSERT命令【格式】INSERT BEFOREBLANK【功能】如果不指定BLANK则在当前记录之后插入一条新记录,否则在当前记录之前插入一条新记录。注意:如果在表上建立了主索引或侯选索引,则不能用以上的APPEND或I
15、NSERT命令插入记录,必须用SQL的INSERT命令插入记录。,23,2.删除记录的命令 在VFP中删除记录有逻辑删除和物理删除两种,所谓逻辑删除只是在记录旁作删除标记,必要时还可以去掉删除标记恢复记录;而物理删除才是真正从表中删除记录。物理删除是在逻辑删除的基础上进行的,即物理删除将那些有删除标记的记录真正删除。(1)置删除标记的命令 逻辑删除或置删除标记的命令是DELETE,常用格式如下:DELETE FOR 如果不用FOR短语指定逻辑条件,则只逻辑删除当前一条记录(从安全角度的考虑);如果用FOR短语指定了逻辑表达式,则逻辑删除使该逻辑表达式为真的所有记录。,24,(2)恢复记录的命令
16、 被逻辑删除的记录可以恢复,恢复记录的命令是RECALL,常用格式如下:RECALL FOR 如果不用FOR短语指定逻辑条件,则只恢复当前一条记录;如果用FOR短语指定了逻辑表达式,则恢复使该逻辑表达式为真的所有记录。(3)物理删除有删除标记的记录 物理删除有删除标记记录的命令是PACK,执行该命令后所有有删除标记的记录将被物理地删除,并且不可能在恢复。(4)物理删除表中的全部记录 使用ZAP命令可以物理删除表中的全部记录,不管是否有删除标记。该命令只是删除全部记录,并没有删除表,执行完该命令后表结构依然存在。,25,【例4-12】删除STUD.DBF中所有男同学的记录。USE STUD DE
17、LETE FOR 性别=男 LIST,26,3.修改记录的命令(1)用EDIT或CHANGE命令交互式修改 EDIT和CHANGE命令均用于交互式地对当前表记录进行编辑、修改,默认编辑的是当前记录,可以通过PageDown或PageUp键跳到下一条记录或上一记录,或通过鼠标操作快速定位到要修改的记录,然后直接在原有的记录上进行编辑、修改就可以了。(2)用REPALCE命令直接修改【格式】REPLACE WITH,WITH.FOR,27,【功能】直接利用表达式1替换字段1的值,从而达到修改记录值的目的。【说明】该命令适合对当前库进行成批地、有规律地修改。缺省范围即未使用FOR短语、条件时,仅替换
18、当前记录。【例4-2】修改STUD.DBF中的“系别代号”字段数据。USE STUD REPLACE ALL 系别代号 WITH”01”+系别代号,28,4、显示记录的命令,显示记录的命令是LIST和DISPLAY,他们的区别在于不使用条件时,LIST默认显示全部记录,而DISPLAY则默认显示当前记录。他们的命令格式如下:【格式】LIST|DISPLAY FIELDS FOR【功能】将当前表文件的记录按照指定的选项进行显示。例4-3 显示当前表中所有男生的记录 USE STUD LIST FOR 性别=“男”,29,5、查询定位命令,在数据库应用中,有时需要将记录定位在某条记录上,然后对其进
19、行处理。1绝对定位【格式】GO|GOTO【功能】将记录指针绝对定位到指定的记录上。,30,2相对定位【格式1】SKIP【功能】记录指针从当前记录向前(或向后)移动若干个记录,默认为1。如果是正数则向后移动,如果是负数则向前移动。【说明】SKIP是按逻辑顺序定位,即如果使用索引时,是按索引项的顺序定位的。【格式2】GO|GOTO【功能】TOP:将记录指针移动到表文件的逻辑首记录。BOTTOM:将记录指针动到表文件的逻辑最后一条记录。,31,【例4-4】绝对定位命令的用法。USE STUD GOTO 2 GO 3【例4-5】相对定位的用法。USE STUD SKIP 4&系统主窗口显示为5 SKI
20、P 3&系统主窗口显示为2 SKIP 8&超出了记录总数 go top&系统主窗口显示为1,32,(3)用LOCATE命令定位【格式】LOCATE FOR 其中表达式1是查询或定位的表达式。【功能】该命令执行后将记录指针定位在满足条件的第一条记录上,如果没有满足条件的记录则指针指向文件结束的位置。如果要使指针指向下一条满足LOCATE条件的记录,使用CONTINUE命令,如果没有记录再满足条件,则指针指向文件结束位置。为了判别LOCATE或CONTINUE命令是否找到满足条件的记录,可以使用FOUND,如果有满足条件的记录该函数返回真,否则返回假。LOCATE命令的常用结构是:,33,LOCA
21、TE FOR 表达式1 DO WHILE FOUND()/处理.CONTINUE ENDDO 此结构首先找到满足条件的第一条记录,接着在循环体内有关处理,然后使用命令CONTINUE找到下一条记录并进行处理。如此循环,一直到没有满足条件的记录为止。【例4-6】在STUD.DBF中查找学号前四位为0102的同学记录。USE STUD LOCATE FOR 学号=“0102,34,1表结构的复制【格式】COPY STRUCTURE TO FIELDS【功能】复制当前表文件的结构作为新表文件的结构。2表文件的复制【格式】COPY TO FIELDS FOR【功能】将当前打开的表文件复制到一个新生成的
22、表文件中,不但表结构连表记录都复制过来。,九、表的复制,35,【例4-7】复制STUD.DBF中所有女同学的记录到STUD2.DBF中。USE STUD COPY TO STUD2 FOR 性别=“女”USE STUD2 BROW USE,36,排序是从物理上对表进行重新整理,产生一个新的表文件。索引是从逻辑上对表进行重新整理,按照指定的关键字段的建立索引文件。一个表文件可以建立多个索引文件,但对于打开的表文件,任何时侯只有一个索引文件起作用,此索引文件称为主控索引。,第三节表的排序与索引,37,一、表的排序【格式】SORT TO ON/A|/D【功能】对当前打开的表,按指定的字段进行排序,生
23、成新的表文件。【说明】/A 表示升序/D 表示降序 当有多个关键字段时,先按字段1的值排列,其值相同的,再按字段2的值排列。该命令执行后,当前表不变,产生的新表不会自动打开。【例4-8】将STUD.DBF按性别进行降序排列 USE STUD SORT TO STUD2 ON 性别/D USE STUD2 BROW USE,38,二、索引的基本概念 1索引及索引文件的概述 索引是以索引文件的形式存在的,它根据指定的索引关键字表达式建立的。索引文件必须与原表一起使用,打开索引文件时,将改变表中记录的逻辑顺序,但并不改变表中记录的物理顺序。一个表文件可建立多个索引文件,也可同时打开多个索引文件,但在
24、同一时间内只有一个索引起作用,这个索引称为主控索引。Visual FoxPro系统中支持两种不同的索引文件类型,即单索引文件和复合索引文件。单索引文件是根据一个索引关键字表达式(或关键字)建立的索引文件,文件扩展名为.IDX,复合索引文件是指索引文件中可以包含多个索引标识的扩展名为.CDX。,39,复合索引文件又有两种:一种是独立复合索引文件;另一种是结构复合索引文件。结构复合索引文件是由Visual FoxPro自动命名的,与相应的表文件同名,扩展名为.CDX。当Visual FoxPro打开一个表时,便自动查找一个结构复合索引文件,如果找到便自动打开,该索引文件随表文件同时打开和同时关闭。
25、索引可分为下列四种类型:1.主索引 主索引是一个永远不允许在指定字段和表达式中出现重复值的索引。它也是在数据库表的永久关联中创建参照完整性时主表和被引用表使用的索引。每一个表只能建立一个主索引,只有数据库表才能建立主索引。,40,2.侯选索引 侯选索引也是一个不允许在指定字段和表达式中出现重复值的索引。数据库表和自由表都可以建立侯选索引,一个表可以建立多个侯选索引。3.唯一索引 系统只在索引文件中保留第一次出现的索引关键字值。数据库表和自由表都可以建立唯一索引 4.普通索引 是一个最简单的索引,允许关键字值的重复出现,适合用来进行表中记录的排序和查询,也适合于一对多永久关联中“多”的一边(子表
26、)的索引。数据库表和自由表都可以建立普通索引。,41,三、索引文件的建立1.命令方式【格式】INDEX ON TO|TAG ASCENDING|DESCENDING UNIQUE|CANDIDATE ADDITIVE【功能】对当前表文件按指定的关键字建立索引文件。TAG:此选项只对建立复合索引文件时有效,指定建立或追加索引标识的标识名。ASCENDING或DESCENDING:说明建立升序或降序索引,默认为生序。UNIQUE说明建立唯一索引。CANDIDATE说明建立侯选索引。ADDITIVE与建立索引本身无关,说明现在建立索引时是否关闭以前的索引,默认关闭已经使用过的索引,使新建立的索引成为
27、当前索引。单索引文件不能选用DESCENDING选项。,42,【例4-9】对STUD.DBF表文件建立出生日期单索引文件STUD.IDX。USE STUDINDEX ON 出生日期 TO STUD【例4-10】对表文件STUD.DBF,建立一个基于出生日期字段的结构复合索引文件。USE STUDINDEX ON 出生日期 TAG 出生日期 DESCENDING,43,2设置当前索引【格式】SET ORDER TO TAG ASCENDING|DESCENDING【功能】尽管结构索引在打开表时能够自动打开,或者打开了非结构复合化索引作为主控索引文件,在使用某个特定索引项进行查询或需要记录按某个特
28、定索引项的顺序显示时,则必须使用这个命令指定当前索引项。【说明】不管索引是按升序还是降序建立的,在使用时都可以用ASCENDING或DESCENDING重新指定升序或降序。,44,【例4-11】打开STUD.DBF表文件及其相关索引文件,并指定结构复合索引文件中的姓名为主控索引。USE STUD ORDER TAG 姓名 或 USE STUD SET ORDER TO 姓名 SET ORDER TO&使所有索引均无效,45,五、查询 对表记录的查询系统提供了两类查询命令:顺序查询和索引查询。顺序查找前面已经讲到,现在介绍索引查询。1。索引查询(FIND、SEEK)LOCATE命令用于按条件进行
29、顺序定位,无论索引文件是否打开都可使用。在打开索引文件后,还可以用FIND、SEEK命令进行快速检索。,46,1)FIND命令【格式】FIND/【功能】在表文件的主控索引中查找关键字值与 或相匹配的第一个记录。【说明】必须打开相应的索引文件。(1)只能查询字符串,字符串可以不用定界符括起来。(2)查询完满足条件的记录后,不能自然给出提示,常借助于EOF()函数来判断查询是否完成。【例4-12】打开表文件STUD.DBF,查找姓“李”的记录。USE STUD SET ORDER TO 姓名 FIND 李,47,2)SEEK命令【格式】SEEK【功能】在表文件的主索引中查找关键字值与值相匹配的第一
30、个记录。【说明】SEEK命令可以查找字符型、数值型、日期型、逻辑型表达式的值。表达式为字符串时,必须用定界符括起来。由于索引文件中关键字相同的记录总是排在一起的,可用SKIP、DISP命令来逐个查询。如果用SET EXACT ON命令,则匹配必须是精确的。【例4-13】用SEEK命令在STUD.DBF中查找记录。USE STUD SET ORDER TO 姓名 SEEK 孙,48,第四节数据完整性,数据完整性包括实体完整性、域完整性和参照完整性。一、实体完整性与主关键字 实体完整性是保证表中记录唯一的特性。即在一个表中不允许出现重复的记录。在VFP中利用主关键字或候选关键字来保证表中的记录唯一
31、。即保证实体唯一性。如果一个字段的值或几个字段的值能够惟一标识表中的一条记录,则这样的字段称为候选关键字。,49,二、域完整性与约束规则,域完整性又称字段有效性规则,建立字段有效性规则比较简单的方法仍然是在表设计器中建立。规则:输入一个逻辑表达式,如性别字段输入:性别=“男”OR 性别=“女”。对该字段输入数据时,VFP将根据表达式对其进行检验,如不符合规则,则要修改数据,直到符合规则才允许光标离开该字段。信息:指定输入有误时的提示信息,如“性别只能是男或者女”,默认:用于指定当前字段的默认值。在增加新记录时,默认值会在新记录中显示出来。,50,三、参照完整性与表之间的联系,1建立表之间的永久
32、联系 为了设置表的参照完整性,必须先在表之间建立永久联系。当插入、删除或修改一个表中的数据时,通过参照引用相互关联的另一个表中的数据,来检查对表的数据操作是否正确。,51,2设置参照完整性在设置参照完整性之前必须首先清理数据库。选择“数据库”菜单下的“清理数据库”。清理完数据库后,用鼠标右键单击表之间的联系,从快捷菜单中选择“编辑参照完整性”,将打开“参照完整性”生成器如图4-11所示。,图4-11 参照完整性规则,52,第五节自由表,在VFP中,每个表可以有两种存在状态:数据库表和自由表,使用何种表来处理数据取决于管理的数据之间是否存在某种关系以及关系的复杂程度。所谓自由表就是不属于任何数据
33、库的表。一、新建自由表 1.建立自由表的方法有以下几种:1)在项目管理器中,从“数据”选项卡选择“自由表”,然后选择“新建”命令按钮打开表设计器。2)确认当前没有打开数据库,单击“文件”菜单下“新建”。3)确认当前没有打开数据库,使用命令:CREATE 表名,53,二、将自由表添加到数据库,1.在项目管理器中,选择“表”,单击“添加”按钮。2.在数据库设计器中,可以选择“添加表”。3.运用ADD TABLE命令添加一个自由表到当前数据库,命令格式是:ADD TABLE 表名注意:一个表只能属于一个数据库,当一个自由表加入到某个数据库后就不再是自由表。因此也不能把属于另一个数据库的表添加到当前数
34、据库。,54,三、从数据库中移去表,1.在项目管理器中,选择所要移出去的表,单击“移去”按钮。如果选择“删除”则指不仅从数据库中移出该表,且从磁盘上删除该表。2.在数据库设计器中,选定要移出的表,选“移去表”按钮。3.命令方式:REMOVE TABLE 表名,55,1工作区和当前工作区 Visual FoxPro 能同时提供32767个工作区。系统默认值为1区。在任意时刻,只有一个工作区是当前工作区,用户只能在当前工作区对打开的表进行操作。每一个工作区都可以并且只能打开一个表文件。同一个表文件不允许同时在多个工作区打开,但在其它工作区中被关闭之后,可以在任意一个工作区中被打开。各工作区中打开的
35、表彼此相互独立(指针不受影响),第六节多表的操作,56,(1)工作区的选择【命令格式】SELECT/【功能】选择一个工作区作为当前工作区。【说明】选择工作区时,可以直接指定区号,也可以通过别名指定工作区,二者是等效的。此命令允许选用“0”号工作区。如果指定“0”,则表示选用当前未使用过的编号最小的工作区作为当前工作区。注:前10工作区用AJ 10个字母来标识,57,【例4-14】在1号和2号工作区内分别打开STUD.DBF和KC.DBF表文件,并选择1号工作区为当前工作区。SELECT 1&或SELECT A USE STUD SELECT 2 USE KC SELECT 12非当前工作区字段
36、的引用 当前工作区上的表可以进行任何操作,也可以对其他工作区中的表文件的数据进行访问。在当前工作区可通过以下两种格式访问其他工作区表中的数据。格式:-.,58,通过用工作区别名指定欲访问的工作区,所得到的字段值为指定工作区打开的表当前记录的字段值。【例4-15】在1号和2号工作区打开STUD.DBF和SC.DBF,在1号工作区内查看当前记录的学号、姓名、性别、出生日期、课程号、成绩等字段内容。SELECT AUSE STUD 号,SC.成绩,59,关联是把当前工作区中打开的表与另一个工作区中打开的表进行连接,当前工作区表的记录指针移动时,被关联工作区的表记录指针也将自动相应移动,以实现对多个表
37、的同时操作。1表文件关联的建立(1)一对一关联的建立 1)命令方式【格式】SET RELATION TO INTO|【功能】将当前工作区的表文件与(或工作区号)指定的工作区中的表文件按或建立关联。【说明】当用建立关联时,关键字必须是两个表文件共有字段,且别名表文件已按关键字段建立了索引文件,并已指定关键字段为主索引。当父表文件的记录指针移动时,子表文件的记录指针根据主索引文件指向关键字段值与父表文件相同的记录。,三、表的关联,60,【例4-16】将表文件STUD.DBF和SC.DBF以学号为关键字段建立关联。SELECT 2 USE SCINDEX ON 学号 TAG 学号 SET ORDER TO TAG 学号 SELECT 1USE STUDSET RELATION TO 学号 INTO 2,61,2)菜单方式 选择【窗口】|【数据工作期】。,62,3取消表的关联 命令 SET RELATION TO 取消当前表与其他表之间的关联。关闭表文件,关联都被取消,下次打开时,必须重新建立。,63,结束,