您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > (第4章-4)多表操作
1第4章数据库及表的基本操作——多个表的操作2教学目的:1.了解表的关系及关系的种类2.掌握永久关系的建立和编辑方法3.掌握工作区的概念与多表操作方法4.掌握表间临时关系的建立和使用方法重点:工作区的概念与多表操作、表间的关联难点:多工作区中表的使用34.7.5建立表之间的永久关系1.永久关系和临时关系表间的关系分“永久关系”和“临时关系”。临时关系只是在使用时临时建立的表间联系。永久关系是被存放在数据库中的数据表间联系,它将随数据库长期保存,随着数据库的打开而打开、关闭而关闭。永久关系只能在数据库表之间建立。每当在“查询设计器”或“视图设计器”中使用表,或者在创建表单时所用的“数据环境”中使用表时,这种永久关系将作为表间的默认连接。4建立关系的两个表中,当前表叫父表,被关联的表叫子表。建立永久关系时,一般要求两个要建关系的数据表中要存在相同的关键字,同时要求每个数据表事先分别以该关键字建立了索引。在一对一关系表中,父表和子表均应按相同的关键字建立主索引或候选索引;而一对多关系表中,父表应建立主索引或候选索引,子表建立普通索引。4.7.5建立表之间的永久关系52.建立和删除永久关系1)建立永久关系先为两个表按关联的关键字分别建立索引,再在数据库设计器中按住父表的主索引,拖到子表的相应索引名上,可以看到在两个表的相关索引上产生了连线,即建立了关系。2)删除永久关系在数据库设计器中,单击关联线,变粗后说明被选中,按Del键即可删除。4.7.5建立表之间的永久关系6在数据库设计器中,关联被选中后,执行主菜单“数据库”→“编辑关系”(或在快捷菜单中选择“编辑关系”),会打开对话框,可以在“表”和“相关表”的下拉列表框中,重新选择相应索引字段,改变原来的关联。3.编辑永久关系4.7.5建立表之间的永久关系7建立参照完整性,可以对表之间的更新、删除和插入操作进行设置。4.7.6设置参照完整性8关系的完整性约束实体完整性实体是必须存在并且可以互相区分的引用(参照)完整性关系中所引用的属性值是必须存在的用户定义完整性定义属性的取值范围等93.7.1工作区1.工作区的概念用USE命令打开一个表时,同时也就关闭了前面打开的表。为建立多个表之间的联系,必须同时打开这些表,这就要使用到多个工作区。每个工作区只允许打开一个表。103.7.1工作区2.工作区号与别名VFP为用户提供了32767个工作区,每个工作区都有一个工作区号,分别为1~32767。工作区别名:工作区1~10还分别有别名A~J,工作区11~32767分别有别名W11~W32767。11表别名:每一个打开的表文件都有一个文件别名,当用USE表文件名打开表时,系统默认表文件名就是它的别名。也可为表文件另起一个别名。格式:USE表文件名ALIAS别名功能:打开表文件并为该表起一个别名。说明:别名的命名同字段名。3.7.1工作区123.工作区的选择格式:SELECT工作区号|别名|0功能:把工作区号或别名所指定的工作区转变为当前工作区。说明:SELECT0是指选择尚未使用的最小工作区。3.7.1工作区134.工作区的互访在对表文件进行操作时,当前工作区的字段可以直接引用。如果在当前工作区要使用另一个工作区的表字段,则采用如下形式进行引用:别名-字段名别名.字段名3.7.1工作区144.7.2表的关联在不同工作区中分别打开的两个表之间是彼此独立的,用户可以通过设置表间的临时关系来使两个表之间发生关联。临时关系是在使用时临时建立的表间联系。一旦关闭表临时关系也就消失了。临时关系可在任何表之间建立。临时关系可以实现多个数据表之间记录指针的联动,即当一个表的记录指针移动时另一表的记录指针能随之移动。临时关系可以通过“数据工作期”或命令建立。151.数据工作期含义是VFP的一个独立工作状态和操作环境。其中包含了在工作区中打开的数据表、索引及表间关联,并为表单、报表等提供了动态的工作环境。在该窗口设置的工作环境可作为视图文件保存起来。主菜单“窗口”→“数据工作期”;常有工具栏“数据工作期窗口”按钮;命令:SET(或SETVIEWON)。打开主菜单“文件”→“关闭”;窗口的“关闭”按钮;命令:SETVIEWOFF。关闭4.7.2表的关联16在“数据工作期”窗口建立临时关系(1)在“数据工作期”窗口打开需要建立关联的表;(2)为子表按关联的关键字建立索引或确定主控索引;(3)选定父表工作区为当前工作区,使用“关系”按钮与一个子表建立关联;(4)选定父表工作区为当前工作区,使用“一对多”按钮可与一个子表建立一对多关联;4.7.2表的关联17格式:SETRELATIONTO表达式1INTO工作区1|别名1[,表达式2INTO工作区2|别名2…][ADDITIVE]2.用命令来建立关联功能:以当前表为父表与其它一个或多个子表建立临时关联。说明:表达式为父表的关联表达式,其值将与子表的索引表达式的值相对应。工作区|别名表示子表或其所在工作区,且子表必须按关联的关键字建立索引或确定主控索引。ADDITIVE为不取消以前的关联。4.7.2表的关联18建立“一对多”的关联命令格式:SETSKIPTO工作区号1|别名1[,工作区号2|别名2…]功能:在父表的每条记录与子表中所对应记录之间建立“一对多”的关联。说明:执行SETSKIPTO命令,可取消父子之间“一对多”的关联,但父子关联仍然存在。4.7.2表的关联19例:建立school表与student表之间的一对多关联,并显示学校表的学校编号、校名和学生表的学号、姓名。Sele2UsestudentSetordertosch_numberSele1UseschoolSetrelationtosch_numberintobListsch_number,sch_name,b.s_number,b.s_nameSetskiptobListsch_number,sch_name,b.s_number,b.s_name4.7.2表的关联203.取消表的关联命令格式1:SETRELATIONTO功能:解除全部父子关联。命令格式2:SETRELATIONOFFINTO工作区号|别名功能:解除父表与工作区号或别名所指定的子表之间的关联。说明:此两条命令都必须在父表所在的工作区执行。4.7.2表的关联21上机练习VFP上机实验指导书上的《实验5索引及建立表之间的永久关系》中的“练习建立表之间的永久关系”这部分。《实验6多工作区操作》说明:将实验6练习中的(1)~(12)小题要使用的命令按顺序保存在sy6.prg程序文件中。
本文标题:(第4章-4)多表操作
链接地址:https://www.777doc.com/doc-3983013 .html