版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、多表与数据库的操作多表与数据库的操作 数 据 库 的 设 计 多表 操 作 数据库的基本操作1、工作区的概念、工作区的概念表打开时会在内存开辟一块缓冲区,磁盘表数表打开时会在内存开辟一块缓冲区,磁盘表数据送入这块缓冲区进行后续处理。这块缓冲区称为工据送入这块缓冲区进行后续处理。这块缓冲区称为工作区。作区。nVFP可以开辟多个工作区,进行多表操作。数据可以开辟多个工作区,进行多表操作。数据工作期中可以查看使用工作区情况。工作期中可以查看使用工作区情况。n工作区编号:工作区编号:W1W32767n每个工作区只有一独立的记录指针每个工作区只有一独立的记录指针n一工作区只能对一表操作,打开新表时,原来
2、表一工作区只能对一表操作,打开新表时,原来表会关闭会关闭4.1 4.1 多表操作多表操作 4.1.1 工作区工作区n当前工作区:当前工作区:VFP正在使用的工作区。(唯一性)正在使用的工作区。(唯一性)n用户可在一个工作区中打开一个数据表时为该表用户可在一个工作区中打开一个数据表时为该表定义一个别名,该别名也可作为定义一个别名,该别名也可作为工作区的别名工作区的别名。n若未给打开数据表定义别名,则若未给打开数据表定义别名,则数据表的主名就数据表的主名就是别名。是别名。格式:格式:USE IN ALIAS USE 工资工资 IN 2 ALIAS GZ2、选定工作区、选定工作区 当需要同时对多个数
3、据表进行操作时,须使当需要同时对多个数据表进行操作时,须使用选择工作区的命令。用选择工作区的命令。格式:格式:SELECT 功能:选择所指定的工作区作为当前工作区。功能:选择所指定的工作区作为当前工作区。 说明:说明: 由由1,2,3,32767 表示。表示。 使用别名时,对于使用别名时,对于110号工作区可使用号工作区可使用系统给定的别名系统给定的别名AJ或或数据表的别名数据表的别名;对于;对于是是110号工作区之外的工作区则使用数据号工作区之外的工作区则使用数据表的别名。表的别名。 命令命令SELECT 0 表示选择当前未使用的工作表示选择当前未使用的工作区中的区中的最小号工作区最小号工作
4、区作为当前工作区。作为当前工作区。 工作区的切换不工作区的切换不影响各工作区数据表记录指针影响各工作区数据表记录指针的位置的位置。在工作区未建立关联时,对当前工作区。在工作区未建立关联时,对当前工作区中数据表进行操作时,不影响其他工作区中数据中数据表进行操作时,不影响其他工作区中数据表的内容和记录指针。表的内容和记录指针。例例: SELECT 1 USE 员工表员工表 USE 工资表工资表IN 2 ALIAS GZ SELECT A brow SELECT GZ list 演示演示4-13、工作区的互访、工作区的互访 在当前工作区中可以访问其他工作区中已打在当前工作区中可以访问其他工作区中已打
5、开的表的数据,可用开的表的数据,可用别名别名.字段名字段名或或别名别名-字段名字段名来实现。需要注意的是互访时字段前不能使用工来实现。需要注意的是互访时字段前不能使用工作区号。作区号。例例: USE 员工表员工表 IN 1 ALIAS ZG USE 工资表工资表IN 2 SELECT 2 LIST ZG.员工编号员工编号 LIST 工资工资.员工编号员工编号 演示演示4-24.1.2 4.1.2 建立表的临时关系建立表的临时关系1 1、关联关联 在在不同工作区的记录指针之间建立临时的联不同工作区的记录指针之间建立临时的联动关系动关系,使得当一个工作区的数据表的记录指针移,使得当一个工作区的数据
6、表的记录指针移动时,另一个工作区的数据表的记录指针能随之移动时,另一个工作区的数据表的记录指针能随之移动,便于多表浏览。动,便于多表浏览。 2 2、特点特点 (1 1)临时关系临时关系,可以视图的形式保存。,可以视图的形式保存。 (2 2)表要分为主表、从表。)表要分为主表、从表。 (3 3)主从表之间需要有)主从表之间需要有公共索引字段公共索引字段,指针的联,指针的联动公共字段值相等为动公共字段值相等为纽带纽带。 (4 4)表中的记录可以是)表中的记录可以是一对一一对一,一对多一对多索引字段索引字段主表:员工表子表:工资表指针联动一对一的关联助教贺子010502助教胡卫国010203讲师刘敏
7、敏010401讲师赵高010301副教授唐家010102助教刘莉莉010201教授陈胜利010101职称姓名员工编号30007600001050260008000001020310500110000010401170001050000103012400014000001010280006490001020118000180000010101水电费基本工资员工编号关联与关联条件关联与关联条件一对多的关联一对多的关联索引字段索引字段索引字段索引字段05贺子01050202胡卫国01020304刘敏敏01040103赵高01030101唐家01010202刘莉莉01020101陈胜利010101部门
8、编号姓名员工编号财金系05信管系04会计系03人事处02校办01部门名称部门编号子表:员工表子表:员工表主表:部门表主表:部门表2 2、建立关联、建立关联 建立关联有两种方法:一种是通过建立关联有两种方法:一种是通过数据工数据工作期窗口建立关联作期窗口建立关联,一种是,一种是命令方式命令方式来建立关联。来建立关联。(1)数据工作期窗口的基本操作数据工作期窗口的基本操作 数据工作期是一个用来设置数据工作环境数据工作期是一个用来设置数据工作环境的交互操作窗口。利用数据工作期窗口可以打开的交互操作窗口。利用数据工作期窗口可以打开或显示表或视图、建立表间临时关系以及设置工或显示表或视图、建立表间临时关
9、系以及设置工作区属性等,并且在数据工作期窗口设置的环境作区属性等,并且在数据工作期窗口设置的环境能以能以视图文件的形式保存视图文件的形式保存起来,需要时将视图文起来,需要时将视图文件打开就能恢复所保存的环境。件打开就能恢复所保存的环境。(2)(2)在数据工作期窗口建立关联在数据工作期窗口建立关联 在数据工作期窗口,可以建立自由表之间的在数据工作期窗口,可以建立自由表之间的关联(表间临时关系),也可以建立数据库中各关联(表间临时关系),也可以建立数据库中各表之间的关联。建立的步骤是:表之间的关联。建立的步骤是: 打开需建立关联的多个表。打开需建立关联的多个表。 为子表按关联的关键字建立索引或确定
10、为主为子表按关联的关键字建立索引或确定为主控索引。控索引。 选择主表工作区为当前工作区,并建立主表选择主表工作区为当前工作区,并建立主表与一个或多个子表的关联。与一个或多个子表的关联。 建立一对多的关联。若缺省本步,则默认建建立一对多的关联。若缺省本步,则默认建立的是多对一的关联。立的是多对一的关联。演示演示 4-3(3)用命令方式建立关联用命令方式建立关联格式:格式:SET RELATION TO |数值表数值表达式达式 INTO | , INTO | ADDITIVE功能:建立当前表(主表)与子表之间的一对多功能:建立当前表(主表)与子表之间的一对多的关联。的关联。子表一定指定索引子表一定
11、指定索引格式:格式:SET SKIP TO , 功能:建立指针联动。功能:建立指针联动。(3)用命令方式建立关联例子用命令方式建立关联例子CLOSE TABLES allset default to D:员工信息管理系统员工信息管理系统1select 1use 工资表工资表index on 员工编号员工编号 tag ygbhlistsele 2use 员工表员工表listset relation to 员工编号员工编号 into aSET SKIP TO 工资表工资表list 员工编号员工编号,姓名姓名,职称职称, a.基本工资基本工资演示演示4-44.2 数据库的设计数据库的设计n数据库由数
12、据库由表表、视图视图、查询查询、连接连接和和存储过程存储过程组成组成n数据库一般包含多张表,多张表之间具有数据库一般包含多张表,多张表之间具有永久联系永久联系,保证数据的,保证数据的完整性完整性。n用户数据用户数据存在表中存在表中,表与表间的联系,表与表间的联系存在数据库里存在数据库里n存储过程存储过程是操作数据库数据的代码集合,是操作数据库数据的代码集合,保存在数保存在数据库中据库中。4.2.1 数据库设计的一般过程数据库设计的一般过程 数据库设计过程的关键在于明确关系型数数据库设计过程的关键在于明确关系型数据库管理系统据库管理系统存储数据的方式存储数据的方式与与关联方式关联方式。数据库设计
13、的一般过程如下:数据库设计的一般过程如下:需求分析需求分析确定所需要的表确定所需要的表确定字段确定字段确定表之间的关系确定表之间的关系改进设计改进设计1、数据库创建、数据库创建 菜单方式和命令方式菜单方式和命令方式CREATE DATABASE |?CREATE DATABASE e:my data工资管理工资管理4.2.2 数据库的基本操作数据库的基本操作2、数据库打开、数据库打开(1) 菜单方式菜单方式:“文件文件” “打开打开” (*.DBC)(2)命令)命令格式:格式:OPEN DATABASE | ? 3、数据库关闭、数据库关闭(1) 菜单方式菜单方式(2)命令)命令 CLOSE A
14、LL | DATABASE 4、数据库修改、数据库修改 数据库设计器数据库设计器 MODIFY DATABASE | ?项目管理器里添加;数据库设计器;项目管理器里添加;数据库设计器;5、数据库表添加、数据库表添加6、数据库表清除、数据库表清除移除:移除:变为自由表变为自由表删除:删除:永久删除永久删除自由表添加到某一个数据库时变为数据库表。自由表添加到某一个数据库时变为数据库表。数据库表从某一数据库中移出变为自由表。数据库表从某一数据库中移出变为自由表。ADD TABLE MODIFY DATABSEMOVE TABLE DELETE 数据库表和自由表:数据库表和自由表: 数据库表所具有,而
15、自由表不具备的几个属性:数据库表所具有,而自由表不具备的几个属性:(1)可以使用长表名和长字段名。)可以使用长表名和长字段名。(2)可为字段)可为字段指定标题指定标题和和添加注释添加注释。(3)可为字段指定)可为字段指定默认值默认值和和输入掩码输入掩码。(4)有默认的控件类。)有默认的控件类。(5)可规定)可规定字段级规则字段级规则和和记录级规则记录级规则。(6)数据库表支持)数据库表支持参照完整性参照完整性的的主关键字索引主关键字索引和和 表间关系。表间关系。(7)支持)支持INSERT、UPDATE和和DELETE事件的触事件的触 发器发器等。等。DELETE DATABASE | ? D
16、ELETETABLES RECYCLE要删除的数据库名,此时要删要删除的数据库名,此时要删除的数据库必须处于关闭状态,除的数据库必须处于关闭状态,被删除的数据库中的表成为自被删除的数据库中的表成为自由表由表删除数据库的同时从删除数据库的同时从磁盘上删除该数据库磁盘上删除该数据库所含的表等相关文件所含的表等相关文件将删除的数据库文件将删除的数据库文件和表文件放入回收站和表文件放入回收站中,需要时可以还原中,需要时可以还原7、数据库删除、数据库删除4.2.3 数据库的数据完整性数据库的数据完整性 保证数据库数据的保证数据库数据的正确正确、有效有效、相容相容的特性。的特性。n实体完整性实体完整性(行
17、行) 确保每个实体的实例唯一和精确,即表中确保每个实体的实例唯一和精确,即表中记录满足记录满足一定条件一定条件并且并且无重复记录无重复记录n域完整性域完整性(列列) 为列指定一组为列指定一组合法的数据值合法的数据值n参照完整性参照完整性(表间关系表间关系) 控制控制相互关联表相互关联表的数据一致性的数据一致性数据完整性是针对数据完整性是针对VFP的数据库表而言的数据库表而言1、实体完整性、实体完整性n利用主关键字利用主关键字(主索引主索引)或者候选关键字(候选索引)或者候选关键字(候选索引)来保证表中无来保证表中无重复记录重复记录。n利用利用记录有效性规则记录有效性规则和和触发器触发器来保证记
18、录满足要求来保证记录满足要求2、域完整性、域完整性 VFP中利用字段数据类型、宽度的定义以及中利用字段数据类型、宽度的定义以及字字段有效性规则段有效性规则来限定字段的来限定字段的取值类型取值类型和和取值范取值范围围,从而保证域完整性。,从而保证域完整性。(1)、设置字段属性)、设置字段属性 数据库表设计器中,在字段选项卡的数据库表设计器中,在字段选项卡的“显示显示”区域来设置字段属性,包括显示和格式、输入掩码区域来设置字段属性,包括显示和格式、输入掩码和标题。和标题。a、格式、格式 在在“显示显示”区域的区域的“格式格式”文本框用于文本框用于键入格式表达式,确定当前字段在浏览窗口、表单键入格式
19、表达式,确定当前字段在浏览窗口、表单或报表中或报表中输出显示时的格式输出显示时的格式,包括大小写、字体大,包括大小写、字体大小和样式等。小和样式等。3、实体、域完整性的操作介绍、实体、域完整性的操作介绍部分格式字符及功能如下表所示:部分格式字符及功能如下表所示:格式码格式码功能功能格式码格式码功能功能A只允许输出文字字符,只允许输出文字字符,不允许输出数字、空格不允许输出数字、空格和标点符号和标点符号!小写字符转换为大写字小写字符转换为大写字符符L在数值前显示前导在数值前显示前导0,而不是用空格字符而不是用空格字符用科学计数法表示数值用科学计数法表示数值数据数据D使用当前系统设置的日使用当前系
20、统设置的日期格式期格式$显示货币符号显示货币符号b、输入掩码、输入掩码 用来用来指定字段的输入格式指定字段的输入格式,减少人为的数据输,减少人为的数据输入错误,控制数据输入的正确性。输入掩码必须按入错误,控制数据输入的正确性。输入掩码必须按位指定。位指定。例如,输入例如,输入掩码设置为掩码设置为999,999,表示在输入时,只,表示在输入时,只能输入数字且最多输入能输入数字且最多输入6位数字,中间的位数字,中间的“,”号不是号不是掩码,不必输入,输入时光标会自动跳过。掩码,不必输入,输入时光标会自动跳过。 掩码掩码功功 能能掩码掩码功功 能能X允许输入任何字符允许输入任何字符9允许输入数字和正
21、负号允许输入数字和正负号#允许输入数字、空格和正负允许输入数字、空格和正负号号.指出小数点位置指出小数点位置*值显示值显示*号号,用逗号分隔小数点左边的用逗号分隔小数点左边的整数部分整数部分c、标题、标题 “标题标题”文本框中用来指定字段显示时的文本框中用来指定字段显示时的字段标题。字段标题。 (2)设置有效性规则)设置有效性规则 有效性规则是一个有效性规则是一个与字段或记录相关的表达与字段或记录相关的表达式式,通过对用户的值加以限制,提供数据有效性,通过对用户的值加以限制,提供数据有效性检查。不满足规则要求的字段或记录,被检查。不满足规则要求的字段或记录,被拒绝输拒绝输入入。 有效性规则分两
22、种:有效性规则分两种:字段有效性规则字段有效性规则和和记记录有效性规则录有效性规则。有效性规则只在数据库表中存在。有效性规则只在数据库表中存在。(a)字段有效性)字段有效性 字段有效性区域包含规则、字段有效性区域包含规则、信息和默认值三个文本框,各文本框均可以直信息和默认值三个文本框,各文本框均可以直接键入数据,也可以通过单击其右边的对话按接键入数据,也可以通过单击其右边的对话按钮钮 。字字段段有有效效性性的的设设置置 (b)记录有效性)记录有效性 “ 部门编号的第部门编号的第2位数字与员工位数字与员工编号的第编号的第4位数字要相同位数字要相同”演示演示4-5(c)触发器)触发器 触发器是在某
23、些事件发生时触发执行的一触发器是在某些事件发生时触发执行的一个个表达式表达式或或一个过程一个过程,用于控制对已经存在的记录,用于控制对已经存在的记录所作的非法插入、删除和修改的操作。所作的非法插入、删除和修改的操作。插入触发器:插入触发器:每次向数据库表中插入或追加记每次向数据库表中插入或追加记录时,触发该规则,以检查插入的记录是否满足录时,触发该规则,以检查插入的记录是否满足规则。规则。更新触发器:更新触发器:每次更新记录时,触发该规则。每次更新记录时,触发该规则。删除触发器:删除触发器:每次对表记录进行逻辑删除时,每次对表记录进行逻辑删除时,触发该规则。触发该规则。4、参照完整性、参照完整
24、性 参照完整性指数据库表中的参照完整性指数据库表中的相关表之间相关表之间涉及表间涉及表间数据的完整性的约束规则。数据的完整性的约束规则。简单说就是当插入、删除或者修改一个表中的数简单说就是当插入、删除或者修改一个表中的数据时,通过据时,通过参照另外一个表的数据来检查当前的操参照另外一个表的数据来检查当前的操作是否正确作是否正确。例如,在职工表中插入记录的部门号在部门表中不例如,在职工表中插入记录的部门号在部门表中不存在,怎样处理这条插入记录存在,怎样处理这条插入记录VFP建立参照完整性分三步建立参照完整性分三步 建立永久关系建立永久关系 清理数据库清理数据库 编辑参照完整性编辑参照完整性(1)
25、永久关系与临时关系)永久关系与临时关系永久关系:永久关系:使相互关联的表协同工作,使数据得使相互关联的表协同工作,使数据得到更充分的利用。在查询与视图中起连接作用。到更充分的利用。在查询与视图中起连接作用。永久关系被永久关系被存储在数据库文件中存储在数据库文件中,可以一直使用,可以一直使用,除非该永久关系被删除或更改。除非该永久关系被删除或更改。临时关系:临时关系:仅用于控制关联表之间的指针联动,仅用于控制关联表之间的指针联动,运行结束后自动运行结束后自动结束结束,每次要使用时都需要重新建,每次要使用时都需要重新建立。立。 表中的索引类型是主表中的索引类型是主索索 引或候选索引引或候选索引,则
26、建立,则建立一对一一对一关系;如果子表关系;如果子表 中的索引类型是中的索引类型是普通索引普通索引,则建立,则建立一对多关系一对多关系。数据库设计器中建立永久关系数据库设计器中建立永久关系 在建立参照完整性之前在建立参照完整性之前必须首先清理数据库必须首先清理数据库,既物理删除数据库各个表中所有带有删除标志的记既物理删除数据库各个表中所有带有删除标志的记录。操作方法是选择录。操作方法是选择“数据库数据库”菜单项中的菜单项中的“清理清理数据库数据库”命令。命令。 清理数据库前需要清理数据库前需要关闭各表关闭各表,在数据工作期中,在数据工作期中可以查看未关闭的表可以查看未关闭的表 。(4)、设置参照完整性、设置参照完整性 参照完整性生成器窗口有参照完整性生成器窗口有更新规则更新规则、删除规则删除规则和和插入规则插入规则三个选项卡;选项卡中有三个选项卡;选项卡中有级联级联、限限制制和和忽略忽略三个单选按钮以及一个表格,表格中三个单选按钮以及一
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年AI金融应用数据安全:端侧处理原则与敏感操作本地完成
- 2026年智能农机与农业机器人软硬件接口标准草案撰写范例
- 2026年失能评估机构资质认定与评估人员培训市场空间
- 2026年网络安全威胁防范培训
- 神经外科症状护理案例分析
- 第5章 植物生命活动的调节单元检测(含答案)-高中生物2025-2026学年人教版(2019)选择性必修1
- 2025-2026学年安徽合肥市“名校名师”高三下学期3月多校联考英语试卷
- 慢性胃炎的饮食护理策略
- 某环卫企业废弃物处理办法
- 某纸业厂环保生产准则
- 2026年安徽工商职业学院单招职业技能考试题库带答案详解(考试直接用)
- 2026年徐州生物工程职业技术学院单招职业适应性测试题库与答案详解
- 2026年安徽水利水电职业技术学院单招职业适应性测试题库与答案详解
- 2025-2030中国礼品酒行业供需趋势及投资风险研究报告
- 2026年商丘职业技术学院单招职业技能测试题库及答案详解(名校卷)
- 施工现场临时用电分区管控实施方案
- 2026年徽商职业学院单招职业适应性测试题库及答案解析
- 2026春统编版二年级下册小学道德与法治每课教学设计(简练版)新教材
- 第18课 土壤湿度控制好 课件 2025-2026学年人教版信息科技六年级全一册
- 2025年佛山禅城语文校招笔试及答案
- 《工业机器人现场编程》课件-任务4-工业机器人电机装配
评论
0/150
提交评论