表与数据库的基本操作VFP6.0考级专用.ppt_第1页
表与数据库的基本操作VFP6.0考级专用.ppt_第2页
表与数据库的基本操作VFP6.0考级专用.ppt_第3页
表与数据库的基本操作VFP6.0考级专用.ppt_第4页
表与数据库的基本操作VFP6.0考级专用.ppt_第5页
已阅读5页,还剩66页未读 继续免费阅读

下载本文档

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

文档简介

1、Visual FoxPro 6.0 程序设计与应用教程,第四章,数据库与表的基本操作,Visual foxpro 基本操作入门,启动Visual foxpro 选择VFP快捷命令启动Visual foxpro “开始”“程序” “Microsoft Visual Foxpro6.0” 在桌面上双击VFP快捷方式图标 运行“VFP6.EXE”文件启动Visual foxpro,状态行,项目管理器,标题栏,主菜单,窗口大小控制区,常用工具栏,命令窗口,系统输出窗口,Visual foxpro 主窗口,主窗口包括:标题栏、控制菜单按钮、最小化/最大化或还原/关闭按钮、菜单栏、工具栏、主窗口显示区、命

2、令窗口、状态行等。 状态行:用于显示系统的当前状态信息,包括正在使用的表名及其存放的文件夹、当前表的记录数、以独占或共享方式打开表、插入或改写状态、数字锁定或非锁定状态、字母大写或小写状态 VFP主菜单 菜单:由一系列菜单命令组成,有系统菜单、快捷菜单、子菜单和用户菜单等。 菜单命令:一个命令名或过程名,每一个命令都是一个VFP命令的快捷方式,单击它即执行相应的命令。,Visual foxpro 主窗口简介,VFP工具栏 有十几种工具,“常用”工具栏是VFP默认显示的工具栏,VFP允许同时打开多个工具栏。 选择“显示”-“工具栏”-选定需要的工具栏-最后“确定”,访问键:键盘上的字符,这些字符

3、一般标示在菜单命令右侧括号内,并加有下划线。键入Alt+字符激活 。 动态菜单:是指在运行某一命令时才会被激活的菜单。,Visual foxpro 的工作方式,主要有交互式方式和可视化操作,包括选择命令的快捷方式、键入命令方式和命令文件方式 1、命令的快捷方式:主要设置在菜单系统、工具栏和快捷菜单上,快捷菜单上还有访问键和快捷按钮。 快捷菜单:当用户在选定的内容上单击鼠标右键时出现的菜单,它与选定内容相关。 快捷键:用于执行某项任务的一个按键或组合键,一般在菜单项的右端提示。 2、命令方式 直接在命令窗口中输入命令,并按回车。 如果输入的命令符合VFP的语法要求,则命令关键字用蓝色字体显示,否

4、则,用黑色字体显示。,3、命令程序方式:是指将VFP的一系列命令按照一定的顺序组织成一个文件,通过调用这个文件依次执行预定的命令,实现自动操作功能。 有些命令只能用命令方式执行。 “命令窗口”可以隐藏或显示,隐藏转换显示可按+,退出Visual foxpro,在关闭VFP之前,最好先关闭所有的数据库和表等操作对象,避免数据丢失。 1、常用方法 单击VFP主窗口右上角的“关闭按钮。 2、其它方法 选择“文件”菜单-选择“退出” 在VFP主窗口下,按+ 在命令窗口中执行“QUIT”命令 双击VFP主窗口左上角的“控制菜单按钮” 右键单击任务栏上的VFP图标-选择“关闭”,4.1 数据库的基本操作,

5、在VFP中表分为数据库表和自由表 自由表:是独立的表,存在于任意一个数据库之外,不属于任何数据 数据库表:若干表组织到数据库中形成数据库表,表的设计过程,1.定义表名 2.定义表的字段属性 3.向表中输入数据,准备工作:根据需要管理的数据表内容进行分析 数据如下:,1.定义表名 确定表文件名 STUDENT.DBF 2.定义表的字段属性 确定数据库文件结构中的每一个字段名、字段类型、长度,表结构如右所示,3.向表中输入数据,Visual Foxpro的表可以包含多达255个字段,若一个或多个字段包含NULL值,表可包含的最大字段数则减少一个,即254个 字段名:可以由字母、汉字、数字和下划线组

6、成并以字母或汉字开头的命名,不能使用空格、逗号等分隔符号 数据库表:字段名最多可包含128个字符,若变成自由表,长字段名将被截短成10个字符 自由表:字段名不得超过10个字符或5个汉字. NULL 值 无明确的值,不等同于零或空格。 (1)等价于没有任何值 (2)与0、空字符串()或空格不同 (3)排序优先于其他数据,表的创建,数据库表的建立方法: 项目文件数据库新建数据库新建表,自由表的建立方法: 项目文件自由表新建,自由表的建立,表结构的创建,数据库表 项目文件数据库包含数据库表的数据库表 新建 输入表名字 输入结构 自由表 自由表新建 输入表名字 输入结构,数据库表结构的输入,自由表结构

7、的输入,表记录的输入,1. 创建表结构后选择“是”按钮,立即输入数据 2. 在浏览窗口和编辑窗口表中追加新记录(Ctrl+W 存盘 Ctrl+Q 或 ESC 键放弃本记录输入) 3. 备注字段与通用字段的输入,双击或Ctrl+Home进入该字段输入窗口。 Ctrl+Q 或 ESC 键放弃该字段的输入。,自由表与数据库表之间的互换,自由表与数据库表之间的互换: 将自由表变为某个数据库表:选项目文件、数据库、添加表 将数据库表变为自由表:选项目文件、数据库、选定表、移去 用同样方法在学生成绩项目文件中的学生成绩数据库中再建立四个数据库表:成绩(GRADE.DBF)、课程(COURSE.DBF)、教

8、师(TEACHER.DBF)、授课(TEACH.DBF) P58,表结构的修改(1),利用表设计器来修改表的结构 数据库表结构的修改 启用表设计器的方法: 方法一:在项目管理器中选择要修改的表名,单击修改 方法二:在数据库设计器中选择要修改的表,单击修改,表结构的修改(2),自由表结构的修改 打开自由表 显示 表设计器,表的数据浏览、编辑、 记录定位与删除,查看和浏览表中内容:显示edit/浏览browse 向表中加入新记录:显示/追加方式(append) (或表/追加新记录(append) 删除表中记录: 删除标记(delete)/彻底删除(pack) 恢复记录(Recall) 定位到记录(

9、Locate ) 字体设置 调整字段显示的大小: 表/调整字段大小,4.2 表的索引,索引的概念: 记录的物理顺序与逻辑顺序: 物理排序:文件中的记录一般按其磁盘存储顺序输出,这种顺序称为物理顺序。 索引排序:它不改变记录的物理顺序,而是按某个索引关键字(或表达式)来建立记录的逻辑顺序。 索引后产生一个索引文件,在索引文件中,所有关键字值按升序或降序排列,每个值对应原文件的一个记录号,这样便确定了记录的逻辑顺序。也称逻辑排序 索引文件中只包括关键字和记录号两个字段,比被索引的表要小。,物理顺序与索引顺序,VFP索引文件的种类: 复合索引文件:文件扩展名为 .CDX 一个或多个索引关键字 可分为

10、结构复合索引文件和非结构复合索引文件 结构复合索引文件:与表文件同名 非结构复合索引文件:与表文件不同名 独立索引文件:文件扩展名为.IDX(为与FOXBASE兼容)单独一个索引关键字 可建多个文件,若打开表的时候没有打开,则数据不会同步更新。,索引的四种类型:,在表设计其中创建索引,1.创建索引 演示举例对表STUDENT.DBF按专业索引 2.用多个字段进行索引 演示举例对STUDENT.DBF表按专业排序,如果专业一样,按日期排序 注意字段的索引表达式为: STUDENT.专业DTOC(STUDENT.出生日期) 注意:要观察索引效果必须选定主索引(操作:窗口/数据工作期/属性/索引顺序

11、),用命令方式建立索引 (补充),索引的建立: 命令格式 独立索引文件的建立 INDEX ON 索引关键字 TO 独立索引文件名 FOR 条件COMPACT ASCENDINGUNIQUE ADDITIVE 复合索引文件和索引标识的建立 INDEX ON 索引关键字 TAG索引标识名 OF 复合索引文件名 FOR 条件 COMPACT ASCENDINGDESCENDING UNIQUE | CANDIDATE ADDITIVE 说明:单索引时不能用选项:DESCENDING、CANDIDATE,说明: (1)TO子句适用于建立单索引文件,单索引文件名由单索引文件名给出,扩展名为.IDX (2

12、)该命令建立普通索引型索引文件 (3)UNIQUE表示建立唯一索引型索引文件 (4)CANDIDATE表示建立候选索引型索引文件,但需与TAG子句同时使用。 打开STUDENT.DBF,建立按专业升序排列的普通索引型单索引文件ZY.IDX USESTUDENT INDEXON专业TOZY BROWSE,建立按降序排列的唯一索引型单索引文件JGIDX.IDX INDEXON奖学金TOJXJUNIQUE (5)COMPACT选项用于指定单索引文件为压缩 (6)OF选项复合索引文件名用来指定非结构复合索引文件的名字,若缺省该选项,则表示建立结构复合索引文件 (7)记录逻辑顺序默认为升序,也可用ASC

13、ENDING选项表示升序。DESCENDING选项表示降序。 (8)ADDITIVE表示建立本索引文件时并不关闭先前打开的索引文件,为Student.DBF建立一个结构复合索引文件,其中包括标识索引:记录以学号降序排列,索引标识为XH普通索引 USESTUDENT INDEXON学号TAGXHDESCENDING BROWSE 为STUDENT.DBF建立一个结构复合索引文件,其中包括标识索引:记录以专业升序排列,专业相同时则按出生日期升序排列,索引标识为 ZYRQ 普通索引 USESTUDENT INDEXON专业DTOC(出生日期)TAGZYRQ BROWSE,为STUDENT.DBF建立

14、一个结构复合索引文件,其中包括标识索引:记录以专业升序排列,专业相同时则按奖学金降序排列,索引标识为ZYJSJ候选索引 USESTUDENT INDEX ON 专业+STR(1000奖学金,7,2) TAGZYJXJCANDIDATE BROWSE ( 候选索引时,表中不允许有相同关键字值的记录 ),为STUDENT.DBF建立一个非结构复合索引文件,其中包括标识索引:记录以学号升序排列,索引标识为XH普通索引,索引文件名为XH1.CDX USESTUDENT INDEXON学号TAGXHOFXH1 BROWSE,索引的使用,要使用索引查询,必须同时打开表与索引文件, 一个表可以同时打开多个索

15、引文件,同一个复合索引文件中也可能包含多个索引标识,但任何时候只有一个索引文件能起作用,在复合索引文件中也只有一个索引标识能起作用。当前起作用的索引文件称为主控索引文件,当前起作用的索引标识称为主控索引。 索引使用步骤: (1)单索引文件 打开表、打开索引文件(可能多个索引文件)、确定主控索引文件 (2)复合索引文件 打开表、打开索引文件、确定主控索引文件、确定主控索引,打开和关闭索引文件 (1)索引文件刚建立时,索引文件呈打开状态且成为主控索引文件 USESTUDENT INDEXONXHTOXH (XH.IDX成为主控索引文件) 或: USESTUDENT INDEXON专业TAGZY (

16、标识索引 ZY成为主控索引) 打开索引文件命令格式: SETINDEXTO索引文件名表ADDITIVE,(2)若当前只有打开一个索引文件,则本身成为主控索引文件 USE STUDENT SET INDEX TO XH (XH.IDX成为主控索引文件) (3) 若当前只有打开多个索引文件,则第一个成为主控索引文件 USE STUDENT SET INDEX TO XH,ZY,ZYRQ (XH.IDX成为主控索引文件),(4)当表打开时,结构复合索引文件自动打开,而非结构复合文件还需SETINDEXTO非结构复合文件名来打开 USE STUDENT (结构复合文件自动打开) SET INDEX T

17、O XH1 (打开非结构复合文件) (5)表关闭时,索引文件自动关闭 USE (相关的索引文件自动关闭) (4)确定主控索引文件或主控索引 SETORDERTOTAG,4.3数据库的基本操作,数据库表间的永久关系 作为数据库的一部分被保存起来的数据库表之间所建立的关系 数据库表间的临时关系 用“数据工作期”或set relation命令建立的自由表之间的关系,建立表间的一对一关系 sele 1 use teach sele 2 use course inde on 课程号 tag kch sele 1 set rela to 课程号 into course sele 1 brow fiel 教

18、工号,课程号,b-课程名,b-课时,b-学分,一对多关系 一方为父表 关键字段为主索引字段 字段值唯一 多方为子表 关键字段为普通索引字段 字段值重复,STUDENT.DBF,GRADE.DBF,建立表间的一对多关系,建立表间的一对多关系,将主表的主索引关键字段拖动到子表的索引字段 单击关系连线,连线变粗,Delete键可以删除关系 例: sele 2 USE grade orde 学号 sele 1 USE student orde 学号 set rela to 学号 into grade set skip to grade brow fiel student-学号, student-姓名,

19、 grade-课程号, grade-成绩,4.4数据库表设计器的基本操作,利用表设计器来修改表的结构,字段有效性设置:用于字段验证 (1)规则:输入该字段内容时,符合规则条件的字段内容时,光标才能离开该字段 如:LEFT(学号,2)=“99” (2)信息:当该字段输入的数据违反条件时,出错信息将显示该文本框内容 如:“学号前二位应是99” (3)默认值:指定字段的默认内容,当增加记录时,字段默认值会在新记录中显示出来,从而提高输入速度。 (SETCARRYON/OFF可设置是否传递字段值给新记录),设置显示格式:用于格式化输入输出 (1)格式(也称功能符)设置: 如:一个!能使该字段宽度内的所

20、有输入输出内容均转为大写 一个A表示该字段宽度内所有内容仅允许输入字母 如:若字段内的内容为xy19MN 格式设置为 ! 则显示为XY19MN,(2)输入掩码(也称格式符)(输入掩码是按位来指定格式)输入掩码可以 的字符: (3)标题:标题文本内容在显示浏览时,将字段名用标题文本框的内容标示,4.5 多表操作,多表操作要使用多个工作区,每个工作区是一个表的独立存储区域,并且都有自己的编号: A、B、C、D、.、H、I、J前十个工作区 或1、2、3、4、.、32767 VFP可以有32767个工作区,每个工作区可以打开一个数据表。但只有一个工作区为当前工作区,该区上打开的表为当前数据表。,如果在

21、多个工作区同时打开多个表文件,在当前工作区中移动表的记录指针时,其它表的记录指针是不会随之移动 。如果要想其它表的记录指针也随之移动,则要建立表间的关联。 关联就在二个或二个以上的表之间建立某种联接,使其表的记录指针同步移动。用来建立关联的表称为父表,被关联的表称为子表。在两个表之间建立关联,必须以某一个字段为标准,该字段称为关键字段。表文件的关联可分为一对一关联、一对多关联和多对多关联。 建立关联的方法 命令 set relation to 数据工作期,表的关联,表之间的关系,多对一关系,STUDENT.DBF,GRADE.DBF,一对多关系,STUDENT.DBF,GRADE.DBF,1、

22、命令建立关联,格式:SET RELATION TO INTO / , INTO / IN /ADDITIVE,功能:在两个表之间建立关联。 参数描述: :指定用来在子表和父表之间建立关联的关联表达式。关联表达式经常是子表主控索引的索引表达式。,可以是下列三种参数之一: 1、是记录号函数RECNO()。此时,两个或多个关联表之间的联系是根据记录号来进行关联的,关联表与被关联表之间当前记录号保持相等。如果关联表记录的记录号大于被关联表的记录总数,则被关联表的当前记录指针指向最后一条记录的下一条记录,EOF()函数值为.T.。,SELECT 2 USE SCORE ALIAS CJ SELECT 1

23、 USE STUDENT SET RELATION TO RECNO() INTO CJ,2、是数值型表达式。此时,在表达式中通常含有RECNO()函数,每当关联表的记录指针重新定位时,被关联表的记录指针将重新定位于的值所对应的记录之上。如果的值大于被关联表文件的记录总数,则被关联表文件的当前记录指针指向最后一条记录的下一条记录,EOF()函数值为.T.。,SELECT 2 USE SCORE ALIAS CJ SELECT 1 USE STUDENT SET RELATION TO 3*RECNO()-2 INTO CJ,3、选择二个表的公共字段建立关联,使用这种方法时,要求被关联的表文件必

24、须是按指定的公共关联字段建立并打开了索引文件。,SELECT 2 USE SCORE ALIAS CJ INDEX ON 学号 TO XHSY SELECT 1 USE STUDENT SET RELATION TO 学号 INTO CJ,INTO /:指定被关联表的工作区或别名,也可以是被关联表的别名。,ADDITIVE:建立关联时,如果命令中不使用ADDITIVE子句,则父表以前建立的关联将自动解除;若使用了ADDITIVE子句,则父表以前建立的关联仍然保留。 说明:在建立关联之前,必须打开一个表(父表),而且还必须在另一个工作区内打开其它表(子表)。相关的各表通常有一个相同的字段。父表可

25、以同时与多个子表建立关系,称为“一父多子”的关系。可以是字符型、数值型、日期型表达式。如果建立父子关联之前,子表已经按照关联条件建立了索引,并将该索引文件指定为主控索引,那么,每当当前工作区父表的记录指针重新定位时,就检索子表,将子表的记录指针定位于值与值相同的第一条记录之上。允许在多个工作区中建立多个表之间的关联,但关联不能构成循环。,这样建立的关联,只能显示一对一的关系,当要父表中的一条记录同时对应子表中的多条记录时,还要先用到SET SKIP TO 命令,格式:SET SKIP TO / ,/,功能:在父表的每条记录与子表中所有对应记录之间建立“一对多”的关联。 说明:如果已经建立了一父

26、多子的关联,并且父表与每个子表都要建立“一对多”的关联,那么只要在SET SKIP TO命令中分别写出子表所在的或者即可。,格式1:SET RELATION TO,功能:删除当前工作区表与其它工作区表建立的关联。,用SET RELATION命令建立关联之后,当移动关联表的记录指针时,被关联表的记录指针也相应要移动,并且将要引起读/写磁盘操作,这样会降低系统的性能,因此,当某些关联不再使用,或暂时不再使用时,应及时解除关联,以提高系统的运行速度。,2、解除关联,格式2:SET RELSTION OFF INTO /,功能:删除当前工作区与由/指定的工作区中表建立的关联。该命令必须在父表所在的工作

27、区执行。例如:要关闭当前工作区与C工作区建立的关联。可以作下述命令进行: SET RELATION OFF INTO C 当用USE关闭某些表时,系统将自动删除掉与它建立的关联。如果关闭的是父表文件,则它与子表的关联将全被删除。 当关闭父表时,将自动关闭与父表建立的所有关联。, 窗口 / 数据工作期 弹出数据工作期窗口。 选择【打开】,将需要用到的表在不同的工作区打开。 在别名列表中选择父表,再单击“关系”按钮,再在别名列表中选择子表。,数据工作期建立表的关联, 如果子表文件未指定主索引,系统会打开“设置索引顺序”对话框,以指定子表文件的主索引。 主索引建立后,系统弹出 “表达式生成器”(Ex

28、pression Builder)对话框,在字段列表框中选择关联关键字段,然后单击“确定”按钮,返回数据工作期窗口。, 此时在数据工作期窗口的右侧列表框中出现了子表,在父表和子表之间有一单线相连,说明在两表之间已建立了一对一关联,,若要建立一对多的关联 单击一对多按钮.系统弹出创建一对多关系对话框 在创建一对多关系对话框的子表别名列表框选择子表别名,单击“移动”按钮,子表别名将出现在选定别名列表框中,单击“确定”按钮,完成子表别名的指定,并返回到数据工作期窗口。,在数据工作期窗口中建立STUDENT.DBF和GRADE.DBF两表间的多对一关系。 (父表:GRADE.DBF、子表:STUDEN

29、T.DBF、关键字段:学号、子表STUDENT.DBF需按学号建立索引) 在数据工作期窗口中建立STUDENT.DBF和GRADE.DBF两表间的一对多关系。 (父表:STUDENT.DBF、子表:GRADE.DBF、关键字段:学号、子表GRADE.DBF需按学号建立索引) 浏览显示:如在STUDENT.DBF浏览窗口中只显示学号、姓名,在GRADE.DBF浏览窗口中只显示成绩,可在“工作区属性”对话框中进行字段筛选(注意:必须选定“字段筛选指定的字段”选项按钮),4.6 表的操作命令,1.创建表 (1)命令格式:CREATE文件名 (2)功能:在指定的位置创建一个新表 2.用USE命令来打开或关闭表 (1)命令格式:USE (2)功能:在当前工作区中打开或关闭表,表打开时,若该表有备注型或通用型字段,将自动 名的.FPT文件. (3)说明: 文件名表示被打开的表的名字,缺省时表示关闭当前工作区的表。 打开一个表时,该工作区中原来打开的表自动关闭。 已打开的表有一个记录指针,指针所指向的记录称为当前记录,表刚打开时指向第一个记录。,3.表的记录显示: (1)命令格式:LISTDISPLAY字段名表范围FOR条件OFFTOPRINT 功能:在表中按指定范围与条件选出记录并显示出

温馨提示

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

评论

0/150

提交评论