欢迎来到三一文库! | 帮助中心 三一文库31doc.com 一个上传文档投稿赚钱的网站
三一文库
全部分类
  • 研究报告>
  • 工作总结>
  • 合同范本>
  • 心得体会>
  • 工作报告>
  • 党团相关>
  • 幼儿/小学教育>
  • 高等教育>
  • 经济/贸易/财会>
  • 建筑/环境>
  • 金融/证券>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 三一文库 > 资源分类 > PPT文档下载
     

    如何管理数据表.ppt

    • 资源ID:4107712       资源大小:11.08MB        全文页数:135页
    • 资源格式: PPT        下载积分:10
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录   微博登录  
    二维码
    微信扫一扫登录
    下载资源需要10
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    如何管理数据表.ppt

    第2章 如何管理数据表,2.1 案例引入管理商品信息表 2.2 生成商品信息表 2.3 使用商品信息表 2.4 更新商品信息表 2.5 数据表相关知识 习题 上机实验题,设计一个数据库应用管理系统,例如,商品销售管理系统,首要的工作是确定所管理的对象,依据所管理的对象设计数据库文件,即数据表,例如商品信息表、销售情况表、库存表和员工表等等。数据表是构成数据库应用管理系统的重要部分。,商品信息表是商品销售管理系统数据库中的一张数据表,它是一张由行、列组成的二维表。每列的名称被称为字段名;各字段的属性的集合称为表的结构,它描述了数据存放形式以及存储的顺序,确定了表的字段,例如字段名为spbh(商品编号)、类型为字符型、宽度为6、没有小数位等;每行被称为记录,由各字段的值组成,表记录是表所要保存的数据主体,例如商品编号为110101、商品名称为钢笔、品牌为英雄、型号为K1、销售单价为5.2元。商品信息表的表结构如图2-1所示,而该表中的内容,也就是表记录的显示如图2-2所示。,2.1 案例引入管理商品信息表,图2-1 商品信息表结构,图2-2商品信息表的记录,从上面的图中可以看出,数据表是由表结构和表记录共同构成的,一个Visual FoxPro所认可的表,在外存储器以文件为单位存放,因此数据表也被称为数据库文件,其文件扩展名为.dbf。在Visual FoxPro系统中,数据表的存在状态有两种: 一是与数据库相关联的数据库表;二是与数据库不相关联的自由表。二者的绝大多数操作相同且两种状态可以相互转换,相比之下数据库表的优点要多一些。当一个表是数据库的一部分时,即数据表的状态为数据库表时,它就可以具有以下特性:, 长表名和表中的长字段名; 表中字段的标题和注释; 默认值、输入掩码和表中字段格式化; 表字段的默认控件类; 支持参照完整性的主关键字索引和表间关系; INSERT、UPDATE或DELETE事件的触发器。 以商品信息表为例,上述功能显示举例如图2-3以及图2-4所示。其功能的具体含义参见第4章相关内容。,图2-3数据表的结构“表设计器” 字段标签的显示内容,图2-4数据表的结构“表设计器”表标签的显示内容,2.2.1创建商品信息表结构 创建表结构的方法主要有两种: 利用表设计器方式和CREATE TABLE-SQL命令方式。 现在用表设计器方式创建商品信息表spxx.dbf,其表各项数据如表2-1所示。,2.2 生成商品信息表,表2-1商品信息表的数据,1. 打开“表设计器” 在项目管理器窗口中的“项”列表中选择“自由表”后单击“新建”按钮,在出现的“新建表”对话框中单击“新表”按钮,然后在“创建”对话框中选择保存表文件的文件夹并输入表2-1中的数据。 输入表文件名“spxx”,单击“保存”按钮,则打开如图2-5所示的自由表的“表设计器”对话框。,图2-5创建自由表的“表设计器”窗口,2. 在“表设计器”中创建表结构 在“字段名”文本框中输入第一个字段名“spbh”,在“类型”下拉列表框中,选择字段的类型为“字符型”,在宽度输入框中输入6或单击右边的微调按钮至6。 将输入光标定位在第二个字段的字段名上,用同样的方法依次输入各个字段的字段名、类型、宽度和小数位数。 将所有字段的参数确定好之后,单击“确定”按钮或按Ctrl+W键存盘。系统会打开提示窗口,询问用户是否立即输入记录,选择“是”立即开始输入记录;选择“否”则不立即输入记录数据,光标返回命令窗口,此时只建立表结构,记录为空。,“表设计器”对话框中包含“字段”、“索引”、“表”3个选项卡,如图2-5所示。 (1) “字段”选项卡 使用于建立表结构,确定表中每个字段的字段名、字段类型、字段宽度和小数位数等。 字段名。是某个字段的名字。在表中必须是惟一的,字段名必须以汉字、字母和下划线开头,由汉字、字母、数字和下划线组成,对于数据库表支持长字段名,字段名最多为128个字符,自由表不支持长字段名,字段名最多为10个字符。当数据库表转化为自由表时自动截去超长部分的字符。特别要注意的是,字段名不能使用系统的保留字。, 类型。标识该字段中存放数据的类型。一个字段即二维表中的一列,其中的数据应具有共同的属性。若存放的是一些符号,不进行数值运算,如商品编号、商品名称等,则定义为字符型;若需要进行数值运算,如销售数量、销售单价等,则根据数值标识的实际意义,选择数值型、货币型、浮点型、双精度型、整型中的一种。对描述日期的字段,可根据需要定义为日期型或日期时间型。对取值只有两种情况,为“真”或为“假”的数据定义为逻辑型。若存储的字符超过254个,为节省存储空间可定义为备注型。若要保存图片或OLE对象,可定义为通用型。备注型和通用型字段的信息都没有直接存放在表文件中,而是存放在一个与表文件同名的.fpt文件中。表字段的基本数据类型如表2-2所示。,表2-2表字段的基本数据类型, 宽度。 表示该字段所允许存放数据的最大宽度,由数据的最大宽度决定,过大浪费存储空间,过小数据溢出。字符型字段的最大宽度为254个字符,数值型字段和浮点型字段的宽度为20,逻辑字段的宽度固定为1,日期型字段的宽度固定为8,通用型和备注型字段的宽度固定为4。 小数位数。 对于数值、浮点型和双精度型的字段还需要指定其小数的位数,这些数据类型的字段宽度,实际上是“整数部分的宽度+小数点1位+小数位数宽度”。如果小数位数不为0,则小数位数必须比整个字段的宽度至少小2。, 空值(NULL)支持。 空值是用来指示记录中的一个字段有或没有数据的标识。NULL不是一种数据类型或一个值,确切地说,它是用来指示数据存在或不存在的一种属性。通过使用NULL,就有了一个判定某个字段是否具有一个值的办法。 (2) 表选项卡 对表的记录属性进行描述,控制记录数据。主要功能有记录有效性和触发器,如图2-4所示。 记录有效性中包括规则和信息。 规则。 指定记录的有效条件,满足该条件,数据才能输入到表中,它确定的是该记录各字段值之间的总体数据关系是否有错。, 信息。 当记录的数据不符合规则时,有系统显示给用户的提示信息。 当对记录进行操作时,若设置了触发器,则对触发器设置的条件表达式进行验证,若其值为真.T.,则允许进行相关操作,否则,拒绝操作。有3种触发器: 插入触发器。 当向表中插入或追加记录时,判断其表达式的值,为“真”允许插入或追加,为“假”不允许插入或追加。 更新触发器。 当要修改记录时,判断其表达式的值,为“真”允许修改,为“假”不允许修改。 删除触发器。 当要删除表中记录时,判断其表达式的值,为“真”允许删除,为“假”不允许删除。,用户也可以在“命令”窗口或程序中使用CREATE TABLE-SQL命令创建表的结构。该命令的基本语法格式如下: CREATE TABLE TableName (FieldName1 FieldType (nFieldWidth , nPrecision) NULL | NOT NULL ,FieldName2,) 其中,TableName为表文件名;FieldName1、FieldName2为字段名;nFieldWidth为字段宽度;nPrecision为小数位数;NULL 和NOT NULL用于指定该字段是否允许为空值。,例如,商品信息表结构的创建可以使用下列命令: CREATE TABLE spxx(spbh C(6), spmc C(10), pp C(10), xh C(10), xsdj Y(8)又例如,创建销售情况表结构,其中cjbh(成交编号)和spbh(商品编号)字段不允许为NULL值,而xssl(销售数量)字段则允许为NULL值: CREATE TABLE xsqk (cjbh C(6) NOT NULL, spbh C(6) NOT NULL, xssl I(4) NULL)也可以用SET NULL ON|OFF命令控制表字段中是否允许NULL值。在默认情况下,系统处于SET NULL OFF状态。 值得注意的是,当设置表中的字段可以接受NULL值时,该表最多只能有254个字段。,2.2.2 表结构的修改 建立表以后,如果表结构需要增加字段、删除字段或修改字段内容,则可以修改表的结构。修改表结构的方式有两种: 1. 用表设计器修改表的结构 如果已经建立的表结构已经存在于一个项目中,就可以在“项目管理器”窗口中先选定要修改的表,然后单击“修改”命令按钮,便可以打开“表设计器”对话框。如图2-6所示,用户可根据需要修改表结构。 也可以在当前已被打开的表文件中,使用MODIFY STRUCTURE命令打开“表设计器”对话框,进行修改。,图2-6利用“表设计器”修改表结构,2. 用ALTER TABLE-SQL命令修改表的结构 用户可以在“命令”窗口或程序中使用该命令来修改表的结构。该命令的基本语法如下: 格式1: 用ADD子句增加字段,用ALTER子句修改字段。 ALTER TABLE TableName ADD|ALTER COLUME FieldName FieldType (nFieldWidth , nPrecision) 格式2: 用DROP子句删除字段。 ALTER TABLE TableName DROP COLUMN FieldName,格式3: 用RENAME子句更改字段名。 ALTER TABLE TableName RENAME COLUMN FieldName1 TO FieldName2 例如: 将zje(总金额)字段添加到销售情况表(xsqk.dbf)中。代码如下:ALTER TABLE xsqk ADD COLUMN zje y(8) 将字段名zje更改为zongje。代码如下:ALTER TABLE xsqk RENAME zje TO zongje, 将字段zongje从表xsqk中删除。代码如下:ALTER TABLE xsqk DROP COLUMN zongje值得考虑的是,在修改宽度、类型时,是否会引起数据的溢出、丢失;在修改字段名时,是否会引起数据的丢失以及该字段是否在其他位置被引用。,在已经建立的商品信息表中要输入商品信息,也就是输入记录,有4种方法:,2.2.3 输入商品信息,1. 表结构创建以后立即输入记录 如图2-5所示,如果刚建好商品信息表的结构时,在系统提示是否立即输入记录的对话框中选择“是”按钮,就可以直接进入输入记录编辑窗口,如图2-7所示,在该编辑窗口中,系统用一条横线将各个记录隔开,其中一行显示一个字段,包括字段名以及字段值。在这个窗口可以将商品信息一一输入,输入结束后,单击窗口的“关闭”按钮,或者按Ctrl+End组合键或者Ctrl+W组合键,即可以将输入的记录,即商品信息存盘退出。,图2-7输入记录编辑窗口,2. 在浏览窗口中追加记录 用户通过表的浏览功能可以在屏幕上查看和处理表的记录。利用表的浏览功能浏览当前工作区中的表有多种方法。如利用菜单命令“显示/浏览”;或在“数据工作期”窗口中选择表,然后单击“浏览”按钮;或使用BROWSE命令。如果表由项目所管理,无论表是否被打开,均可以在“项目管理器”窗口中选择需要浏览的表,单击窗口中的“浏览”按钮。通过上述的任何一种方法,都将显示如图2-8所示以表格形式显示商品信息表的浏览窗口。,图2-8在浏览窗口输入记录,当商品信息表处于浏览状态时,利用菜单命令“表/追加新记录”或APPEND BLANK命令,则可追加一条空记录,并且处于编辑状态,等待用户输入数据;如果利用菜单命令“显示/追加方式”则可追加多条记录,即输入一行信息以后单击Enter键,光标将停留在下一个空白行的行首,可输入下一行的信息。 此外,表的浏览窗口与编辑窗口可以相互切换,其操作方法是利用菜单命令“显示/浏览”与“显示/编辑”。,在浏览窗口中,备注型字段显示“memo”(表示无内容)或者“Memo”(表示有内容)。输入备注型字段内容时,操作步骤是: 把光标移动到备注型字段后,按下Ctrl+Home组合键或者双击备注型字段;在出现的编辑窗口中输入备注内容,结束后关闭编辑窗口。 在浏览窗口中,通用型字段显示“gen”(表示无内容)或者“Gen”(表示有内容)。输入通用型字段内容时,操作步骤是: 把光标移动到通用型字段后,按下Ctrl+Home组合键或者双击通用型字段;在出现编辑窗口后利用菜单命令“编辑/插入对象”插入其内容,结束时关闭编辑窗口。,3. 利用INSERT-SQL命令追加记录 INSERT-SQL命令可以在“命令”窗口或程序中向一张表中追加记录,其命令格式: INSERT INTO TableName(FieldName1,FieldName2,) VALUES(eExpression1,eExpression2,) 例如,使用INSERT-SQL命令向商品信息表spxx插入一条新记录。INSERT INTO spxx(spbh,spmc,pp,xh,xsdj) VALUES (420279,面包,喜悦,150g,2),4. 利用APPEND命令追加记录 APPEND命令是向当前数据表文件追加记录,有两种格式: (1) 使用APPEND命令向数据表追加空记录APPEND BLANK IN nWorkArea | cTableAlias格式中,BLANK用于说明向表内追加一条记录,默认时系统向数据表中追加一条空记录,并打开表的浏览窗口以便用户输入该记录的数据。 (2) 使用APPEND FROM命令追加记录APPEND FROM FileName DELIMITED | XLS该格式命令是实现从其他表或文件如数据表文件.dbf、文本文件.txt、Excel文件.xsl等中向当前数据表文件,导入数据记录,其中DELIMITED用于说明追加文件为文本文件,XLS用于说明追加文件为Excel文件,默认时追加文件为数据表文件。 此外当前数据表处于浏览状态时利用菜单命令“表/追加记录”,打开后如图2-9所示,选择文件类型、追加的数据来源文件后,也可以将其他文件如数据表文件、文本文件、Excel文件等中的数据单加到当前工作区的表中。,图2-9利用菜单“表/追加记录”后“追加来源”窗口,在追加过程中,对于表文件来说,只有与当前数据表的字段相同的字段,其数据追加到当前表中;对于文本文件来说,要求其每条记录以回车符结尾,各字段内容用逗号分隔,字符型字段值要加引号;对于Excel文件来说,要求工作表的列结构与当前数据表的表结构相应。,通过前两节的内容建立了商品信息表的数据表文件后,如果要使用已经建立在存储器上的数据表时,要通过打开、浏览、定位、筛选、索引等功能来使用商品信息表。,2.3 使用商品信息表,1. 工作区 对一张数据表的操作是通过一个工作区来进行的。工作区是用来标识一张打开的数据表的区域,也就是,打开一张数据表时必须为该数据表指定一个工作区。系统允许使用编号为132747这个范围内的工作区,就是说,每个工作区都有一个编号,称为工作区号。例如,1号工作区、2号工作区等,其中前10个工作区还可以用字母AJ来表示。同时对已经打开数据表的工作区,还可以用表的“别名”来标识该数据表,如何来定义表名,后面再介绍。,2.3.1 打开与关闭商品信息表,对于工作区的使用要注意到: 一个工作区只能打开一张数据表。当在已经打开数据表的工作区中,再次打开另外一张数据表,则前一张打开的数据表自动关闭。另外,用户可以同时在多个工作区中分别打开多张数据表,也可以将一张数据同时在多个工作区中打开。 如果同时在多个工作区中分别打开多个数据表时,只有一个工作区被称为当前工作区,这个工作区就是系统正在操作的工作区,系统将当前工作区认定为默认工作区。通过界面交互地或用命令进行有关数据表的处理操作时,如果不指定工作区号时,则其操作对象为当前工作区中的数据表。另外,在Visual FoxPro系统启动,默认的当前工作区号为1。,操作工作区的命令为SELECT,其命令格式为: SELECT nWorkArea | cTableAlias 其中,nWorkArea 为工作区号;cTableAlias为数据表的别名。 【例2-1】说明下列语句的功能。SELECT 1 USE spxx其功能为在1号工作区打开商品信息表spxx.dbf,当前正在操作的为1号工作区。 【例2-2】说明下列语句的功能。SELECT 1 USE spxx SELECT 0,USE xsqk其功能为在1号工作区中打开商品信息表spxx.dbf,再在2号工作区中打开销售情况表xsqk.dbf,执行到此,此时的当前操作工作区为2号。这里的SELECT 0是指选择未被使用的最小编号的工作区,因为前面已经使用了1号工作区,故销售情况表实际是在2号工作区打开的。,2. 打开和关闭数据表 要打开数据表文件,如打开商品信息表、销售情况表等等。使用表时首先必须把数据表打开,其意义在于告知系统当前所要操作的数据表,并在内存中开辟一块存储区域。数据表的打开可以显式打开或者隐式打开。显式打开是指用户利用菜单等界面操作方法,或者用USE命令直接打开数据表,例如上述例1和例2。隐式打开是指在执行某些操作(通过界面操作或者执行各种SQL命令)时,系统会自动打开相应的数据表。例如,前面已经介绍过的ALTER-SQL命令修改表结构时,INSERT-SQL命令插入记录时,被操作的数据表都将自动打开;另外,在“项目管理器”窗口中选择一张数据表后,单击“修改”或“浏览”按钮时,数据表也会自动打开。,(1) 打开数据表 打开数据表有不同的方法。当一张数据表刚创建的时候,该数据表自动处于打开状态;已经存在的数据表要再次被使用和操作,可以使用下列方式打开数据表: 使用菜单命令“文件/打开”或者单击“常用”工具条上的“打开”按钮,将出现“打开”对话框,如图2-10所示。在该对话框中选择数据表文件,则指定数据表将在当前工作区打开。 图2-10 数据表“打开”窗口 在“数据工作期”中单击“打开”按钮,将出现“打开”对话框,如图2-10所示。在该对话框中选择,数据表文件,则指定数据表将在当前未被使用的最小工作区号中打开,并且不影响当前工作区。 数据工作期是当前数据动态工作环境的一种表示。在系统启动后,自动生成一个数据工作期,称为“默认”数据工作期。每一个表单、表单集或者报表在运行过程中,为管理自己所用的数据,可以形成自己的数据工作期。每一个数据工作期有自己的一组工作区,工作区含有打开的表、表索引和关系。 在“项目管理器”窗口中单击选择需要打开的数据表,然后单击“修改”或者“浏览”按钮,则指定数据表将被打开,并且出现“表设计器”对话框或者数据表的浏览窗口。数据表将在当前未被使用的最小工作区号中被打开,并且设置该工作区为当前工作区。, 在命令窗口使用命令打开数据表。 命令格式如下: USE TableName IN nWorkArea |cTableAlias AGAIN ALIAS cTableAlias NOUPDATE 其中: IN子句用于指定数据表在哪个工作区打开,默认时,则表示在当前工作区中打开; AGAIN用于说明该数据表被再次打开,即数据表在多个工作区中被打开; ALIAS子句用于定义数据表的别名,默认时,数据表的别名一般与表名相同;,NOUPDATE指定数据表打开后,不允许修改其结构和数据。 例如,解释下列命令: USE spxx在当前工作区中打开商品信息表spxx。USE xsqk IN 0 ALIAS qk0号工作区代表当前还未使用的工作区中的最小号工作区,所以上述命令的功能为: 在未使用的最小工作区号的工作区中打开销售情况表xsqk,取别名为qk。USE yg IN 4 NOUPDATE在4号工作区打开员工表yg,并且设置不允许修改USE spxx IN 10 AGAIN 在10号工作区中再次打开spxx表,其别名为J。,值得注意的是,表的别名是对工作区中打开的数据表的一个临时标识或称呼,使用别名,将便于输入,特别是在应用程序中,工作区通常是用别名来标识工作区的数据表。别名可以通过USE命令中的ALIAS子句来指定,其命名规则与数据表名相同,但是如果一张数据表同时在多个工作区中打开,并且均未指定别名,则在第一次打开的工作区中,别名与数据表名相同,其他工作区用AJ以及W11W32747表示。一般情况下,如果在工作区中打开一张数据表而未指定别名,则其别名被默认为数据表名。,(2) 关闭数据表 当数据表不需要再使用时,可以通过关闭操作或命令来关闭一张数据表。其含义在于将该数据表所占的内存空间,即工作区,释放出来。在操作过程中,如果在一个工作区中已经打开了一张数据表,则在此工作区中再次打开另一张数据表时,原先的数据表则将自动被关闭。 通过界面操作。该操作主要在“数据工作期”窗口进行,在其窗口先选定一张数据表的别名,然后单击“关闭”按钮,即实现了关闭一张数据表的操作。 使用命令方式。在命令窗口可以使用下列命令来实现关闭一张数据表的操作。,格式1: 关闭当前工作区或指定工作区号或指定数据表别名的数据表。 USE IN nWorkArea | cTableAlias 其中,不使用IN子句时,指关闭当前工作区中的数据表;当使用IN子句选择nWorkArea时,指关闭指定工作区号中的数据表,选择cTableAlias时,指关闭指定数据表别名的数据表。 例如: USE spxx IN 1 && 在1号工作区打开spxx数据 SELECT 1 && 将1号工作区设置为当前操作工作区,USE xsqk && 在1号工作区中再次打开xsqk数据,同时关闭spxx数据表 USE && 或 USE IN 1 或 USE IN spxx 命令关闭数据表xsqk格式2: 关闭所有工作区中的数据表。CLOSE TABLES && 关闭所有工作区中的数据表 CLOSE ALL && 关闭所有数据库、数据表和索引,并且将当前工作区号设置为0另外,在退出Visual FoxPro系统时,所有数据表也都将被关闭。,(3) 数据表的独占与共享 Visual FoxPro是一个多用户的开发环境,网络上的多用户可以在同一时刻访问同一张数据表。这种一张数据表同时被多个用户访问的情况,就是数据表的共享使用。反之,当一张数据表只能被一个用户打开时,称为数据表的独占使用。 一般在默认情况下,数据是以独占方式打开的。当然系统的默认打开方式可以选择菜单“工具”|“选项”,打开“选项”对话框设置,或者使用命令设置。 命令为: SET EXCLUSIVE OFF&& 设置“共享”为默认打开方式 SET EXCLUSIVE ON&& 设置“独占”为默认打开,方式在打开数据表时,也可以显式地指定数据表的打开方式是独占还是共享。也有界面操作和命令操作两种。在采用界面操作方法打开数据表时,在“打开”对话框中有一个“独占”复选框,选中表示独占,否则表示共享,如图2-10所示。在使用命令方式下,只要在USE命令后加子句SHARED(共享)或者EXCLUSIVE(独占)即可,例如: USE spxx SHARED && 以共享方式打开spxx数据表 USE spxx EXLUSIVE && 以独占方式打开spxx数据表另外注意,当改变SET EXLUSIVE的设置并不能改变在设置之前已经打开的数据表的共享或独占的状态;一张数据表同时被多次打开时,只以第一次的打开方式为准。,一旦商品信息表被创建在计算机存储器中,如果要查看该数据表的信息,则要通过相应的方法。比如首先要按照上面所谈的那样来打开商品信息表,然后根据Visual FoxPro所提供的浏览等功能查看所需要的信息。 1. 显示数据表记录 可以通过界面方式和命令方式来显示数据表的记录内容。,2.3.2 查看商品信息,(1) 利用界面方式来浏览数据表 从项目管理器中打开商品信息表spxx,并单击“浏览”按钮即可显示当前所选定的商品信息表的记录内容了。 也可以使用菜单“文件”|“打开”功能,在打开对话框中选择商品信息表spxx,将该数据表打开;然后再使用菜单“显示”|“浏览”功能将已经打开的当前工作区中的商品信息表spxx的记录内容显示在浏览窗口中。菜单“显示”|“浏览”还有一种模式是“显示”|“编辑”。这两种模式可以相互切换,利用菜单切换后的编辑模式显示商品信息表。,(2) 利用命令方式来浏览数据表 格式如下: BROWSE FIELDS FieldList FOR lExpression FREEZE FieldName NOAPPEND NODELETE NOMODIFY TITLE cExpression 格式中的各子句的含义: FIELDS子句用于指定在浏览窗口中出现的字段(各字段名之间用逗号分隔),默认时表示所有字段; FOR子句用于筛选记录,仅有满足条件的记录在浏览窗口中显示;,FREEZE子句用于指定可以修改的字段,其他字段的数据不可修改; NOAPPEND指定不可追加记录; NODELETE指定不可删除记录; NOMODIFY指定不可修改记录,但是可追加或删除记录; TITLE子句指定浏览窗口的标题,默认时为数据表名。,例如: 浏览商品信息表spxx,仅显示销售单价小于10元的商品的编号、名称和销售单价。USE spxx BROWSE FIELDS spbh,spmc,xsdj FOR xsdj10 NOMODIFY TITLE 商品信息执行结果如图2-11所示。当Visual FoxPro主窗口中存在浏览窗口而且为活动窗口时,系统将出现“表”菜单项,以便用户对当前工作区的表进行各种操作。,图2-11 BROWSE例子执行结果,2. 记录指针的定位 当用户向数据表中输入数据时,Visual FoxPro为每个记录都按输入顺序指定了“记录号”。第一个输入的记录,其记录号为1,依次类推。也就是,记录号用于标识记录在数据表文件中的物理顺序。 当一张数据表被打开后,系统自动为该表生成3个控制标志: 记录的开始标志、记录指针标志、记录的结束标志。记录的开始标志介于数据表结构和记录之间,前面是数据表结构信息,后面是第1条记录。记录的结束标志是整个数据记录结束的标志。记录指针标识是一个指示器,它始终指向当前数据表文件中正在进行操作处理的那条记录,此记录被称为当前记录。如果要对某条记录进行处理,必须,移动记录指针,使其指向该记录。在任意时刻指针只能指向惟一的一条记录。 记录指针定位是指将指针指向数据表文件内待操作的记录。对记录进行修改、删除等操作时,记录指针必须先指向该记录。 记录指针定位有绝对定位、相对定位和条件定位3种。记录指针的绝对定位是指把记录指针移动到指定的位置。例如,指定记录的记录号、第1个记录或者最后一个记录;记录指针的相对定位是指把指针从当前位置开始,相对于当前记录向前或者向后移动若干条记录位置。记录指针的条件定位是指按照一定的条件自动在整张数据表或者在指定数据表的范围内查找符合该条件的记录,如果找到符合,条件的记录,则把指针定位到该记录上,否则,记录指针将定位到整张数据表或数据表的指定范围的末尾。 对于记录的定位的操作有两种形式: 界面操作和命令操作。 (1) 通过界面操作实现记录的定位 当数据表处于浏览状态时,系统菜单将增加一项“表”菜单项,记录的定位可以通过菜单“表|转到记录|”来操作,也可以直接在浏览窗口中通过鼠标操作或者键盘上的光标键进行操作。 当使用浏览窗口的“表”菜单项进行定位操作时,将出现如图2-12所示的“定位记录”对话框,在该对话框中用户可以设置记录定位的条件。,图2-12 “定位记录”对话框,“作用范围”是对记录的筛选,可以选择的范围包括4项: All: 指数据表中的全部记录。 Next n: 指从当前记录开始的n条记录,其中n在其右边的微调框中输入。 Record n: 指指定记录,记录号n在其右边的微调框中输入。 Rest: 指当前记录及其后的所有记录。 For和While是指记录指针定位在满足条件的第1个记录上,在它们的右边文本框中输入或单击文本框右边的“”按钮通过表达式生成器生成条件。在进行条件定位时,如果在指定的范围内未找到符合条件的记录,则记录指针指向指定范围的结尾。,(2) 通过命令进行记录定位 绝对定位: GOTO nRecordNumber IN nWorkArea | IN cTableAlias|TOP|BOTTOM 其中,记录号nRecordNumber必须在数据表记录的有效范围内;TOP是指第1个记录;BOTTOM是指最后一条记录;短语IN nWorkArea 或 IN cTableAlias是指定操作数据表所在的工作区或别名。 绝对定位的功能是将记录指针绝对定位在指定的记录上。 例如: USE spxx && 打开商品信息文件spxx GOTO 3 && 将记录指针定位在第3号记录上 GOTO TOP && 将记录指针定位在第一个记录上,?RECNO() && 显示当前记录指针所指向的记录的记录号 GOTO BOTTOM &&将记录指针定位在数据表的最后一个记录上相对定位: SKIP nRcords IN nWorkArea | cTableAlias 其中,nRcord为记录数,用于指定记录指针需要移动的记录个数,正数表示向后移动,负数表示向前移动,默认时为1;其他短语与绝对定位命令格式相同。,相对定位的功能是记录指针从当前记录向前或向后移动若干个记录。如果记录指针已经移过数据表文件的最后一个记录,则RECNO()(测试记录号函数)返回的值等于数据表文件中的记录总数加1,此时EOF()(文件结束测试函数)返回逻辑值为.T.;如果从第一条记录向上移动1条记录,记录指针将指向记录的开始标志,此时RECNO()函数的返回值仍为1,BOF()(文件开始测试函数)将返回.T.。,例如: USE xsqk && 打开销售情况表xsqk,记录指针指向第1号记录 SKIP 4 && 记录指针向后移动4个记录数,即指向第5号记录 SKIP -3 && 记录指针向前移动3个记录数,即指向第2号记录 ?EOF(),BOF(),RECNO() && 显示函数值,分别为.F.、.F.、2 GOTO BOTTOM && 记录指针指向最后一个记录 SKIP && 记录指针向后移一个记录 ?EOF(),BOF(),RECNO() && 显示函数值分别为.T.、.F.、13,GOTO TOP && 记录指针指向第一个记录 SKIP-1 && 记录指针向前移一个记录 ?EOF(),BOF(),RECNO() && 显示函数值分别为.F.、.T.、1条件定位: LOCATE FOR lExpression Scope 其中,条件表达式lExpression用于表示记录的定位条件;范围Scope 用于进行条件定位的范围,即ALL或NEXT或RECORD或REST,范围默认时指ALL。 条件定位的功能是查找满足条件的第一个记录,并将记录指针指向找到的记录,可以使用CONTINUE命令从当前记录位置开始继续进行条件定位,即定位到下一条满足条件的记录。,例如: USE spxx LOCATE FOR 销售单价2&& 将记录指针定位在第一个满足条件的记录上 CONTINUE && 将记录指针继续定位在下一个满足条件的记录上,3. 筛选数据表记录 在实际使用中,用户往往只想查看和处理满足一定条件的一部分记录,例如查看商品信息表中商品名称为“钢笔”的记录,可以对数据表记录进行筛选。就如上面已经看到的那样,许多对数据表进行处理的命令中,如BROWSE命令等,通过FOR子句的使用可以完成筛选功能。 也可以通过相应的过滤设置来达到筛选的目的。首先可以使用界面方式设置过滤器: 当数据表处于浏览状态时,利用菜单“表”|“属性”命令打开“工作区属性”对话框,如图2-13所示,可以在数据过滤器中填写条件或利用条件生成器生成条件。,图2-13 “工作区属性”对话框,用户也可以使用命令的形式进行记录的筛选。其格式为: SET FILTER TO lExpression 其中,条件表达式lExpression用于指定记录需要满足的条件,默认时表示所有记录,即取消筛选。 例如: USE spxx SET FILTER TO spmc=钢笔 && 筛选商品名称为钢笔的记录 BROWSE FIELDS spbh,spmc,xsdj && 浏览商品名称为钢笔的记录的编号、名称和销售单价 SET FILTER TO && 取消筛选状态,4. 限制对字段的访问 在浏览或者使用数据表时,如果只打算显示或处理数据表中的部分字段,可以设置字段筛选来限制对某些字段的访问。在许多对数据表进行操作的命令中,例如BROWSE命令,通过使用FIELDS子句可以完成字段筛选功能。 当数据表处于浏览状态时,如图2-13所示,利用“工作区属性”对话框可以筛选字段。 用户也可以使用命令进行记录字段的筛选。命令格式如下:,SET FIELD TO FieldList 其中,字段名表FieldList用于列出所需的字段,默认时表示所有字段,也就是取消筛选。 例如: USE spxx SET FIELD TO spbh,spmc && 设置限制访问字段状态 BROWSE FOR xsdj5 && 浏览销售单价小于5元的商品编号及名称 SET FIELD TO && 取消限制访问字段状态,5. 索引数据表 索引是为了方便查询,在Visual FoxPro中的索引是根据数据表中的某些字段值,建立起一个逻辑顺序索引文件。 (1) 索引关键字及索引种类 索引就是用户根据数据表中某些字段值,为数据表建立一个顺序的索引文件,使对记录的显示、查询、打印更为迅速,同时,也可以限制记录重复,并支持不同数据表之间的“关系”。由于索引文件中存储的是按照某一字段值排列的一组记录,每个记录号指向一个待处理的记录,因此索引可以理解为根据某一个字段值进行逻辑排序的一组指针。,关键字是指用来当作索引顺序的字段名,例如,对“销售单价”进行索引,建立一个按“销售单价”大小顺序排序的索引文件,那么,“销售单价”就是索引的关键字。建立的索引被保存在复合索引文件里,当数据表打开或更新时,索引同时被打开和更新。索引文件的名字与数据表名相同,并具有.cdx扩展名。,索引可分为4种类型: 主索引。指每个数据库表只能有一个主关键字,并且要求该字段输入的值是惟一的,不允许重复,例如,商品编号、员工编号等可以作为主索引字段,而商品名称不能作为主索引字段,因为它们的输入值不是惟一的。一个数据库可以根据主关键字段给每一个数据表建立一个主索引,一张数据表只能有一个主索引。 候选索引。 指在数据表和自由表中都可以建立多个候选索引,但是其中的数据必须是惟一的。 普通索引。 指此字段中的数据不需要是惟一的,允许字段中的值重复。在一张数据表中可以存在多个普通索引。, 惟一索引。指索引文件对每一个特定的关键字只存储一次,而忽略了重复值第二次或以后的记录。 (2) 索引文件的种类 Visual FoxPro有3种索引文件,它们分别是: 结构复合索引文件(.cdx)、非结构复合索引文件(.cdx)以及独立索引文件(.idx)。 结构复合索引文件。 是将一张数据表的一个或多个索引的索引信息存储在一个索引文件中,而且索引文件的主文件与数据表名相同,在创建时系统自动给定。在使用过程中,结构复合索引自动地与数据表同步打开、更新和关闭。因此,在创建结构复合索引文件时,不要建立无用的索引,多余的索引将降低系统的性能。, 非结构复合索引文件。是将一张数据表的一个或多个索引的索引信息存储在一个索引文件中。在使用过程中

    注意事项

    本文(如何管理数据表.ppt)为本站会员(少林足球)主动上传,三一文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    经营许可证编号:宁ICP备18001539号-1

    三一文库
    收起
    展开