第三章VisualFoxPro数据库及其操作_第1页
第三章VisualFoxPro数据库及其操作_第2页
第三章VisualFoxPro数据库及其操作_第3页
第三章VisualFoxPro数据库及其操作_第4页
第三章VisualFoxPro数据库及其操作_第5页
已阅读5页,还剩54页未读 继续免费阅读

下载本文档

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

文档简介

第三章VisualFoxPro数据库及其操作主要内容VisualFoxPro数据库及其建立建立数据库表表的基本操作索引数据完整性自由表多个表的同时使用排序3.1VisualFoxPro数据库及其建立几个基本概念数据库文件(.dbc)数据表文件(.dbf)数据库备注文件(.dct)数据库索引文件(.dcx)新建数据库在项目管理器中新建用新建对话框建立用命令创建createdatabase[数据库名|?]区别:后两种方法建立的数据库游离于项目之外最后一种方法建立的数据库不会打开数据库设计器打开数据库在项目管理器中打开用打开对话框菜单:文件-打开工具栏上的“打开”按钮用命令打开(在程序中用)命令方式OPENDATABASE[FileName|?]注意点P96可以同时打开多个数据库但当前数据库只有一个常用工具栏的数据库下拉列表选择切换数据库命令

SETDATABASETO[databasename]修改数据库三种方式P97项目管理器打开对话框菜单:文件-打开(不同方式)工具栏上的”打开”按钮使用命令方式使用命令打开数据库格式:MODIFYDATABASE[DatabaseName/?][NOWAIT][NOEDIT]功能:打开数据库设计器[NOWAIT]:在程序中有效。即打开数据库设计器后继续运行程序。[NOEDIT]:只是打开数据库设计器,而禁止对数据库进行修改。删除数据库从项目管理器中选择要删除的数据库,然后单击‘移去’按钮。

注意:不管是移去还是删除,都没有删除数据库中的表文件。若要删除数据库的同时删除数据库所包含的表,需要使用命令方式。

DELETEDATABASEDatabasename/?[DELETETABLES][RECYCLE]选择[DELETETABLES]表示删除其中的表文件。选择[RECYCLE]表示把删除的库文件和表文件放到回收站。关闭当前数据库Closedatabase3.2建立数据库表

在数据库中建立表最简单和直接的方法是使用数据库设计器。建立并打开数据库设计器,在其空白处单击鼠标右键弹出“数据库”快捷菜单,从中选择“新建表”。3.2建立数据库表新建表的方式数据库菜单中的新建表选项文件的新建菜单Create表名命令字段的命名规则自由表字段名最长为10个字符。数据库表字段名最长为128个字符。字段名必须以字母或汉字开头。字段名可以由字母、汉字、数字和下划线组成。字段名中不能包含空格。字段类型:l

字符型当字段存储内容为由字母、数字、特殊符号以及标点组成的字符串时,可将字段设置为字符型。字符型字段存储的字符长度最多可达254个字符,可以保存储如姓名、地址、籍贯以及无需计算的数字(如邮政编码、电话号码)等文本信息。货币型用于保存货币类型的数值。它占用8个字节。日期型日期型字段用于保存不带时间的日期值,包含年、月、日三项,取值范围从公元零年1月1日至公元9999年12月31日。日期时间型与日期型字段不同的是,日期时间型字段除了包含有年、月、日外,还包含了时、分、秒。日期时间值存储在两个四字节整数的8个字节中,第一个四字节的整数保存日期,剩下的四字节整数保存时间。时间的最小计时单位为百分之一秒。逻辑型当字段内容只能选取两种值时,可以采用逻辑型,它只含有两个值:真(.T.)和假(.F.)。数值型数值型用于表示整数或小数,它的长度在表中最长可达20位,它的表示范围并不确定。例如,当定义数值长度为8,其中小数位为4时,它所表示的最大值为999.9999。小数点要占一位。双精度型当所存储的数值精度要求很高或要求采用浮点数时,采用双精度型。它所表示的数值范围要比数值型的范围精确一些,最多可精确到小数点后7位。浮点型浮动型在功能上等价于数值型,其长度在表中最长可达20位。整型当对表的存储空间和性能要求严格时,可以使用整型字段保存整数信息。整型字段占用4个字节的空间,并且在表中以二进制存储。因此比其他数据类型占用的内存更少,而且计算的速度也要快一些。它的数值范围从-2147483648至2147483647。通用型通用型字段用于存储电子表格、文档、图片等OLE信息,通用字段大小取决于OLE对象的大小以及OLE对象是以嵌入方式还是链接方式存入该字段。如果是嵌入方式,它所占用的空间要大一些。一般来说,通用型字段的实际存储空间只受磁盘空间的限制,可以很大。但通用型字段在表中仅占4个字节。备注型备注型用于存储长度难于确定的数据块,它在表中占用4个字节。备注型不同于其他数据类型,它所保存的数据信息是存储在单独的文件中。空值:在定义表的字段时,可以把‘NULL’选项选中,表示此字段可以为空值。空值表示尚未储存数据的字段,不同于空白字符串和‘0’值。作为关键字的字段是不允许为空值的。字段有效性:在“字段有效性”字段属性组中,包含有三个字段属性,分别是:“规则”:指定实施数据字段级有效性检查的规则。这是字段避免输入错误内容的一个重要措施。“信息”:指定当输入违反字段级有效性规则时,显示的错误信息。“默认值”:是指字段在没有输入数据的情况下,系统给定的值。打开表与修改表打开表USE表名修改表结构MODIFYSTRUTURE修改已有字段增加新字段删除不用字段关闭当前表use将自由表添加到数据库三种方法1)项目管理器2)数据库设计器3)ADDTABLE命令

ADDTABLETableName|?[NAME

LongTableName]注:一个表只能属于一个数据库从数据库中移出表三种方法1)项目管理器2)数据库设计器3)REMOVETABLE命令

REMOVETABLETableName|?[DELETE][RECYCLE]添加记录删除记录修改记录查看记录3.3表的基本操作3.3表的基本操作使用“项目管理器”浏览表中的记录:(1)首先打开“项目管理器”并选择“数据”选项卡。(2)在“数据”选项卡中选择要浏览的表。(3)单击“浏览”按钮,系统即打开该表的浏览窗口。在浏览窗口中,一行显示一条记录,一列显示一个字段的数据。字段名作为浏览窗口的列头显示在浏览窗口的最上方。缺省情况下,浏览窗口中的字段显示顺序由表结构中定义的字段顺序所决定。使用BROWSE命令浏览记录命令格式BROWSE[FIELDSFieldname]命令功能该命令用于打开浏览窗口以浏览表中的记录。FIELDSFieldname子句用于指定在浏览窗口中显示哪些字段。Fieldname参数可以指定一个或多个字段名,字段名之间要用逗号分隔。修改记录:在浏览器中修改记录的值,只需要将光标定位在要修改的记录和字段上,然后直接修改就可以了。删除记录:主要分为物理删除和逻辑删除逻辑删除:对纪录添加逻辑删除标记,但纪录并不从表中彻底删除,依然存在。物理删除:将有删除标记的纪录从表中物理删除①、逻辑删除或设置删除标记命令:

deletedeletefor条件

功能:对满足条件的纪录设置删除标记注:a、打开逻辑删除纪录的表,并设置为当前表

b、不指定条件和范围,只逻辑删除当前纪录例:逻辑删除当前表中年龄为20的学生记录。

deletefor年龄=20删除记录:②恢复纪录:

recallrecallfor条件功能:取消满足条件或指定范围内记录的删除标记例:recallfor性别=“女”③物理删除:pack

功能:物理删除表中带有逻辑删除标记的记录④物理删除表中的全部记录:zap增加记录1、APPEND[BLANK]命令向表的尾部添加记录。若选用BLANK参数,则向表的尾部添加一条空记录。2、INSERT[BEFORE][BLANK]

命令向当前记录(或之后)位置插入一条记录。若选用BLANK选项,则需再用EDIT、CHANGE、BROWSE命令交互输入记录的值。修改记录的命令:1、用EDIT、CHANGE命令交互式修改。此命令默认编辑的是当前记录。2、用REPLACE命令直接修改。REPLACEFileName1WITHeExpression1例如:Replaceall年龄with年龄+1显示记录的命令:LIST|DISPLAY例如:listfor性别=“男”查询定位命令:GOrecno/top/bottom

命令功能该命令用于将记录指针定位到指定的记录上,使该记录成为当前记录。SKIP[nRecords]

该命令用于将记录指针相对于当前记录向前或向后移动n条记录。默认是1,向前(负数),向后(正数)LOCATEFOR[Expression]该命令可以在指定的记录范围内将记录指针定位到满足给定条件的首条记录上。CONTINUE该命令与LOCATE命令搭配使用,以查找满足给定条件的下一条记录。查询定位命令:练习LOCATEFOR性别=“女”CONTINUELOCATEFOR性别=“男”CONTINUE基本概念若要按特定的顺序定位,查看或操作表中的记录,可以使用索引。

VFP索引是由指针构成的文件,这些指针逻辑上按照索引关键字值进行排序。索引文件和表文件分别存储,并且不改变表中记录的物理顺序。实际上,创建索引是创建一个由指向.dbf文件记录的指针构成的文件

3.4索引3.4索引主要索引类型主索引候选索引唯一索引普通索引四种索引的概念与区别:主索引:在一个表中,指定字段或表达式不允许有重复值,而且可以起到主关键字的作用的索引,为主索引。一个表只能创建一个主索引。候选索引:同主索引具有相同的特性,要求字段的唯一性。在一个表中,可以建立多个候选索引。唯一索引:指索引项的唯一性,而不是字段值的唯一。一个表可以建立多个唯一索引。普通索引:建立普通索引的字段,其字段值可以重复、可以为空,一个表可建立多个普通索引。3.4.2索引的创建按扩展名分:单索引文件(.idx)复合索引文件(.cdx)复合索引文件包括:结构复合索引文件(文件名与表名相同,随着表的打开而打开,表的关闭而关闭)非结构复合索引文件(文件名与表名不相同,不能随着表打开而打开,表关闭而关闭)利用表设计器建立索引的两种方法:

1、在字段选项卡中快速生成

2、在索引选项卡中建立3.4.3用命令建立索引1.命令格式:INDEXON<索引表达式>TAG<索引名>[ASCENDING|DESCENDING][UNIQUE/CANDIDATE]2.命令功能:按指定<索引表达式>为当前表创建一个指定名称的索引。①、建立单索引文件:格式:indexon字段名(关键字)to单索引文件名ascending

功能:按指定字段建立指定的索引文件注:扩展名为idx

只能按字段值升序排列②、建立侯选索引、唯一索引和普通索引格式:indexon关键字(字段名)tag索引标识

ascending\descending\unique\candidate

功能:按指定的字段值建立指定的索引文件注:a、ascending指定按字段值升序排列,

descending指定按字段值降序排列。

b、unique指定建立唯一索引,

candidate指定建立侯选索引1.单字段索引例:

已有一表文件工资.DBF,按基本工资排序,执行下述命令:

INDEXON基本工资TAGJBGZLIST

11002胡一民585.003.5103.5041010宋文彬596.943.0100.5031005张小612.274.0100.5061015黄小612.2712.0100.5081031丁卫国612.2714.01012.0071022李红卫623.4512.01014.6021004爱民628.3420.0100.5051011胡一民645.2615.51018.34记录号职工号姓名基本工资工龄工资补贴房电费2.多字段索引如果在索引表达式中使用多个字段,就是根据多字段来排序记录。例5:对工资.DBF表,按实发工资索引记录。

USE工资

INDEXON基本工资+工龄工资+补贴–房电费TAGSFGZLIST记录号职工号姓名基本工资工龄工资补贴房电费

11002胡一民585.003.5103.5041010宋文彬596.943.0100.5081031丁卫国612.2714.01012.0031005张小华612.274.0100.5071022李红卫623.4512.01014.6061015黄小英612.2712.0100.5051011胡一民645.2615.51018.3421004王爱民628.3420.0100.50格式:setorderto[tag]索引名ascendingsetorderto[tag]索引名descending功能:将指定的索引文件设置为当前索引文件注:a、tag可以省落

b、a\d指定重新进行升序\降序*也可在打开索引文件时直接指定索引文件3.4.4使用索引3.4.5使用索引快速定位例如:seek‘005’order学号

display格式:seek字段值功能:在索引文件中将记录指针定位到字段值对应的记录中注:a、tag指定快速定位的索引文件

b、a\d说明按升序\降序排列3.4.6删除索引格式:deletetag索引标识/all

功能:删除指定的索引文件注:只能删除结构索引标识直接在表设计器中删除:例如:deletetag学号deletetagall3.5数据完整性在数据库中数据完整性是指保证数据正确的特性,包括:实体完整性、域完整性、参照完整性

1、实体完整性:是保证表中记录唯一的特性即在一个表中不允许有重复的记录。在VF中利用主关键字或侯选关键字来保证表中的记录唯一性,即保证实体唯一性。*侯选关键字:如果一个字段的值或几个字段的值能够唯一标识表中的一条记录,则这样的字段称为侯选关键字。*主索引和侯选索引具有相同作用3.5数据完整性

2、域完整性:主要指一个范围。其中字段名、类型、宽度和字段有效性规则都属于域完整性。“规则”是逻辑表达式,“信息”是字符串表达式,“默认值”类型以字段的类型确定3、参照完整性与表之间的关联注:a、参照完整性是关系数据库管理系统的一个很重要的功能,在VF中为了建立参照完整性必须首先建立表之间的联系b、建立联系需要用到两个表,这两个表要属于同一个数据库。一般两个表具有相同字段,对一个表的相同字段建立主索引,此表称为父表。对另一表的相同字段建立普通索引,此表称为子表。①、建立表之间联系的方法为:在父表中建立主索引,子表中建立普通索引,然后拖动父表的主索引文件到子表的普通索引文件放开建立连线即可。②、设置参照完整性约束:建立参照完整性之前需要先清理数据库,清理数据库包括物理删除数据库各个表中所有带有删除标记的记录。参照完整性三个规则:更新(级联、限制、忽略)、删除(级联、限制、忽略)、插入(限制、忽略)注意:更新、删除和插入的区别P116设置参照完整性约束清理数据库(数据库菜单->清理数据库)右击联系->编辑参照完整性将自由表添加到数据库项目管理器打开数据库设计器时,从“数据库”菜单命令方式add

table

tablename|?

[name长表名]建立自由表前需要关闭当前数据库或取消当前数据库。

1、将自由表(aa)添加到数据库中:命令:addtablestudentaddtablestudentname学生表以后在数据库中使用命令:usestudent和use学生表是等价的

2、从数据库中移出表:removetablestudent将自由表添加到数据库从数据库中移

温馨提示

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

评论

0/150

提交评论