程序设计基础第3章VF数据库的基本操作.ppt
第一节 VF项目管理器第二节 数据库的创建与使用第三节 数据表的操作第四节 排序与索引第五节 多表操作第六节 数据完整性,准备工作,VF6.0的特点,VF6.0关系数据库系统是新一代数据库管理系统的杰出代表,以它强大的性能、完整而又丰富的工具、超高速的速度、极其友好的界面,以及完备的兼容性等特点,吸引众多的国内外用户,倍受广大用户的欢迎。VF及它的中文版,是可运行于WINDOWS系列平台的32位数据库开发系统,它不仅可以简化数据库管理,而且能使应用程序的开发流程更为合理。VF6.0使组织数据、定义数据库规则和建立应用程序等工作变得简单易行。利用可视化的设计工具和向导,用户可以快速创建表单,查询和打印报表。,VF6.0的安装环境要求,VF6.0系统的正确安装、运行,必须具备相应的环境条件。其最低要求,一般应具备如下环境条件:(1)配置50MHz主频486以上的PC机或兼容机;(2)内存16 MB以上;(3)硬盘最小可用空间15MB;(4)鼠标;(5)VGA或更高分辨率的显示器;(6)中文Windows 95/98或Windows NT以上操作系统;(7)对于网络操作,需要一个与Windows兼容的网络和一个网络服务器。,VF6.0的安装,中文版Visual FoxPro 6.0系统可以由CD-ROM光盘直接安装。操作步骤如下:(1)启动安装程序(2)选择安装方式(3)安装系统组件(4)安装MSDN组件(VF6.0的帮助文档)(5)重新启动系统,完成VF6.0安装(如在Windows 95/98环境下运行 Visual FoxPro 6.0系统,上述安装结束后必须重新启动系统,完成系统的配置,Visual FoxPro 6.0系统的安装才告完成。),VF6.0的启动与退出,安装VF6.0系统时,创建了一个名为Microsoft VF6.0的程序组。为操作方便起见,可将该程序组中V F 6.0 的启动程序图标复制到桌面,建立VF6.0桌面快捷方式图标。1VF6.0的启动2VF6.0的退出 当需要退出VF6.0系统时,可采用多种方式。其中常用的有如下几种:(1)单击【文件】|【退出】菜单项(2)单击主窗口的关闭按钮(3)在“命令”窗口输入QUIT命令,VF6.0的基本操作方式,VF6.0系统为用户提供了几种各具特点的操作方式,用户可根据情况以及应用的需要,选择合适的操作方式,实现数据库的操作、应用。VF6.0系统的操作方式主要有:(1)命令操作方式(2)菜单操作方式(3)程序操作方式,命令操作方式,命令操作是在命令窗口中逐条输入命令,直接操作指定对象的操作方式。命令操作为用户提供了一个直接操作的手段,其优点是能够直接使用系统的各种命令和函数,有效操纵数据库,但要求熟练掌握各种命令和函数的格式、功能、用法等细节;,菜单操作方式,VF6.0系统将许多命令做成菜单命令选项,用户通过选择菜单项来使用数据库。在菜单方式中,很多操作是通过调用相关的向导、生成器、设计器工具,以直观、简便、可视化方式完成对系统的操作,用户不必熟悉命令的细节和相应的语法规则,通过对话来完成操作。有了这种方式,一般用户无需编程就可完成数据库的操作与管理。,程序操作方式,程序操作就是预先将实现某种操作处理的命令序列编成程序,通过运行程序来实现操作、管理数据库的操作方式。根据实际应用需要编写的应用程序,能够为用户提供界面更简洁直观、操作步骤更符合业务处理流程和规范要求的操作应用环境。但程序的编制,需要经过专门训练,只有具备一定设计能力的专业人员方能胜任,普通用户很难编写大型的、综合性较强的应用程序。,VF6.0命令的一般格式,1.VF6.0的命令都有固定的格式,必须按相应的格式和语法规则书写和使用,否则系统无法识别、执行。基本格式如下:其中语法标识符的意义和用法如下:必选项:表示命令中必须选择该项,但内容可以根据需要而定;:可选项:可根据实际需要选用或省略该项内容。|:任选项:根据实际需要任选且必选其中一项内容,2命令中几种常用子句 各种命令一般都包含数量不等的可选子句,操作时根据实际需要选用。子句的作用是扩充、完善命令的功能,很多命令必须通过相应子句的配合,才能有效地、完整地实现命令功能。因此,对于命令的功能与用法是否了解、掌握,更多是体现在对命令中各子句的了解、掌握上,学习时要对此更多关注。命令中常用的子句主要有:(1)范围子句(2)条件子句(3)字段名表子句,(1)范围子句 在很多对表进行操作的命令中,都包含有范围子句,其作用是选择、确定命令操作的记录范围。范围子句的作用相当于关系运算中的选择运算,其选择的条件是某一个记录范围。范围子句有4种具体的选择范围:RECORD:范围是记录号为n的一条记录;NEXT:范围是从当前记录开始的连续n条记录REST:范围是从当前记录开始到表尾的所有记录ALL:范围是表中全体记录,(2)条件子句 条件子句的作用是以指定逻辑条件为依据,从表中选择符合条件的记录。它对应于关系运算中的选择运算。条件子句有2种:FOR:选择表中符合条件的所有记录;WHILE:选择符合条件的记录,直到第一个不符合条件的记录为止。由一个逻辑表达式或关系表达式构成。其值为逻辑型数据。,(3)字段名表子句 字段名表子句的作用是选取命令操作的字段范围。它对应于关系运算中的投影运算。其格式是:FIELDS。其中字段名表由若干个以逗号分隔的字段名构成。有些命令中字段表子句要求以关键字FIELDS引导,有些则可省略,这决定于命令语法格式要求,使用时要注意。除上3 种常用子句外,很多命令还有其他的子句,这需根据命令的功能、格式要求而定,使用时应根据具体情况了解、熟悉,正确地使用。,具体实例,命令名称:记录显示命令命令格式:LIST 范围FIELDS FORWHILE OFFTO PRINTER,3命令书写规则 VF6.0的命令都有相应的语法格式,使用时必须按一定的规则书写、输入。有关命令的书写规则归纳如下:(1)任何命令必须以命令动词开始(2)命令动词与子句之间、各子句之间都以空格分隔(3)命令动词及子句中关键字一般可用缩略形式(4)一个命令行最多包含8192个字符(包括所有的空格)。一行书写不完,行尾用分号“;”做续行标志(5)VF6.0不区分命令字符的大小写(6)除命令动词外,命令中其他部分的排列顺序一般不影响命令功能(7)命令以回车换行符作为结束标志。,返回到目录,数据库的操作,数据库的概念 数据库的创建 数据库的使用 浏览、修改数据库 删除数据库,数据库的创建,命令格式:CREA DATABASE 功能:创建数据库文件并且打开它。,数据库的操作,1、打开数据库OPEN DATA EXCL/SHAR NOUP2、指定当前数据库 SET DATABASE TO 3、显示当前数据库的信息 DISP DATABASE4、关闭数据库 CLOSE DATABASE ALL5、浏览、修改数据库 MODI DATABASE 功能:显示数据库设计器,用于浏览、修改数据库,数据库的删除,命令格式:DELE DATABASE DELETETABLESRECYCLE功能:删除不再使用的数据库,数据表结构的操作,1、确定表的名字,定义表的结构2、建立表的结构(CREA)3、显示表的结构(LIST/DISP STRU)4、修改表的结构(MODI STRU)5、复制表的结构COPY STRU TO FIELDS,数据表的操作,1、打开表文件:(USE EXCL/SHARED)2、关闭表文件(1)USE(2)CLOSE ALL(3)QUIT(4)CLOSE DATABASES ALL(5)CLOSE TABLES ALL3、表文件的复制(COPY TO FIELDSFORWHILE)4、添加数据记录(APPEND BLANK/INSERTBLANKBEFORE),5、显示记录(LIST/DISP)6、定位记录 与记录指针相关的几个函数:(1)RECNO()(2)BOF()(3)EOF()(绝对定位 GO/相对定位SKIP/条件定位LOCATE FOR)7、删除记录(DELE FORWHILE)8、删除生效逻辑开关(SET DELE OFF/ON)用设置命令可以使被逻辑删除的记录继续参与操作,或者“隐藏”起来,不再参与操作。9、恢复记录(RECALL)10、物理删除记录(PACK)11、清除表记录(ZAP)12、删除标记判别函数 DELETED(),12、编辑记录(1)单个记录修改 EDIT/CHANGE FIELDS FORWHILE)BROW FIELDS(2)成批修改记录 REPL WITH,WITH FOR WHILE),表记录和数组之间的数据传递,(1)把当前记录内容送入数组:SCATTER FIELDS to,1、单个记录和数组之间的数据传递,(2)把数组内容送入当前记录 GATHER FROM,从数组向表传递数据,1、把数组内容送入当前记录,把数组内容追加到表文件的末尾处 APPEND FROM ARRAY,把当前打开表文件的全部内容送入数组 COPY TO ARRAY,2、成批记录和数组之间的数据传递,表的排序,命令格式:SORT TO 0N/A/C/D,/A/C/D 范围FIELDS FORWHILE,例:use 学生sort to 学生1 on 性别/d,姓名 use 学生1 list,表的索引,一、索引文件的概念二、索引文件的类型(1)按扩展名可分为复合索引(.cdx)和单索引(.idx)两类。对复合索引按主名又分为结构化的复合索引(文件主名与表名相同)和非结构化的复合索引(文件主名与表的主名不同)。(2)那功能可分为普通索引、唯一索引、侯选索引和主索引。,主控索引的选择,(1)SET ORDER TO TAGASCE|DESC,主控索引的取消,命令格式:SET ORDER TO 0 SET ORDER TO,多表操作,使用USE命令去打开一个表,其实质就是在内存中开辟一个区域,去存放被打开的记录数据。当数据调入内存后,可使用有关命令对记录数据进行操作,以达到加工数据的目的。倘若想对其他表文件操作,还得使用USE命令去打开另外一个表。然而在打开新表的同时,前一个被打开的表也就自动地关闭了,这种情况被称为单工作区操作。注意:同一个工作区中可以打开多个数据库。,这种操作方式在许多情况下难以满足数据处理的需要,为此VPF提供了多工作区操作方式。VFP允许最多同时开辟32767个工作区,打开32767个表。每个工作区以数字132767区分,对于前10个工作区还可以以字母AJ区分。每个工作区只可打开一个表。任何一个表也只能在一个工作区中被打开。,工作区还可以表的别名命名。其命令如下:USE in ALIAS两个与工作区和别名相关的测试函数(1)ALIAS()(2)SELECT(),工作区的选择:SELE/0非当前工作区表的引用:-或.,表的关联,一、关联的概念二、关联的条件1、必须先确定哪个表是父表,哪个表是子表2、必须先为子表的相应字段建立索引三、建立关联的两表之间的关系 1、多对一关系 2、一对多关系 3、一对一关系,建立表的关联,(1)SET RELA TO INTO ADDI,数据完整性,在数据库中数据完整性是指保证数据正确的特性,数据完整性一般包括实体完整性、域完整性和参照完整性等,VF6.0提供了实现这些完整性的方法和手段。实体完整性是保证数据表的记录唯一的特性,即在表中不允许有重复的记录,在VF6.0中利用主关键字或候选关键字来保证表中的记录唯一,即保证实体唯一性。域完整性是保证数据表的字段正确性的一种手段。如在创建表时对字段类型的定义就是属于域完整性的范畴。对数据库表还可设置字段属性和记录规则来进一步保证域完整性。,参照完整性,定义:当插入、删除、修改一个表中的数据时,通过参照引用相互关联的另一个表中的数据,来检查对表数据操作是否正确。,建立表之间的永久联系,在数据库设计器中设计表之间的联系时,要在父表中建立主索引,在子表中建立普通索引,然后通过父表的主索引和子表的普通索引建立两个表之间的联系。,设置参照完整性约束,在建立参照完整性约束之前必须首先清理数据库。在清理完数据库后,用鼠标右键单击表之间的联系并从快捷菜单中选择“编辑参照完整性”。,