ImageVerifierCode 换一换
格式:DOCX , 页数:23 ,大小:34.21KB ,
资源ID:3731767      下载积分:2 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/3731767.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(第四章 Visual FoxPro数据库及其操作.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

第四章 Visual FoxPro数据库及其操作.docx

1、第四章 Visual FoxPro数据库及其操作第四章*Visual FoxPro数据库及其操作教学重点 1、数据库和表的建立、修改与有效性检验:1) 表结构的建立与修改。2) 表记录的浏览、增加、删除与修改。3) 创建数据库,向数据库添加或从数据库删除表。4) 设定字段级规则和记录级规则。5) 表的索引:主索引、候选索引、普通索引、唯一索引。2、多表操作:1. 选择工作区。2. 建立表之间的关联:一对一的关联;一对多的关联。3. 设置参照完整性。4. 表的联接JOIN:内部联接。外部联接:左联接、右联接、完全联接。5. 表间临时关联。教学内容 4.1 Visual FoxPro数据库及其建立

2、4.1.1基本概念表:扩展名为dbf文件。数据库:扩展名为dbc的文件。备注文件(FPT)、索引文件(dcx)在建立数据库时会自动建立。4.1.2建立数据库 方法:1) 在项目管理器中建立数据库;2) 通过“新建”对话框建立数据库;3) 使用命令交互建立数据库。1、在项目管理器中建立数据库 项目管理器 “数据” “数据库” 新建 “新建数据库”2、通过“新建”对话框建立数据库 常用 新建 “新建”对话框“数据库” 新建文件3、使用命令交互建立数据库 命令为:CREATE DATABASE 数据库名称|? 功能:建立数据库,并使其处于打开状态,不打开数据库设计器。 说明:省略数据库名称或用?,都

3、会以创建对话框请用户输入数据库名称。4、SET SAFETY OFF:不出现警告对话框直接对相同文件进行覆盖。 SET SAFETY ON:以警告对话框的形式让用户确认是否对相同文件进行覆盖。5、数据库一经建立,就会产生同名的三个文件:基本文件DBC、相关的数据库备份文件DCT、相关的索引文件DCX。4.1.3使用数据库打开数据库的方法:1、在项目管理器中打开数据库:即在项目管理器中选择了相应的数据库即已打开它。2、通过“打开”对话框打开数据库: 步骤基本与建立数据库一致。3、使用命令打开数据库:格式:OPEN DATABASE 文件名|?EXCLUSIVE|SHAREDNOUPDATEVAL

4、IDATE功能:打开数据库。说明:1) 如省略文件名或用?,则显示“打开”对话框。2) EXCLUSIVE:以独占方式打开数据库,即不允许其他用户在同一时刻使用该数据库。3) SHARED:以共享方式打开数据库,即不独占。4) 默认的打开方式由SET EXCLUSIVE ON|OFF来确定,默认为ON。5) NOUPDATE:按只读方式打开数据库,即不允许对数据库进行修改。(实际无作用,要在用USE命令打开表时用NOUPDATE才使数据库中的表为只读的。)默认可修改。6) VALIDATE:指定VF检查在数据库中引用的对象是否合法。7) 数据库打开时,其所包含的表都可用,但这些表不会自动打开,

5、需用USE命令打开。8) 用USE命令打开一个表时,VF先到当前数据库中找该表,如找不到,则到数据库外继续查找并打开指定表。即打开一个表并不一定要打开数据库。9) 可同时打开多个数据库,但只有一个当前数据库。指定当前数据库命令是:SET DATABASE TO 数据库名称4.1.4修改数据库 修改数据库是打开数据库设计器,其操作方法有:1、从项目管理器中打开数据库设计器;操作步骤:1) 展开项目管理器中的数据库分支;2) 选择要修改的数据库;3) 单击修改。2、通过“打开”对话框打开数据库设计器: 打开数据库会自动打开数据库设计器;3、使用命令打开数据库设计器;格式:MODIFY DATABA

6、SE 数据库名|?NOWAITNOEDIT说明: 如省略数据库名或使用?,则打开“打开”对话框; NOWAIT:(该项只在程序中使用)在数据库设计器打开后程序继续执行MODI DATA命令后的语句;若省略该项,则在打开数据库设计器后,应用程序暂停,直到数据库设计器关闭后程序再继续执行。 NOEDIT:只打开数据库设计器,却禁止对数据库进行修改。4.1.5删除数据库方法有二种:1、从项目管理器中删除数据库; 步骤:1)在项目管理器中选择要删除的数据库;2)按移去按钮;其中:移去从项目管理器中删除数据库,但并不物理删除该数据库文件;删除从项目管理器及磁盘上均删除该数据库文件。取消本次操作取消。注:

7、Visual FoxPro的数据库文件同项目文件相似,即并不真正含有数据库表或其他数据库对象,只是在数据库文件中登录了相关的条目,表、视图或其他数据库对象是独立存盘的。所以对数据库的“移去”和“删除”操作,都没有涉及到其中的对象。要在删除数据库的同时也删除表等对象,需要使用命令: 格式:DELETE DATABASE 数据库名|?DELETETABLESRECYCLE 功能:删除数据库的同时也删除其中的对象。 说明:1)要删除的数据库必须是关闭的。2)若省略数据库名或用?,则会打开删除对话框以选择要删除数据库文件。3)DELETETABLES:在删除数据库文件的同时从磁盘上删除该数据库所含表等

8、。4)RECYCLE:将删除的数据库文件和表文件等放入回收站。4.2 建立数据库表4.2.1在数据库中建立表 方法:1、使用数据库设计器建立表 步骤:1)创建数据库或打开已有的数据库,自动弹出数据库设计器;2)“数据库”或数据库设计器的对象快捷菜单“新建表”;3)选择表新建表;4)设置创建对话框;5)设置字段和记录。 注:下面解释字段的基本内容和概念 1)字段名: 自由表字段名最长为10个字符。 数据库表字段名最长为128个字符。 字段名必须以汉字或字母开头,由汉字、字母、数字和下划线组成。 字段名中不能包含空格。2)字段类型和宽度: 字符型:可以是字母、数字等各种字符型文本。 数值型:整数或

9、小数。 货币型:货币单位。 浮点型:类似于“数值型”,其长度在表中最长可达20位。主要是为了与以前版本兼容。 双精度型:用于要求精度很高的数据。取代数值型,采用固定存储长度的浮点数形式,小数点位置由输入的数据值来决定。 整型:不带小数点的数值类型。 日期型:由年、月、日构成的数据类型。 日期时间型:由年、月、日、时、分、秒构成的数据类型。 逻辑型:值为.T.(真)或.F.(假)。 备注型:不定长的字符型文本,存放内容在.fpt文件中的位置。其中的具体数据信息存储在主文件名与表文件的主文件名相同、扩展名为FPT的备注文件中。 通用型:用于标记电子表格、文档、图片等OLE对象。(对象的具体内容由其

10、他应用软件建立) 字符型(二进制):同“字符型”,但当代码页更改时字符值不变。 备注型(二进制):同“备注型”,但当代码页更改时字符值不变。 空值:就是缺值或还没有确定值。空值与空字符串、数值0意义不同。作为关键字的字段不允许为空值,字段有NULL项,表示是否允许字段为空值。一个字段是否允许为空值与实际应用有关。3)数据库表的字段属性1、字段有效性组框:可以定义字段的有效性规则、违反规则时的提示信息和字段的默认值。规则:指定字段数据的有效范围。满足该条件,数据才能放入该字段。向该字段中输入数据,输入的数据格式要受“输入掩码”的控制,同时还要满足字段“规则 ”中指定的条件。信息:当企图向字段输入

11、不符合“规则”的数据时,显示给用户的提示内容。默认值:在向表中添加记录而未向该字段输入数据前,系统向该字段预置的值。如:实验题中一个字段名为出生日期,在添加记录时,可预置一个当前月的数据。2、显示组框:可定义字段显示的格式、输入的掩码和字段的标题。格式:实质是一个输出掩码,控制字段在表单、报表、浏览窗口等界面中显示的样式。(要用字段的显示属性格式字符来设置)输入掩码:是字段的一种属性,限制或控制用户输入的格式。(要用字段的显示属性掩码字符设置)标题:字段显示时的标题,如不指定标题则显示字段名。一般情况下,用代号(标题的内容比字段名字符更少)作为字段名编程可少输汉字;而在浏览表和选择字段等功能时

12、给字段加标题(标题的内容比字段名字符更多)可让看到的内容更直观。3、字段注释:解释性语句,便于日后或其他人对数据库进行维护。4)数据库表的记录属性:1、记录有效性规则:指定数据记录的有效条件。满足该条件,数据才能从当前记录移出。信息:当不符合记录有效性“规则”时,显示给用户的提示内容。2、触发器触发器是系统提供的记录级事件。事件触发时可执行的条件表达式或用户自定义函数在相应的触发器框中设定。函数返回值为.t.,操作被认可,否则操作将被拒绝。用户自定义函数可放在数据库所在的在存储过程中。触发器在记录的验证规则之后运行,在采用缓冲更新时只有在发布TABLEUPDATE()命令后才运行。即使记录的验

13、证规则通过,仍要看触发器的条件。记录验证时只能使用当前记录中的信息,而触发器可跳到当前记录外。插入触发器:当向该表插入或追加记录时触发,执行插入触发器框中指定的条件表达式或用户自定义函数。更新触发器:当修改表记录时产生。执行插入触发器框中指定的条件表达式或用户自定义函数。删除触发器:当删除表记录时产生。执行插入触发器框中指定的条件表达式或用户自定义函数。2、使用命令建立表:步骤:1)打开数据库(用open database);(此步骤如不执行,建立的表将是自由表)2)用CREATE命令建立表;3)在表设计器中完成表的建立。新建的表是打开的;把表关闭后再打开,要用USE 表文件名 命令(省略表文

14、件名,则USE为关闭当前表)。4.2.2修改表结构1、修改表结构包括:1)增加字段:选择新字段位置插入定义该字段。在表中所有字段后增加新字段,见书。2)删除已有的字段:选择要删字段删除3)修改字段名、字段类型、字段宽度;4)建立、修改、删除索引;5)建立、修改、删除有效性规则;2、修改方法:1)在数据库设计器中修改:表的对象快捷菜单“修改”;2)用命令修改:USE 该表文件名MODIFY STRUCTURE,打开表设计器具体改。4.3 表的基本操作4.3.1使用浏览器操作表1、打开浏览器的方法:1) 有项目管理器中选择要操作的表浏览;2) 在数据库设计器中选择表,“数据库” “浏览”或对象快捷

15、菜单“浏览”;3) 先用USE打开要操作的表,再于命令窗口中用BROWSE命令。2、浏览器打开后,可以做如下操作:1)查看浏览记录: 见书P92页。2)添加新记录:按Ctrl+Y快捷键,或者“表” “追加新记录”;再添入数据。3)修改记录:选定要修改的记录的字段值,直接输入新数据。4)删除记录:逻辑删除:给记录加删除标记。Ctrl+T设置或取消删除标记,或“表” “切换删除标记”,变化见P92页图4.13所示。物理删除:将带有删除标记的记录从表中真正删除。“表” “彻底删除” “是”。3、关闭浏览器:即关闭浏览窗口。4.3.2增加记录的命令1、APPEND命令 格式:APPEND BLANK

16、功能:在表的尾部增加(空白)记录。说明:BLANK若有,则增加的是一条空白记录;若无,则立刻以交互方式输入多个新的记录值。2、INSERT命令格式:INSERT BEFORE BLANK功能:在表的当前记录位置之前/后插入新的记录。说明:1)BEFORE:若有,则在当前记录之前插入新记录;否则在当前记录之后插入新记录。2)BLANK:若有,则插入空白记录;无则插入多条新记录并立刻交互式输入该记录值。注:如表已建立主索引或候选索引,则不能用APPE或INSE命令插入记录,必须用SQL的INSERT命令插入记录。即要使INSERT起以上作用,则要把所有索引文件均关闭。(当有索引打开的时候,以逻辑顺

17、序排列插入的记录)4.3.3删除记录的命令1、设置删除标记的命令格式:DELETE 范围 FOR 条件表达式功能:给指定范围内满足条件的记录设置删除标记。说明:若无范围及FOR条件,则只逻辑删除当前记录;若有,则逻辑删除指定范围内使该表达式为真的所有记录。范围:指定参加操作的记录范围。形式有四种:ALL:全部记录;NEXT N:从当前记录开始的N个记录(包括当前记录在内);REST:从当前记录开始到最后一个记录(包括当前记录在内);RECORD N:记录号为N的一个记录。2、恢复记录的命令格式:RECALL 范围 FOR 条件表达式功能:给指定的已加删除标记的记录撤消删除标记。说明:若无范围及

18、FOR条件,则只恢复当前记录的删除标记;若有,则在指定范围内使该表达式为真的所有记录均恢复删除标记。该命令也受索引影响,即有索引文件打开时,所删记录是按逻辑顺序来选的。记录删除测试函数 格式:delete() 例如:copy to tsda2 for delete()表文件记录数测试函数:格式:RECCOUNT(N型表达式)功能:返回值是第“N型表达式”号工作区上已打开的表中目前的记录总数。函数值为N型。说明:省略“N型表达式”,指定当前工作区;若指定工作区上没有打开的表文件,则返回0。该函数统计的记录数不受DELE、SET DELE ON 影响。(而COUNT 命令会受影响)RECSIZE(

19、数值表达式):返回工作区的记录长度(数值表达式为工作区号)FCOUNT(数值表达式):返回工作区的字段总数(数值表达式为工作区号)3、物理删除有删除标记的记录格式:PACK功能:从当前表中删除所有带删除标记的记录,且不可再恢复。4、物理删除表中的全部记录格式:ZAP功能:将当前表中的全部记录均物理删除,不管是否有删除标记。4.3.4修改记录的命令1、用EDIT或CHANGE命令交互式修改见书P94页。2、用REPLACE命令直接修改格式:REPLACE 字段名1 WITH 表达式1,字段名2 WITH 表达式2 FOR 条件 范围功能:将指定范围内满足条件的记录的多个字段值用对应的表达式的值进

20、行替换。说明:不用范围及FOR 条件,则只修改当前记录;否则修改所有指定范围内使条件为真的记录的指定字段值。4.3.5显示记录的命令格式:LIST/DISPLAY 范围 FOR 条件 WHILE 条件 FIELDS表达式表 OFF TO PRINT PROMPT|TO FILE 文件名功能:显示指定记录的指定字段值。说明:1、若范围及FOR条件项均省略,对LIST默认为ALL,对DISP默认为当前记录。例1:LIST 例2: GO 2 DISP RECO 3 LIST NEXT 4 DISP NEXT 3 LIST RECO 2 DISP REST LIST REST 注意每条命令执行完后记录

21、指针的位置。2、表达式表:是用逗号隔开的字段名表达式列表,省略则显示全部字段。3、FOR 表达式:是条件表达式,若有,则显示满足条件的记录。若无,对LIST来说显示全部记录;对DISPLAY来说只显示当前记录。4、TO PRINTER:有则将结果即显示又打印;无则只显示。5、TO FILE:将结果输出到文件,默认文件名为.TXT。例:设有一学生成绩表文件,其中有字段:姓名(C,8)、数学(N,3)、语文(N,3)、英语(N,3)、及格(L,1)1、显示当前表中所有姓李的记录。List for 姓名=李2、显示当前表中名字中含有“杨”字的记录。List for “杨”$姓名3、显示当前表中数学成

22、绩在75分85分之间的记录。List for 数学=75.and.数学=85注意:以下写法是错误的:Display for 800=1200Display for 工资=800.and. =12004、显示当前表中三科成绩至少有一科不及格的记录。List for数学60.or.语文=605、显示当前表中所有成绩及格者的姓名。 List 姓名for数学=60.and.语文=60.and.英语=606、将每条记录的“及格”字段值正确填入,并显示出来。Repl 及格 with .t. for 数学=60.and.语文=60.and.英语=60List for 及格 或List for 及格=.t.R

23、epl 及格 with .f. for 数学60.or.语文60.or.英语60List for not 及格 或List for 及格 =.f.4.3.6查询定位命令1、用GOTO命令直接定位格式:GO 记录号| TOP| BOTTOM功能:指针直接按记录号定位。说明:1)记录号:具体可由数值型函数、数值表达式或数值型变量组成,表示记录号。2)TOP:指第一条记录。3)BOTTOM:最后一条记录。2、SKIP命令格式:SKIP 数值型表达式功能:从当前记录处开始移动N次指针(不包括当前记录在内)。说明:1) 数值型表达式:为正整数N时,表示向表尾方向移动N次指针。为负整数时,表示向表头方向移

24、动N次指针。若省略,则表示向表尾方向移动一次指针。2) 文件头:文件的开始标志,第一条记录再SKIP 1,不是TOP。3) 文件尾:文件的结束标记,最后一条记录再SKIP +1,不是BOTTOM涉及到的函数有:(1)、测试当前记录号函数:格式:RECNO(N型表达式)功能:返回值是第“N型表达式”号工作区上已打开的表文件中当前记录的记录号(整数值)。函数值为N型。说明:省略“N型表达式”,指定当前工作区;若指定工作区上没有打开的表文件,则返回0;若当前记录指向文件头(BOF()函数值为.T.),则返回值为1;若当前记录指向文件尾(EOF()函数值为.T.),则返回值为记录总数+1。 例: US

25、E A:考生成绩 ?RECNO( ) &显示结果为1 GO 3 ?RECNO( ) &显示结果为3 ? reccount() 10 go 5 list rest ? recno() 11 (2)、测试表文件头函数:格式:BOF(N型表达式)功能:当第“N型表达式”号工作区上已打开的表文件当前记录已指向第一个记录的前面(称为文件头,是无效记录),返回值是.T.;否则是.F.。函数值为L型。说明:省略“N型表达式”,指定当前工作区;若指定工作区上没有打开的表文件,则返回.F.。 例: USE A:考生成绩 ?BOF( ),RECNO( ) &显示结果为 .F. 1 SKIP -1 ?BOF( ),

26、RECNO( ) &显示结果为 .T. 1 (3)、测试表文件尾函数: 格式:EOF(N型表达式)功能:当第“N型表达式”号工作区上已打开的表文件当前记录已指向最后一个记录的后面(称为文件尾,是无效记录),返回值是.T.;否则是.F.。函数值为L型。说明:省略“N型表达式”,指定当前工作区;若指定工作区上没有打开的表文件,则返回.F.。 例: USE A:考生成绩 GO BOTTOM ?EOF( ),RECNO( ) &显示结果为 .F. 8 SKIP ?EOF( ),RECNO( ) &显示结果为 .T. 9 注意:1) 对于空记录表,Bof()和Eof()都为逻辑真。2) 记录号永远都是从

27、1到总记录数+13、用LOCATE命令定位格式:LOCATE 范围 FOR 条件 功能:在指定范围内查找满足条件的第一条记录,若找到,则当前记录定位在该记录上,否则当前记录定位在(无条件时,定位在范围的最后一条记录上)文件尾。说明: Locate命令找到记录后并未显示结果,必须用display命令显示,但不能用list命令;寻找第二个符合条件的记录不能再用Locate命令,即在同范围条件内多次使用本命令,每次只能将记录指针定位到同一条记录。继续查找命令格式:CONTINUE功能:将记录指针指向当前记录后且满足指定范围、条件的下一条记录。说明:Continue只能用于和Locate命令配合使用,

28、不能和索引查询的命令Seek和Find一起使用。4.4 索引4.4.1基本概念索引:由一个指向.dbf文件记录的指针构成的文件。这些指针逻辑上按照索引关键字值进行排序。索引并不改变表中所存储数据的顺序,它只改变了Visual FoxPro读取每条记录的顺序,以便加速检索的速度。(但索引会降低插入、删除和修改等操作的速度)表中记录在表文件中的存储顺序称为物理顺序,记录号就是物理顺序号,即第几号记录所指的顺序;而索引后改变了记录间的物理排列顺序,此时记录间是按逻辑顺序来排列的,即为第几条记录所指的顺序。索引的分类:1、主索引主索引:在指定字段或表达式中不允许出现重复值的索引,保证了字段值的唯一性。

29、主关键字:建立主索引的字段就是主关键字。一个表只能创建一个主索引,且只有数据库表才可建立主索引。2、候选索引候选索引:与主索引同特性。一个表中可建立多个候选索引,数据库表和自由表均可建立候选索引。3、惟一索引惟一索引:作为惟一索引的索引关键字,其表中记录的值可重复,但在索引文件中仅保存重复值记录的第一个。一个表中可以建立多个唯一索引,数据库表和自由表均可建立候选索引。4、普通索引普通索引:作为普通索引的索引关键字,其表中记录的值可重复。一个表中可建立多个普通索引,数据库表和自由表均可建立候选索引。5、四种索引的异同点:见书P97页。 通常,主索引用于主关键字字段;候选索引用于那些不作为主关键字但字段值又必须惟一的字段;普通索引用于一般地提高查询速度;惟一索引用于一些特殊的程序设计。4.4.2在表设计器中建立索引1、单项索引建立步骤:“表设计器”“字段” “索引”建立索引后,更改索引类型:“表设计器” “索引” “类型”2、复合字段索引 复合字段索引:在多个字段上的索引。建立方法: “表设计器” “索引” “插入”,设置增加字段的索引内容。3、删除索引 “表设计器” “索引” “选择索引” 删除4.4.3用命令建立索引格式:INDEX ON 关键字表达式 tag 结构复合索引标识名o

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1