(第4章-4)多表操作(10最终修改)_第1页
(第4章-4)多表操作(10最终修改)_第2页
(第4章-4)多表操作(10最终修改)_第3页
(第4章-4)多表操作(10最终修改)_第4页
(第4章-4)多表操作(10最终修改)_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

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

文档简介

1、1,第4章 数据库及表的基本操作 多个表的操作,教学内容 工作区 表的关联(临时关系) 创建表之间的永久关系 教学目的 了解表的关系及关系的种类 掌握永久关系的建立和编辑方法 掌握工作区的概念与多表操作方法 掌握表间临时关系的建立和使用方法 重点:工作区的概念、多表操作、表间的关联 难点:多工作区中表的使用,3,4.8 多个表文件的操作,表的关联 表的连接 表间数据更新 数据库表的永久关系 设置参照完整性,4,4.8.1 工作区,工作区的概念 用USE命令打开一个表时,同时也就关闭了之前打开的表。为建立多个表之间的联系,必须同时打开这些表, VFP引入了“工作区”概念。 每个工作区只允许打开一

2、个表。,工作区的编号与别名 工作区的编号:数字,从1到32767 工作区的别名:字母,前10个工作区的别名是字母A到J,10号工作区以后的别名是W11到W32767 表别名 每一个打开的表文件都有一个文件别名 当用USE打开表时,系统默认表文件名就是它的别名 为表文件另起别名(别名的命名同字段名) USE ALIAS ,选择工作区(SELECT 命令) 格式:SELECT |0 功能:把工作区号或别名所指定的工作区转变为 当前工作区。 说明: 用SELECT 0选择一个区号最小的空闲工作区 用USE命令直接指定在那个工作区打开表,只要带上“IN 区号”子句即可。如: USE 学生成绩表 IN

3、2 ALIAS xscjb,7,工作区的互访 在对表文件进行操作时,当前工作区的字段可以直接引用。如果在当前工作区要使用另一个工作区的表字段,则采用如下形式进行引用: 别名-字段名 别名.字段名,8,举例说明多个工作区中表的互调: 在成绩管理数据库中,显示学生的学号、姓名、语文、数学、英语成绩,9,4.8.2 表的关联(临时关系),不同工作区中分别打开的两个表之间是彼此独立的,用户可通过临时关系来使两个表之间发生关联。 临时关系 使用时临时建立的表间联系。 在任何表之间建立。建立关系的两个表中,当前表叫父表,被关联的表叫子表。 实现多个数据表之间记录指针的联动,即当一个表的记录指针移动时另一表

4、的记录指针能随之移动。 通过“数据工作期”或命令建立。,10,当在学生表中选择了某一个学号,与之关联的表就显示该学号相同的记录,指针联动,数据工作期,数据工作期 是VFP的一个独立工作状态和操作环境(指程序、表单或报表使用的当前动态工作环境)。 每个数据工作期包含了它自己的一组工作区,显示工作区中打开的表、表索引以及表之间的关系。 该窗口设置的工作环境可作为视图文件保存起来。,打开数据工作期 单击常用工具栏中“数据工作期”按钮 “窗口”菜单/“数据工作期”命令 命令: SET (或 SET VIEW ON ) 该窗口可以进行打开和显示表或视图,在表或视图间建立临时关系等操作。 数据工作期窗口各

5、子窗口的意义 当前工作期:显示当前工作期名称。 “别名”列表框:显示已打开的表。 关系:显示表或视图之间的临时关系。,数据工作期窗口中命令按钮的意义 属性:打开工作区属性对话框,进行工作区属性设置。 浏览:打开当前表文件的浏览窗口。 打开:打开表文件或视图。 关闭:关闭选定的表或视图。 关系:建立表或视图之间的关系。 一对多:显示一对多对话框,从而在子表和父表之间建立一对多的临时关系。,关闭数据工作期窗口 主菜单“文件” “关闭” 窗口的“关闭”按钮 命令:SET VIEW OFF,16,建立表之间临时关系的前提条件: (1)父表和子表必须具有某一个相同的关联字段,并且值相等。 (2)子表必须

6、按关联的关键字建立索引,并把它设置为主控索引;,表之间的临时关系建立,17,在“数据工作期”窗口建立临时关系 (1)在“数据工作期”窗口打开需要建立关联的表; (2)选定父表工作区为当前工作区,使用“关系”按钮与一个子表建立关联; (3)关联关系可以是一对一关系、一对多、多对一 (4)选定父表工作区为当前工作区,使用“一对多”按钮可与一个子表建立一对多关联;,18,1、先打开所用的表,2、选定父表,在选择“关系” 按钮,之后选择字段来建立 关系。如果之前没有设定主控 索引,设定通过什么关键字建 立联系。会弹出如下对话框。,3、如果要设定一对多关系, 再选择“一对多”按钮, 建立关联。,19,当

7、在学生表中选择了某一个学号,与之关联的表就显示该学号相同的记录,指针联动,20,格式: SET RELATION TO INTO , INTO ADDITIVE,用命令来建立关联(了解),功能:以当前表为父表与其它一个或多个子表建立临时关联。,21,说明: 为父表的关联表达式,其值将与子表的索引表达式的值相对应。 表示子表或其所在工作区,且子表必须按关联的关键字建立索引或确定主控索引。 ADDITIVE不取消以前的关联。,22,建立“一对多”的关联 命令格式: SET SKIP TO 功能:在父表的每条记录与子表中所对应记录之间建立“一对多”的关联。 说明:执行SET SKIP TO 命令,可

8、取消父子之间“一对多”的关联,但父子关联仍然存在。,23,例如:要求显示学生的学号、姓名、成绩,24,25,3.取消表的关联 命令格式1:SET RELATION TO 功能:解除全部父子关联。 命令格式2: SET RELATION OFF INTO 功能:解除父表与或所指定的子表之间的关联。 说明:两条命令都必须在父表所在的工作区执行,数据库表的永久关系(掌握),表之间关系的种类 临时关系:使用时临时建立的表间联系 永久关系:是被存放在数据库表间的联系,它随数据库长期保存,随数据库的打开而打开、关闭而关闭。它只能在数据库表之间建立。 永久关系解决数据库表之间的数据完整性问题,临时关系解决表

9、之间的记录指针联动问题。,建立永久关系的前提条件 父表与子表具有某一相同的关键字,且对应值相等; 每个表按该关键字建立了索引。 在一对一关系表中,父表和子表均应按相同的关键字建立主索引或候选索引 一对多关系表中,父表应建立主索引或候选索引,子表建立普通索引。,永久关系的建立和删除 建立:在“数据库设计器”中,将主关键字索引(有钥匙标记,如“学号” )或者候选索引,拖放到相关表的索引名上。这时两表的索引间出现一条直线,这根线称为“关系线”。 修改:双击关系线,在随后弹出的“编辑关系”对话框中进行或“数据库” /“编辑关系” 删除:单击两表间的关系线,关系线变粗,表明已选择了该关系,按下Del键,

10、就可以删除该关系线。,建立一对一关系,建立一对多关系,删除关系,32,例:建立school 表与student表之间的一对多关联,并显示学校表的学校编号、校名和学生表的学号、姓名。,33,永久关系的作用设置参照完整性 参照完整性的意义(必须事先设置关系) 打开“参照完整性生成器” “数据库设计器”/数据库/“编辑参照完整性” “数据库设计器”空白处单击右键,选择“编辑参照完整性” 双击两表之间连线,在弹出的“编辑关系”对话框中,单击“参照完整性” 右击两表之间连线,在弹出的对话框中选择“编辑参照完整性”,35,参照完整性的内容 更新规则 级联:对父表中关键字的修改,会自动更新子表中相关记录中的关键字。 限制:若子表中有相关记录,则禁止更改父表中关键字段的值。 忽略:不做参照完整性检查,可以任意更新父、子表中的记录。,删除规则 级联:对父表中的记录做删除,会自动删除子表中的相关记录。 限制:若子表中有相关记录,则禁止删除父表中的相关记录。 忽略:不做参照完整性检查,可以任意删除父、子表中的记录。,插入规则 限制:若

温馨提示

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

最新文档

评论

0/150

提交评论