第5章 数据库的创建与操作.doc_第1页
第5章 数据库的创建与操作.doc_第2页
第5章 数据库的创建与操作.doc_第3页
第5章 数据库的创建与操作.doc_第4页
第5章 数据库的创建与操作.doc_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第5章 数据库的创建与操作教学目标与要求: 熟练掌握数据库的建立及其操作熟练掌握在操作数据库中表熟练掌握设置表 熟练掌握表间关系及多表操作教学重点难点: 工作区 表关系的建立 多表操作学习指导:Visual FoxPro是一个优秀的关系型数据库管理系统,管理数据库是它的基本功能。在Visual FoxPro中,数据库实际上是一个容器,用于管理存放各种数据对象,而且这些数据对象是以数据表为单位组织的,数据库文件的扩展名为.DBC。前面章节介绍的表是指游离于数据库之外的自由表,这些表一旦放入数据库中就成为数据库表。一个数据库中可包含若干张数据表,表和表之间可建立关系。本章主要介绍数据库的建立和操作以及对数据库中数据表的操作等内容,这是数据库系统开发应用程序的基础。教学内容:5.1数据库的建立与基本操作5.1.1 数据库的建立数据库的建立一般采用两种方法:一是使用菜单命令建立数据库;二是使用键盘命令建立数据库。1. 使用菜单命令建立数据库下面以在“D:学籍项目”文件夹下创建“学生库.DBC”为例说明具体建立方法。步骤如下:(1) 在系统菜单中打开“文件”菜单,选“新建”命令,或直接单击工具栏上的“新建”按钮,出现如图5-1所示的“新建”对话框。图5-1 “新建”对话框(2) 在“新建”对话框中选“数据库”项,然后单击“新建文件”按钮,出现如图5-2所示的“创建”数据库对话框。(3) 在“创建”对话框中的“数据库名”栏中输入库文件名:学生库;在“保存在”栏中选好要保存的文件夹D:学籍项目。(4) 单击“保存”按钮,即可进入,“数据库设计器”窗口,如图5-3所示。图5-2 “创建”对话框图53 “数据库设计器”窗口(5) 至此,建立好了一个没有内容的空的数据库。后面接着可以在该数据库中建立数据表或往里添加已建好的自由表。2. 使用键盘命令建立数据库在Visual FoxPro中,也可以在命令窗口通过键盘输入命令建立数据库。命令格式:CREATE DATABASE | ?命令功能:创建一个数据库并打开它,所建库文件的文件名由命令给定。说明: 若缺省路径,则所建库文件将存人默认路径中;若缺省扩展名,系统默认其扩展名为.DBC。 若命令中未指明库文件名或以“?”来代替,则将显示如同图5-2所示的“创建”对话框,请求用户指定库文件名和存取路径。例5-1 在“D:学籍项目”文件夹下建立一个名为“教职工.DBC”的数据库文件。在命令窗口中键人以下命令: SET DEFAULT TO D:学籍项目 CREATE DATABASE 教职工 & 建立“教职工”库文件若要打开数据库设计器窗口,还要键人如下命令:MODIFY DATABASE5.1.2 数据库的基本操作 1. 数据库的打开在Visual FoxPro中,打开数据库的方法有:(1) 通过菜单栏中的“打开”命令或工具栏上的“打开”按钮打开数据库在系统菜单栏中选择“文件”菜单中的“打开”命令或直接单击系统工具栏上的“打开”按钮,出现“打开”对话框,选择文件类型为数据库,再选择要打开的数据库文件名,最后单击“确定”按钮即可。(2) 使用键盘命令打开数据库命令格式:OPEN DATABASE | ? EXCLUSIVE | SHARED命令功能:打开指定的数据库文件。说明:若数据库名省略或是“?”,则出现“打开”对话框,需要选择数据库名。例5-2 打开“D:学籍项目”文件夹下名为“学生库.DBC”的数据库文件。在命令窗口中键入以下命令: SET DEFAULT TO D:学籍项目OPEN DATABASE 学生库 &打开学生库文件若要打开数据库设计器窗口,同样还要键入如下命令:MODIFY DATABASE2. 数据库的关闭若想关闭数据库,可以通过键盘命令来实现。命令格式:CLOSE DATABASE命令功能:关闭当前打开的数据库,同时关闭了这个数据库中已经打开的各种文件。5.2 在数据库中表的操作在Visual FoxPro数据库管理系统中,建立好的表应该放入数据库中统一管理。用户可把不属于任何数据库的自由表添加到某个数据库中。若要把一个数据库中的表移到另一个数据库中,必须先得把该表从所属的数据库中移去变为自由表后,然后才能再添加到另一个数据库中。自由表字段名长度10,数据库表字段名长度1285.2.1 向数据库中加入自由表向数据库中添加表有两种方法: 在数据库设计器中添加表下面把“学生基本情况表.DBF”添加到“学生库”中,以此为例讲解该种方法。(1) 打开“学生库”,出现如图5-3所示的“数据库设计器学生库”。(2) 打开“数据库”菜单项,选择“添加表”命令,或直接单击“数据库设计器工具栏”上的“添加表”按钮,出现如图5-4所示的“打开”对话框。图5-4 “打开”对话框(3) 在“打开”对话框中选择好要添加的表,然后单击“确定”按钮,则返回到“数据库设计器”窗口,这时可以看到添加好的结果,如图5-5所示。图 5-5 添加表后的“数据库设计器-学生库”(4) 最后再单击图4-5所示的“数据库设计器”窗口右上角的“关闭”按钮关闭“数据库设计器”。2. 使用ADD TABLE 命令添加表下面再把“学生成绩表1.DBF”表添加到“学生库”中。要完成这项操作在命令窗口键入以下命令: SET DEFAULT TO D:学籍项目 OPEN DATABASE 学生库 ADD TABLE 学生成绩表1 &往当前库中添加表 CLOSE DATABASE &关闭库例5-3 建立一个自由表 “课程表.DBF”,并把其添加到“学生库”中,该表内容如下:表5-1 课程表.DBF课程编号(C,3)课程名称(C,10)学分(N,1,0)任课教师(C,6)开课学期(C,1)001计算机基础3刘雪莹1002数据库2王永刚2003C语言4孙 杰4在命令窗口键入如下命令: SET DEFAULT TO D:学籍项目 CREATE TABLE 课程表 &打开表设计器建立“课程表” OPEN DATABASE 学生库 &打开库 ADD TABLE 课程表 &往当前库中添加表 CLOSE DATABASE &关闭库5.2.2 从数据库中移去表当数据库中不再需要某个表或其它数据库需要添加某个表时,可以或需要从该数据库中移去某个表,使之成为自由表。与添加表相对应,也有以下两种移去方法: 从数据库设计器中移去表(1) 打开数据库,在出现的如同图5-5所示的“数据库设计器”对话框中单击选中要移去的表。(2) 然后打开“数据库”菜单项,选择其中的“移去”命令,或者直接单击“数据库设计器工具栏”上的“移去表”按钮,这时出现如图5-6所示的确认框。图 5-6 移去表确认框(3) 若要移去表,则单击“移去”按钮即可。(4) 最后再关闭“数据库设计器”。2. 使用REMOVE TABLE 命令移去表下面再把“学生成绩表1.DBF”表从“学生库”中移出。要完成这项操作在命令窗口键入以下命令: SET DEFAULT TO D:学籍项目 OPEN DATABASE 学生库 REMOVE TABLE 学生成绩表1 &从当前库中移去表 CLOSE DATABASE &关闭库523使用其它数据库中的表(见课本99) 打开多个数据库并设置当前数据库 在Visual FoxPro中,用户可根据需要使用OPEN DATABASE命令打开多个数据库,但是只能有一个是当前数据库,一般情况,最后(新)打开的数据库是当前数据库。所有数据库可以使用的命令都是对当前库而言。但是当前数据库还可以用SET DATABASE TO 命令来重新设置,当省略时,则没有指定当前数据库。 打开其它数据库中的表 要打开一个非当前数据库中的表,可使用命令: USE ! 例:假设有一名为“教师库.DBC”数据库,其中有一个“课程.DBF”的表文件。若当前数据库为“学生库.DBC”,要浏览“课程.DBF”的表文件,可以使用如下命令: OPEN DATABASE 学生库 &打开“学生库”使其为当前库 USE 教师库! 课程 &打开其它数据库中的表 LIST &显示“课程”表文件内容总之,在Visual FoxPro中,有两种使用表的方法:一种是打开一个数据库再使用其中的表;另一种是不打开数据库而使用其中的表。5.3设置表在“表设计器”对话框中 ,通过“字段”和“表”选项卡还可以对表进行进一步设置,应该注意的是只有数据库表才能进行有关属性的设置,自由表是不能进行属性设置的。531设置字段的属性(见课本99页)在“表设计器”对话框中,通过“字段”和“表”选项卡还可以对表进一步进行设置。应该注意的是只有数据库表才能进行有关属性的设置,自由表是不能进行属性设置的。 打开“表设计器”对话框,在“字段”选项卡中对字段的有关属性进行设置。 1. 设置字段注释字段注释是对字段的说明信息,将和字段一同保存,但在浏览表时并不显示出来。其设置方法是:首先在“字段名”栏中选中需要设置注释的字段,然后在“字段注释”文本框里输入注释信息即可。 2. 设置字段的显示属性要为某字段设置显示属性,首先在图5-7所示的“字段名”栏中选中该字段,再在“显示”组框内为该字段设置各项显示属性。 格式:用于确定一个字段在表单、浏览窗口或报表中的显示格式,它实际上是字段的输出掩码。下面是常用的格式码: D使用当前系统设置的日期格式。 L当输出数值型数据时,用0代替前导空格。 T禁止输入字段的前导空格和结尾空格字符。 ! 把输出的小写字母转换为大写字母。 $显示当前系统设置的货币符号。 *在数值型数据的左侧显示“*”号 .用于指定数值型数据的小数点位置 ,用于分隔小数点左边的整数部分,一般用来分隔千分位。 输入掩码:用于指定字段的输入格式。使用输入掩码可以屏蔽非法输入,减少人为的数据输入错误,保证输入的字段数据格式统一、有效。下面是常用的输入掩码。 X可输入任何字符。 9可输入数字和正负符号。 A只允许输入字母(禁止输入数字、空格或标点符号) #可输入数字、空格和正负符号。 Y只允许输入逻辑值Y,y,N,n,并把y和n分别变为Y和N。 N只允许输入字母和数字。 标题:通过为字段设置标题可以定制表的浏览效果。 3. 设置字段的有效性规则字段的有效性规则用来验证该字段的输入数据是否合法,可通过“字段有效性”组合框来进行设置。 首先选中要设置的字段,在“规则”文本框中键入有效性表达式,或单击右边的“”按钮,在出现的“表达式生成器”对话框中设置有效性表达式。然后在“信息”文本框中输入当违反有效性规则时的报错信息(必须用引号括起来)。 在为字段设置了有效性规则后,若输入该字段的数据非法,则会出现一个警告框,提示用户重新输入,警告框中的信息就是在“信息”文本框中输入的报错信息。 4. 为字段设置默认值在向表中输入记录时,有时会出现这样的情况:多个记录的某个字段取值相同。为此,可把一些频繁出现的值设置为该字段的默认值。这样,在为表追加记录时,系统就会自动给该字段赋默认值,用户可不用再输入。 为字段设置默认值的方法是:首先选中要指定默认值的字段,在“默认值”文本框中输入字段的默认值即可。5.3.2 设置表的属性 在表设计器中,除了可以设置字段的属性,还可以打开“表”选项卡,为整个表或表中记录设置各种属性。 1. 为表设置长名用户可以为数据表设置一个长表名,以便于标识。具体设置方法是在“表名”文本框中输入用户指定的长表名。但这个“表名”不同于表文件名,为表设置长表名后,并不改变表文件名。缺省情况下表文件名就是表名,也就是长表名。自由表名长度10,数据库表名长度128 2. 设置有效性规则为记录设置有效性规则,可通过“记录有效性”组框进行设置。 规则:在该文本框中输入一个合法的表达式作为记录有效性规则。当输入的记录数据使该表达式值为.T.时,认为输入的记录合法;否则,认为输入的记录非法,并显示报错信息。 信息:在该文本框中输入一个字符型的表达式(必须用引号括起),它是记录没有通过有效性检验时显示的报错信息。如果不进行该项设置,则系统将显示一个默认报错信息。3. 设置触发器触发器是一个记录级的事件代码。在对表中记录进行插入、更新或删除时激活,调用要执行的语句或存储过程,不同的事件可对应不同的操作。在Visual FoxPro中,有三种类型的触发器: 插入触发器:每次向表中插入或追加记录时触发。 更新触发器:每次更新表中记录时触发。 删除出发器:每次从表中删除记录时触发。 要设置触发器,只需在相应的文本框中输入要调用的表达式或存储过程名即可。 5.4 建立表间关系在一个数据库中,通常包含若干张表,这些表之间并非彼此完全独立,而是相互有联系的。建立数据表之间的关系,不仅可以真实地反映客观世界的联系,而且减少了数据的冗余,提高了数据存储的效率。从而也使信息的查询变得可行有效。表之间的关系包括永久关系和临时关系两种。永久关系是建立在数据库表间的关系,这种关系一旦建立,它们就存储在数据库中,不会随着使用的结束或库表的关闭而消失。临时关系则是在使用过程中临时根据需要在表间建立的关系,一般称为表的关联。表间的这种关系不保存在数据库文件中,它们会随着使用的结束或库表的关闭而自动消失。本节讲的表间关系指的是永久关系。通常,表与表之间主要存在两类种关系:一对一关系:一个表的一条记录对应另一个表的一条记录。一对多关系:一个表的一条记录对应另一个表的多条记录。这里的第一个表通常称之为父表,另一个表称之为子表。要想在两表之间建立关系,两表之间必须要有相同(公共)的字段,而且父表要按该字段建立主索引或侯选索引,子表也要按该字段建立索引。若子表按该字段建立的是主索引或侯选索引,那么父子表之间可建立一对一关系,即父表的一条记录对应着子表的一条记录;若子表按该字段建立的是普通索引,则父子表之间建立的是一对多关系,即父表的一条记录对应着子表的多条记录。541 创建表间关系下面打开“学生库.DBC”数据库文件,把其中的“学生基本情况表.DBF”作为父表,把“学生成绩表1.DBF”作为子表1,把“学生成绩表2.DBF”作为子表2,以“学号”字段作为关键字段,在父表与子表1间建立一对一关系,在父表与子表2间建立一对多关系。创建表间关系方法如下:(1) 打开要创建表间关系的数据库,在此打开“学生库”,进入数据库设计器,(2) 为需建立关系的各表按“学号”字段建立好相应类型的索引。在此,父表按“学号”建立“主索引”,子表1按“学号”也建立“主索引”,子表2按“学号”建立普通索引。如图4-7所示,其中带钥匙图标的是主索引。(3) 建立表间关系。在数据库设计器中,用鼠标左键按住父表的“学号”索引,分别将其拖放到想建立关系的子表1和子表2的“学号”索引上即可。这时建立好关系的表之间会出现一条连线,其中不带分岔的一端表示关系中的“一方”,而带有分岔的一端则表示关系中的“多方”,如图5-9所示。图 5-9 在“数据库设计器”中建立表间关系5.4.2 删除表间关系如果要删除已建立的表间的某个关系,用鼠标单击对应的关系连线,此时,该关系连线变粗,按“DEL”键即可;或把鼠标移到关系连线上单击右键,从弹出的快捷菜单中选择“删除关系”命令,也可将关系删除。5.4.3 编辑表间关系要编辑表间关系,只需用鼠标右键单击关系连线,从弹出的快捷菜单中选择“编辑关系”命令,将打开“编辑关系”对话框,可在该对话框中对关系进行编辑。或直接用鼠标双击相应的关系连线,也可打开“编辑关系”对话框。5.4.4 编辑参照完整性为了使数据库中的数据保持一致性,一般应遵循参照完整性规则,从而使得在表中插入、删除、更新记录时,能保持已定义的表间关系。编辑参照完整性是在“参照完整性生成器”对话框中进行的,进入该对话框并具体进行编辑的方法是:(1) 首先从“数据库”菜单项中选择“清理数据库”命令。 (2) 选择以下三种方法之一进入“参照完整性生成器”对话框:l 在“编辑关系”对话框中单击“参照完整性”按钮。l 在“数据库设计器”中右击鼠标,从快捷菜单中选择“编辑参照完整性”命令l 选择“数据库”菜单项中的“编辑参照完整性”命令。 (3) 在如图5-10所示的“参照完整性生成器”对话框中设置更新、删除、插入父表与子表记录时应遵循的规则。l “更新规则”选项卡:用于设置当修改父表中的关键字值时所用的规则。l “删除规则”选项卡:用于设置当删除父表中的记录时所用的规则。l “插入规则”选项卡:用于设置在子表中插入新记录时或者更新已存在的记录时应遵循的规则。图 5-10 “参照完整性生成器”对话框对于更新和删除规则,有三种选择:“级联”、“限制”和“忽略”;对于插入规则,则只有“限制”和“忽略”两种。下面分别进行介绍:l 级联:在对父表中的主关键字段(主索引的索引字段)或侯选关键字段(侯选索引字段)进行更新或删除时,同时自动更新或删除子表中相关的关键字段值。l 限制:当子表中有相关记录时,禁止更新或删除父表中的主关键字段或侯选关键字段的值。对于“插入规则”,若选择此项,则当在子表中插入记录时,若父表中不存在相匹配的关键字值时,则将禁止该插入操作。l 忽略:忽略父表与子表的关系,不限制父表中关键字段的更新。(4) 完成参照完整性设置后,单击“确定”按钮,并在弹出的确认对话框中选择“是”,则系统将生成参照完整性代码,并把这些代码存储在数据库中。5.5 多表的操作5.5.1 使用数据工作期回忆:命令格式:USE ALIAS EXCLUSIVE | SHARED IN 0命令功能:关闭掉原来已打开的表文件,同时打开指定表文件。如果该表文件有备注型字段,则同时打开与表文件同名、扩展名为.FPT的备注文件。同时给表命名一个别名。说明:一般情况下,表文件名不复杂时不需给表命名别名,若没有给表命名别名,则系统默认表文件名为表的别名。其中选项EXCLUSIVE以独占方式打开表,即不允许其他用户在同一时刻使用该表; SHARED以共享方式打开即允许其他用户在同一时刻使用该表.默认打开方式由 SET EXCLUSIVE ON | OFF 命令设置,默认 ON. :盘符路径.扩展名1. 工作区的操作要对表进行操作,首先得打开表,打开表实际上是把表从磁盘调入内存的某个工作区。若要使用多个表,就要使用多个工作区,一个工作区中只能打开一个表。需要打开多个表时,先得用SELECET命令选择好工作区。Visual FoxPro提供了32767个工作区,编号依次为132767。前10个工作区除使用110为编号外,还可用AJ共10个字母来表示,工作区1132767还可用WllW32767来表示。工作区的名号还可用表的别名来表示,若打开表时,未给表起别名,则表文件名就是表别名。工作区的选择命令如下:命令格式:SELECT 命令功能:选择指定的工作区为当前工作区或切换当前工作区到指定工作区。说明:别名可用是表名或表的别名。特别 SELECT 0 可以选定区号最小的空白区若打开表之前没有选择工作区,则系统默认为1号工作区为当前工作区。另外,可以使用“窗口”菜单中的“数据工作期”命令在打开的如图5-11所示的“数据工作期”窗口中看到工作区的使用情况。图 5-11 “数据工作期”窗口数据工作期是用来设置工作环境的。“数据工作期”窗口包括三个部分:左边的“别名”框用于显示迄今为止已打开的表,并可从多个表中选定一个当前表;右边的“关系”列表框用于显示建立了临时关系的表即关联的表;中间的6个功能按钮,可用来对表进行一些操作。窗口底部显示了当前表所属的数据库名,当前表处于的工作区及表中所包含的记录数。2在工作区中打开表单击“数据工作期”窗口中的“打开”按钮,弹出如图5-12所示的“打开”对话框,在该对话框中选择要打开的表,也可以单击“其他”按钮打开其他数据库中的表,选好单击“确定”按钮即可看到后面打开的表顺次打开在2、3号工作区,如图5-13所示。单击该窗口中的“属性”按钮,可在打开的“工作区属性”对话框中对表进行多种设置和修改。而单击“浏览”按钮可以浏览当前表的内容。图5-12“打开”对话框3在工作区中关闭表单击“数据工作期”窗口中的“关闭”按钮,可以关闭当前工作区中的表,同时也关闭了当前工作区。图 5-13 打开三张表后的“数据工作期”窗口5.5.2 表的关联要查询多个表中的数据时,关联方法是常用的手段之一。所谓关联,就是对不同工作区中所打开的表的记录指针之间建立一种临时联动关系,从而使一个表的记录指针移动时,另一个表的记录指针能随之移动。关联是在表之间建立的一种临时关系,这种关系会随着使用结束后库表的关闭而自动消失。建立关联的两个表,必须要有相同(公共)的字段,其中一个是父表,一个是子表,而且子表还要以该字段建立索引并且要设置该索引为主控索引。在执行涉及这两个表数据的命令时,父表记录指针的移动会使子表记录指针自动移动到满足关联条件的记录上。父子表之间的关联一般有三种关系:一对一;一对多;多对一。 在“数据工作期”窗口建立关联下面把“学生库.DBC”中的“学生基本情况表.DBF”作为父表,把“学生成绩表1.DBF”作为子表1,把“学生成绩表2.DBF”作为子表2,以“学号”字段作为关联字段,在父表与子表1间建立一对一关联,在父表与子表2间建立一对多关联。具体方法如下:(1) 选择“窗口”菜单项中的“数据工作期”命令打开“数据工作期”窗口,并用“打开”按钮分别打开上述的三个表,如同图5-13所示。(2) 在“别名”列表框中选定子表1,单击“属性”按钮,进入“工作区属性”对话框,在“索引顺序”栏中为该表设置主控索引为“XH”,如图5-14所示。同样再选定子表2,也把“XH”索引设置为主控索引。(3) 在“别名”列表框中选择父表,然后单击“关系”按钮,再在 “别名”列表框中选择子表1,则进入如图5-15所示的“表达式生成器”对话框。(4) 在对话框中的“字段”列表中双击“学号”字段,这时在“SET RELATION”栏中就会出现该字段,最后单击“确定”按钮即可返回“数据工作期”窗口。(5) 同样的方法先可在父表和子表2之间建立一对一关系。若要进一步在父表和子表2之间建立一对多关系,需先在“别名”表中选定父表,然后单击“一对多”按钮,则出现如图5-16所示的“创建一对多关系”对话框。图 5-14 “工作区属性”对话框图5-15 “表达式生成器”对话框图 5-16 “创建一对多关系”对话框(6) 在该对话框中的“子表别名”列表中选择子表2,再单击“移动”按钮使子表2进入“选定别名”列表框中。最后单击“确定”按钮便回到如图5-17所示的“数据工作期”窗口。在该窗口中的“关系”列表框中可看到建立好的临时关系。图 5-17建立好关联的“数据工作器”窗口建立好关联后,就可以在“学生基本情况表.DBF”所在的工作区1里联访其它两个子表的数据。只是要注意:在当前工作区访问其它非当前工作区表的数据时,联访格式为:“工作区别名号.字段名”或“工作区别名号-字段名”如在命令窗口键入如下命令:LIST FOR 性别=女 FIELDS 学号,姓名,性别,入学成绩,B.总分,C-课程号,C.成绩屏幕显示结果如下:图 5-182. 在命令窗口通过键盘命令建立关联建立关联也可以通过SET RELATION命令来建立。命令格式:SET RELATION TO INTO |ADDITIVE命令功能:该命令使INTO后面所指的工作区中的表与当前工作区中的表按关联起来。其中当前工作区中的表为父表,别的工作区的表为子表。当当前表记录指针移动时,子表的记录指针根据主控索引,指向与之匹配的第一条记录。否则记录指针指向索引尾部,EOF()为.T.说明: 在执行该命令之前,子表要按建立索引并且设置该索引为主控索引。 若命令中未选用ADDITIVE项,则父表原先建立过的关联自动取消;否则本命令建立的新关联并不影响父表原先建立的关联。 若要建立一对多关联,在执行完关联命令后,还要用SET SKIP TO |命令。例5-5 在表“系别表.DBF”和“学生基本情况表.DBF”之间建立一对多关联。在命令窗口键入如下命令: SET DEFAULT TO D:学籍项目 USE 系别表 SELECT 2 USE 学生基本情况表 INDEX ON SUBSTR(学号,5,2) TAG 系代码 SELECT 1 SET RELATION TO 系代码 INTO B SET SKIP TO B LIST 系代码,系名称,B.学号,B.姓名屏幕显示结果如下:图 5-193取消关联(1) 解除父表与所有子表的关联:命令格式:SET RELATION TO 命令功能:解除当前工作区中的父表与所有子表的关联说明: 该命令必须在父表所在的工作区执行。 关闭父表也会解除该父表与所有子表的关联。(2) 解除父表与某个子表的关联:命令格式:SET RELATION OFF INTO |命令功能:解除当前工作区中的父表与|所指定的子表之间的关联说明: 该命令也必须在父表所在的工作区执行。 关闭子表也会解除父表与该子表之间的关联。5.5.3 表的连接JOIN命令表的连接就是从两个表中各取出一些字段,组成一个新的表文件。执行连接对两个被连接的表文件均无任何影响,新表文件一旦形成就成为一个独立的表文件。命令格式:JOIN WITH | TO FOR FIELDS 命令功能:该命令把当前表文件与|所指定的表文件按照FOR连接起来,生成一个新表文件。说明: 若缺省FIELDS选项,则生成的新表包含两个相连接的表的所有字段;否则只包含中所列举的字段。 生成的新表文件是未打开的磁盘文件,要想看其内容,先要打开该表。 假如被连接的两个表中分别有m和n条记录,那么如果缺省FOR项,则要连接生成mn条记录;否则按照FOR来连接。因此,该命令一般不能缺省FOR,而且被连接的两个表要有相同的字段或字段表达式,才会使连接有意义。例5-6 把表“系别表.DBF”和“学生基本情况表.DBF”连接起来生成一个新表“学生表.DBF”。在命令窗口键入如下命令: SET DEFAULT TO D:学籍项目 USE 系别表 SELECT 2 USE 学生基本情况表 JOIN WITH A TO 学生表 FOR SUBSTR(学号,5,2)=A.系代码 FIELDS A.系代码, A.系名称, 学号,姓名 ,性别, 出生日期 USE 学生表 LIST 屏幕显示结果如下:图 5-205.5.4 用非当前表文件修改当前表文件命令UPDATE命令格式:UPDATE ON FROM | REPLACE WITH , WITH RANDOM命令功能:根据值相同原则,用|所指定的表文件的内容替换当前表文件的内容。说明: 必须是两个表共同字段;是当前表文件的字段,其内容是被更新的对象;中可以包含当前表的内容,也可以包含|所指定的表文件的内容。 若不使用RANDOM子句,则当前表与另外工作区的表都必须按照的升序建立索引或排序,而且是主控索引;否则,当前表建立索引即可。例5-7 在刚生成的“学生表.DBF”中添加一个新字段(成绩N,3,0),然后用“学生成绩表1.DBF”中的“平均”字段值给该字段充值。在命令窗口键入如下命令: SET DEFAULT TO D:学籍项目USE 学生表MODIFY STRUCTURE INDEX ON 学号 TAG 学号LIST屏幕显示结果如下:图 5-21 SELECT 2 USE 学生成绩表1 SELECT 1 UPDATE ON 学号 FROM B REPLACE 成绩 WITH B-平均 RANDOM LIST 屏幕显示结果如下:图 5-22本章小结:本章首先介绍了数据库的建立及基本操作,然后介绍了在数据库中对表的操作,包括向数据库中添加自由表,从数据库中移去或删除数据库表,以及使用其它数据库中的表等基本操作。为了便于进行多表操作,还可以建立表间关系,包括永久关系和临时关系两种。永久关系是建立在数据库表间的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论