二级VFP讲义_第3章.ppt_第1页
二级VFP讲义_第3章.ppt_第2页
二级VFP讲义_第3章.ppt_第3页
二级VFP讲义_第3章.ppt_第4页
二级VFP讲义_第3章.ppt_第5页
已阅读5页,还剩48页未读 继续免费阅读

下载本文档

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

文档简介

1、第 3 章 VFP数据库及其操作 3.1 VFP数据库及其建立 一、基本概念 1、一个系统中所有数据分别存储于不同的表中; 2、一个系统中,把若干个关系比较固定的表集中起来放在一个数据库中管理,在表间建立关系,设置属性和数据有效性规则使相关联的表协同工作。 3、数据库是管理数据对象的系统文件,数据库提供了对表进行关联、管理、操作的平台和手段。,二、建立数据库 1、在项目管理器中新建数据库; 2、通过“新建”对话框建立数据库; 3、通过命令交互建立数据库: Create Database 数据库名 三、使用数据库 在数据库中建立表或使用数据库中的表时,都必须先打开数据库。 1、在项目管理器中修改

2、数据库; 2、通过“打开”对话框打开数据库; 3、通过命令打开数据库: Open Database 数据库名,四、修改数据库 1、从项目管理器中“修改”打开数据库设计器; 2、通过“打开”对话框打开数据库设计器; 3、使用命令打开数据库设计器: Modify Database 数据库名 五、删除数据库 1、在项目管理器中删除数据库; 此时并不把数据库中的表或其他对象真正删除掉,它们乃存于磁盘之上。 2、通过命令删除数据库: Delete Database 数据库名 DeleteTables 注:在命令中使用参数时,删除数据库的同时也删除了数据库中的表及其他对象。,3.2 建立数据库表 一、在数

3、据库中建立表 1、在数据库设计器平台上建立表: 新建数据库后,自动打开数据库设计器; 在项目管理器中,修改指定的数据库; 打开数据库后,使用VFP相应的主菜单命令; 2、在项目管理器中的指定数据库下的表项目上新建表; 3、在数据库打开状态下,使用“新建”对话框建立表; 二、设计表的结构 建立表后,自动打开表设计器,即可设计表的结构。,一个表是由表结构和数据记录两大部分组成的,当然在表中能够存放数据记录之前,必须先定义其结构。表结构就是指表包含多少个字段,各字段的字段名、字段类型、字段宽度和小数位的位数。在设计表结构之前,必须对要解决的问题进行详细的调查和认真的分析,确定需要哪些字段才能全面、准

4、确地反映事物的特征,实现管理目标。,设计表结构时,必须遵循VFP对字段名、字段类型、字段宽度和小数位数的规定。为便于操作,还应确定一个关键字段,关键字段对于每一条记录其值是不同的,具有惟一性。 (1) 字段名。字段名是给每个字段定义一个惟一的名称,字段名应以字母或汉字开头,由字母、汉字、数字、下划线组成,中间不允许含有空格,在自由表中长度不超过10个字符(数据库表字段名的长度最长可达128个字符)。在同一个表文件中,不得有相同的字段名。 在访问、处理数据时,所有操作都是通过字段名来访问字段中的数据。,(2) 字段类型。VFP提供了13种字段类型。一个字段选择为何种类型,需由具体情况及是否便于操

5、作而定。例如,由数字字符组成的“学号”或“邮编”等字段,它们不参加算术运算,将其定义成字符型比较好。 在实际应用中,经常使用的字段类型有:字符型、数值型、日期型和逻辑型。而通用型和备注型字段则比较特殊,它们的信息并非存放在表文件中,而是存放在备注文件中。这两种类型的字段占用内存较大,运行速度较慢,并且输入、显示、打印及其他操作都不太方便。因此除非必要,否则在设计结构时,应尽量不用或少用这两种类型。,表4-1 VFP常用的数据类型,OLE:指对象的链接与嵌入。,备注型数据的录入方法: 备注型字段数据输入时,双击要输入记录的memo,弹出一个编辑窗口,在此窗口中输入备注信息,关闭窗口即可。 通用型

6、数据的录入方法: 通用型字段数据输入时,双击要输入记录的gen,弹出一个编辑窗口,然后在VFP主菜单“编辑” “插入对象” “由文件创建” “浏览”项中,找到要插入的对象,单击“确定”按钮,关闭窗口即可。注:选中链接选项,采用链接方式关联对象,否则采用嵌入方式(把对象内容存入通用型字段的文档中)。,上机实例:(通用型、备注型字段的输入) 1、启动VFP,保证没有数据库处于打开状态; 2、在 E: 盘新建名为Megen的文件夹,把“相片”文件夹拷贝到其中; 3、新建名为“学生档案”的自由表,存于 Megen文件夹中; 4、 “学生档案”表的结构如下: 学生档案(学号 C 10,姓名 C 8,性别

7、 C 2 出生年月 D,院系 C 20,照片 G,简历 M ) 5、输入记录: (1)输入5条记录,信息在下页图片所示; (2)“照片”字段的相应对象在“相片”文件夹中同名的文件; (3)每个学生的“简历”信息,自定义输入。,(3) 字段宽度。字段宽度用于描述各字段存储数据的最大存储位数。在VFP中,日期型、日期时间型、货币型、双精度型字段的宽度系统固定为8位;整型、备注型与通用型字段的宽度系统固定为4位;逻辑型字段的宽度系统固定为1位;字符型、数值型字段的宽度由用户自己指定。定义的原则是既要节省存储空间,又能满足实际需要,字符型字段的宽度在1254之间选择,数值型字段的宽度一般取字段可能的最

8、大取值(包括整数位、小数点及小数位的宽度在内),有时还要考虑累加及汇总后的结果。,(4) 小数位数。当字段类型是数值型、浮点型时,还必须指定小数位数(整数的小数位数定义为0)。其他类型的字段系统自动跳过这一项。 (4) 空值: 在表设计器中,单击某字段后的“NULL”选项,表示允许该字段为空值; 空值就是某字段允许缺值或还没有确定值,不能把它理解为任何意义的数据。 主要用于SQL命令中。 例如:在新生登记表中有录取名单,当新生还未入学注册时,表中的“交费金额”及“宿舍名称”应该为“空值”。,表、数据库、项目管理器的相关操作,上机实例: 1、启动VFP; 2、打开数据库“学生管理” ; 3、在“

9、学生管理”数据库平台上对“学生”表操作: (1)、移去表 (2)、添加表 (3)、对表记录进行“浏览”,分别用两种方式:“游览”/“编辑” (4)、追加记录 (5)、对表结构进行“修改”:姓名 C 8(原来为6) (6)、关闭数据库平台 4、新建名为“学生学籍管理系统”的项目管理器,存于 E: 盘P104文件夹中; 5、把“学生管理”库添加到项目管理器中,找到“学生”表,“浏览”记录,“修改”表结构,再练习表的移除和添加,关闭VFP系统。,3.3 表的基本操作,一、设置操作路径命令: Set default to 路径 功能: 设置命令操作的对象所在的地方,路径由盘符和目录结构组成。 二、打开

10、数据库命令: Open DataBase 库名 关闭数据库命令: CLOSE DataBase 注:关闭数据库时,“新建”的表为自由表。,三、打开表命令:(命令、菜单) Use 注:要对表操作,必先打开表。 四、显示表的全部记录: List 五、显示表的结构:(表的总宽度等于各字段宽度之和再加上1) List structure,六、带参数显示: 格式: List 记录范围 字段列表 For 条件 功能: 显示当前打开的表中的指定范围内的记录,可用字段列表 短语指定被显示的记录中数据的组成,即显示哪些数据项(字段),可用 For短语指定只显示符合条件的记录。 七、记录的范围 Record :操

11、作表中的第个记录; “一条” ALL :操作表中的所有记录; NEXT :包括当前记录在内连续向下操作个记录; Rest :从当前记录开始连续向下操作,一直到结束。,附:显示表中记录的又一命令 格式: Display 记录范围 字段列表 For 条件 功能: 同List命令。 注: 缺省所有的参数,Display只显示当前一条记录。 Display,八、表的指针 对表中的记录的操作是通过指针来实现的:用指针来定位操作的对象,然后再对指定的对象实施操作。指针所指的记录称为当前记录,当前记录可以通过命令移动定位。表中只有一个指针。 九、指针的移动定位 1、绝对定位: go 记录号 或 goto 记

12、录号 功能:把指针定位在指定的上。 2、首记录定位: go top 3、末记录定位: go bottom,4、相对定位: skip 正整数:从当前记录开始向下移动个记录后,定位。 负整数:从当前记录开始向上移动个记录后,定位。 上机实例:(所有操作使用命令完成) 打开在E:盘P104文件夹中的“学生”表,做如下操作: 1、显示表中所有信息; 2、显示所有学生的“姓名,出生日期”数据; 3、显示所有女生的“姓名,性别,出生日期”数据; 4、显示“孙业”同学的“姓名,出生日期” 5、显示:4号记录的“姓名” 6、显示:2,3,4三个记录的信息; 7、练习skip命令,recno( )函数的使用。,

13、十、添加记录: 1、Append 功能:立即出现浏览或编辑窗口,对当前表以交互方式添加记录。 2、Append Blank 功能:在当前表的尾部增加一条空白记录。,十一、复制表命令: 格式: Select 字段1,字段2, From 表名 Where 条件 Into Table 新表名,指定字段,从,选择记录,上机实例:(根据P104表操作) 1、把所有人的“学号、姓名”数据,放到表“学生1”中; (打开,显示新表) 2、把“学生”表中的全部信息,拷贝到表“学生2”中; (打开,显示新表),十二、删除记录命令: 要从表中删除记录,必须经两个步骤: 第一步:逻辑删除,给要删除的记录打上标记,但被

14、逻辑删除的记录仍在表中; 第二步:物理删除,把表中被打上删除标记的记录从表中真正的删除。 (一)、命令操作方法: 1、逻辑删除: delete 记录范围 for 2、物理删除: Pack 3、取消删除标记: Recall 记录范围 for (二)、菜单操作方法: 用菜单法从表中删除记录,也要经两个步骤:逻辑删除和物理删除 操作方法如下: 在“项目管器理”的可视化窗口中,“浏览”要做删除记录的表,在“浏览”方式下,打开“表”菜单,利用相关的子菜单即可完成。,(三)、清表命令:(一次性的物理删除表中的全部记录) ZAP 上机实例: 1、逻辑删除学生2表中的第3,4,5条记录的全部信息,查看记录,取

15、消所有的删除标记; 2、逻辑删除学生2表中的所有女生记录,取消1982年后出生的删除标记; 3、物理删除; 4、完全删除学生2表中的第 1 条记录; 5、清除学生1表中的全部记录。 6、根据P125文件夹的“学生”表,拷贝生成另一表:“学生档案”; 7、向学生档案表中添加字段:性别(C,2);民族(C,2 ) 电话(C,8) 8、填入这些数据(参照下页图片)。,十三、更改数据命令: 格式: Replace 记录范围 条件 with , with 功能: 1、在指定的“记录范围”内,对符合“条件”的记录中的“字段”值做数据更改; 2、更改方式:用“表达式”的值替代特定记录中的指定的“字段”值。

16、3、用于记录内部的计算。 上机实例: 1、打开P125“学生档案”,给所有同学的“年龄”加上一岁; 2、把“林勇军”更改为“林永军”; 3、添加一空记录,用Replace指令把下列数据填写上去: 9921108,王丽华,17,女,土,67180001,数据计算与更新 上机实例: 1、把表“HJ.DBF”拷贝到E:盘,增加一字段: 交易金额(货币型) 2、显示表中全部信息; 3、用Replace指令计算并填入每一手成交股票的“交易金额”数据。 4、显示表中全部信息。,十九、条件查询命令: (一)、格式 LOCATE FOR 功能: 在打开的表中查找符合“条件”的记录。如找到,指针定位在符合“条件

17、”的记录上;如没有找到,指针定位到表的结束标志上。 注:如查找到,found( )函数为:.T. 。 否则, eof( )函数为:.T.,1,Top顶记录 2 3 . . . Bottom尾记录,EOF( ),BOF( ),表记录表文件,Begin Of File,End Of File,(文件开始标志),(文件结束标志),上机实例: 1、打开“学生档案”表; 2、指针定位在顶记录; 3、运行测试函数:bof( ) ,eof( ) 4、指针向上跳动一次; 5、运行测试函数:bof( ) ,eof( ) 6、指针定位在尾记录; 7、运行测试函数:bof( ) ,eof( ) 8、指针向下跳动一次

18、; 9、运行测试函数:bof( ) ,eof( ),上机实例: (在P113学生档案表中完成) (1)、查找名叫“王林”的同学; (2)、测试是否找到; (3)、如找到, 显示当前记录号及他的相关信息; (二)、继续查找命令 Continue 功能: 是查找命令:LOCATE 的辅助命令,当符合条件的记录有多条时,查找命令永远只会把指针定位在符合条件的第一条,要把符合条件的其它记录都找出来,必须用:CONTINUE 命令查找符合条件的下一条记录。 上机实例: 在P113学生档案中,把所有年龄大于20岁的同学一一查找出来,并逐一显示他们的相关信息。,3.4 索 引,1、索引的含义 VFP 按照记

19、录进入表的先后顺序来存储、编号(物理顺序); 通过建立索引来对记录重新排序(逻辑),它只改变记录的逻辑顺序,并不改变记录的物理顺序,也不会建立新表; 同一个表,用户常常需要按照多种不同的顺序使用记录,这就需要根据要求建立多种索引; 一种排序要求建立一个索引,一个表可以建立多个索引,用户可以按照多种不同的顺序来使用表的记录。 索引:按表中的某个字段的值对记录排序,得到的记录号顺序自动存放在一个特殊文件中(.cdx) ,而表中的记录并不发生任何改变。,2、索引的分类 主索引: 创建主索引的字段不允许出现重复值,只有数据库表才能建立主索引,一个表中只能建立一个主索引。 候选索引: 创建候选索引的字段

20、不允许出现重复值,一个表可以建立多个候选索引。 普通索引: 创建普通索引的字段允许出现重复值,一个表中可以建立多个普通索引。 唯一索引: 创建唯一索引的字段允许出现重复值,一个表中可以建立多个唯一索引,但只保存表中索引字段值相同的一组中多个记录的第一个记录号。,3、索引顺序分为:升序(由小到大),降序(由大到小)。 4、建立索引: 选中要操作的表,做结构“修改”。 可对一个字段或多个字段的组合建立索引。 5、查看表的索引顺序: “浏览”要操作的表,在“浏览”方式下,打开“表”菜单,设置表的“属性”。则在表窗口上或用命令LIST即可查看到重新排序后的记录。,打开: P125文件夹“学生”数据库,

21、对”学生档案“表做如下操作: 1、对“年龄”进行索引(升序;索引名:年龄;索引表达式:年龄) 2、查看索引顺序; 3、删除原来的索引; 4、按“性别”升序,建立“普通索引”,查看索引顺序; 5、按“性别”升序,建立“唯一索引”,查看索引顺序; 6、删除原来的索引; 7、按“学号”降序,建立“主索引”,查看索引顺序; 9 、删除原来的索引。,3.5 数据完整性 一、实体完整性与主关键字 实体完整性是保证表中记录唯一的特性,即在一个表中不允许有重复的记录。 在VFP中利用主关键字或候选关键字来保证表中的记录唯一,即保证实体唯一性。 如果一个字段的值或几个字段的值能够唯一标识表中的一条记录,则这样的

22、字段称为候选关键字。在一个表中可能会有几个具有这种特性的字段或字段组合,这时从中选择一个作为主关键字。,上机实例: 1、打开: P125文件夹“学生”数据库; 2、分别对“学生”、“课程”、“成绩”表建立主索引。 3、查看三个表的索引顺序; 4、删除原来三个表的索引。,二、域完整性与约束规则 域完整性是在建立表时,通过定义字段类型、字段宽度、字段有效性规则来实现数据的域完整性,限定取值类型和取值范围。 约束规则也称作字段有效性规则,在插入或修改字段时被激活,主要用于数据输入正确性的检验,也进一步保证域完整性。 作用:字段的有效性规则可以检查数据的有效性,即只有合法的数据才能进入到表中,当输入不

23、合字段规则的数据时,拒绝存入表,这可以减少输入错误。,“字段有效性”包括三项操作内容: “规则”:表中某个指定字段的数据的合法条件; “信息”:当输入指定字段的数据不满足条件时,则显示“信息”内容; “默认值”:当新增一条记录时,指定字段处被自动填上“默认值”。 设置“字段有效性”的操作方法: 1、对表做结构“修改”; 2、选定要操作的字段; 3、发出相关的操作命令。,上机实例: 1、打开:P104 “学生管理”数据库,对“学生”表做如下操作: 设置“性别”字段的规则:只能是“男”或“女”; 信息:输入错误!性别只能是“男”或“女“; 默认值: 男 2、打开: P125“学生”数据库,对”学生

24、档案“表做如下操作: 如果“学生档案”表不在数据库之上,则需添加; “民族”的默认值为:汉 追加一空记录,查看表记录 “电话”的默认值为:null 在“浏览”窗口下,追加记录,查看表记录,三、参照完整性与表之间的关联 参照完整性是建立在父表与子表之间联系的基础上,它的大概含义是:在插入、删除或修改一个表中的数据时,通过参照引用相互关联的一个表中的数据来检查对表的数据操作是否正确。 参照完整性包括更新规则、删除规则、插入规则。,(一)掌握以下观点: 1、同一系统中的各个表之间存在着相互的联系。 2、各个表之间通过关键字段值相等的原则,建立永久性关系。 (二)建立永久关系的步骤: 1、在数据库设计

25、器中完成所有操作; 2、设置索引(各关联表的关键字段,主、普); 3、关联: 父表(主索引) 子表(主、普) 4、设置关系的数据完整性。,拖动,(三)数据完整性 两个相互关联的表之间,为了保证记录的一一对应关系,在对父表的主关键字段值修改时,子表能自动更新相关的值,以确保两表的数据完整性。 两个已经建立永久性关系的表,在对父表进行数据更改、插入新记录、删除原记录的操作时,在子表中能自动根据关系的数据完整性规则,触发相应的操作机制,用以实现表的数据完整性。 (四)自动触发机制有三种方式: 1.联动:对父表主关键字段值的改变,自动在子表中实现相同的改变。 2.限制:禁止对父表中主关键字段值的改变。

26、 3.忽略:允许对父表中主关键字段值的改变,子表不予理睬,(五)建立多个表的永久性关系的目的是: 维持各个表关系的永久存在,保证各个表的数据完整性。 上机实例: 打开: P125的“学生”数据库,在数据库平台上做如下操作: 1、建立三表的索引: (索引字段、类别根据建立关联的要求及实际情况确定) 2、建立“学生”、“课程”、“成绩”三表间的关系; 3、定义参照完整性规则:表间的更新规则为“级联”; 4、验证表间数据更新的“级联”机制; 5、删除表间关系; 6、删除三表中的所有“索引”。,3.6 自由表 在VFP中可以建立两种表: 自由表 和 数据库表 数据库表:基于数据库建立起来的表 (在数据

27、库平台上 或 数据库打开状态) 自由表:数据库关闭时新建的表 或 基于项目管理器中数据库之下的“自由表”对象新建起来的表 或 数据库表被“移除”后转变而成。 自由表被添加到数据库中后,就成为了“数据库表”。 自由表不能设置有效性规则 及 建立表间关系等。,上机实例:(数据库对表的完全控制) 1、打开P104“学生学籍管理系统”项目; 2、在项目管理器上,新建名为“管理”数据库,关闭平台; 3、把 “学生”表添加到“管理”数据库的“表”对象中; 4、把 “学生”表从“学生管理”数据库中移除; 5、把 “学生”表添加到“管理”数据库中; 6、“浏览”表记录,“修改”表结构; 7、把 “学生”表添加

28、到“学生管理”数据库中; 8、“浏览”表记录,“修改”表结构; 9、对比在两个数据库中“学生”表的“记录”与“结构”有何异同; 10、删除“管理”数据库。,上机实例:(数据库表与自由表的互换) 1、打开P104“学生管理”数据库; 2、在数据库平台上, 浏览 “学生”表记录,修改表结构; 3、把 “学生”表从“学生管理”数据库中移除; “学生”表成为自由表 4、关闭数据库平台的窗口,但数据库仍处于打开状态; 5、使用VFP主菜单打开 “学生”自由表; 6、使用VFP主菜单“浏览”表记录,“修改”表结构; 7、使用VFP主菜单显示数据库设计器,或重新打开数据库。 8、把 “学生”表添加到“学生管理”数据库中; 9、 浏览 “学生”表记录,修改表结构; 10、对比为“数据库表”与“自由表”时,有何异同。,3.7 多个表的同时使用 1、要对表操作,必须先打开表; 2、当打开一个表时,以前打开的表将被自动关闭; 3、任何时候,只有一个表处于打开状态; 4、当数据处理需要用到多个表时,必须采用分工作区技术: 开辟一个工作区,打开一个表; 再开辟另一个工作区,再打开另一个表; 这样就做到了“同时打开多个表” 5、开辟工作区命令: SELECT ,5、工作区的区号: 1、 2、 3、4、 5、 6、 7、8 、 3

温馨提示

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

评论

0/150

提交评论