第3章 数据库与表.ppt

上传人:s****8 文档编号:66867227 上传时间:2022-12-21 格式:PPT 页数:100 大小:1.40MB
返回 下载 相关 举报
第3章 数据库与表.ppt_第1页
第1页 / 共100页
第3章 数据库与表.ppt_第2页
第2页 / 共100页
点击查看更多>>
资源描述

《第3章 数据库与表.ppt》由会员分享,可在线阅读,更多相关《第3章 数据库与表.ppt(100页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、第三章第三章 数据库与表数据库与表本章重点和难点:本章重点和难点:l掌握如何建立、修改及删除数据库;l掌握如何建立和修改表;l掌握记录的添加、删除、修改、排序、索引、查询等操作;l掌握多表间的关联操作;主要内容主要内容在关系数据库管理系统中,所有的操作都是在表的基础上进行的。表在Visual FoxPro中分为数据库表和自由表。本章主要介绍在Visual FoxPro环境下如何建立表,如何向表中输入数据、浏览和修改表的结构、修改表中数据及建立索引、多表间的关联等内容,最后介绍了有关数据库表的相关操作。3.1数据库的操作数据库的操作Visual FoxPro的数据库(Database)是一种关系

2、型数据库(RDBMS),是Visual FoxPro数据库管理系统的数据中心或数据仓库,数据库包括表(Table)、视图(View)、“触发器”、“存储过程”等内容。数据库的物理结构参见图3-1。数据库(数据库(DBT)存储过程触发器表1.DBF表2.DBF视图1视图2视图m表n.DBF自由表1.DBF自由表2.DBF自由表k.DBF图3-1 关系型数据库结构3.1数据库的操作数据库的操作 Visual FoxPro中的数据库,从文件角度看,是一个扩展名为DBC的文件。但为了储存与数据库相关的其它信息,VFP还会自动地为每个数据库文件建立同基本名但不同扩展名的另两个文件:扩展名为DCT的数据库

3、备注文件和扩展名为DCX的数据库索引文件。VFP中的数据库,从逻辑角度看,由一个或多个表组成。表文件按从属关系可分为两种类型:从属于某一数据库的表和不属于哪一个数据库的自由表。可以将一个自由表文件添加到一个数据库文件中成为属于该数据库的表,也可以将属于数据库的表从数据库中移除而变为自由表;视图是由表建立的便于集中查看特定内容的临时表;存储过程和存储过程用于控制数据库的完整性。3.1.1建立数据库建立数据库再点击【新建(N)】按钮,屏幕出现“新建数据库”对话框,见图3-3。图3-3 新建数据库对话框3.1.1建立数据库建立数据库 在对话框中点击大按钮“新建数据库(N)”,打开“创建”对话框,见图

4、3-4。图3-4“创建”数据库对话框3.1.1建立数据库建立数据库 在该对话框中,需要重新为数据库文件命名,例如:“CJGL.dbc”。然后点击【保存(S)】按钮,随即打开“数据库设计器”对话框。同时,屏幕上会出现“数据库设计器”浮动工具栏。参见图3-5。图3-5 数据库设计器对话框与浮动工具栏3.1.1建立数据库建立数据库 经过上面的操作,即创建了一个暂时没有内容的空数据库。该数据库文件属于项目文件,是项目中的一部分。此时,若点击“项目管理器”对话框的关闭按钮,在磁盘的当前路径下会生成一个扩展名为DBT的数据库文件。在一个项目文件中,究竟建立多少个数据库文件,主要取决于研究问题的需要。例如:

5、设计一个应用数据库系统来处理一个学校的学生信息,可按不同的系、专业、年级或班级来分别建立数据库。Visual FoxPro系统对用户数据库文件数目不作限制。3.1.1建立数据库建立数据库 2创建独立的数据库 创建数据库,也可以不经过项目管理器而单独创建。其方法是:点击“文件”菜单中的“新建”命令项,在打开的“新建”对话框中选择“数据库”单选钮。参见图3-6。图3-6“新建”对话框3.1.1建立数据库建立数据库然后点击“新建(N)”大按钮,随即打开“创建”对话框,参见图3-4。再为文件命名并点击【保存(S)】按钮,随即打开“数据库设计器”对话框。参见图3-5。这样的方法可以创建一个不属于哪个项目

6、文件的独立的数据库。当然,如果需要的话,可以在项目管理器中将本项目以外的数据库添加到本项目文件中,从而使数据库属于本项目。3.使用命令创建数据库格式:CREATE DATABASE|?功能:创建由数据库名指定的数据库,若选?或不带任何参数,执行此命令时打开创建对话框,然后输入数据库名。3.1.2 打开数据库打开数据库1.通过项目文件打开数据库文件点击“文件”菜单中的“打开”命令(快捷键为:【Ctrl】+【O】),或点击常用工具栏上的【Open】按钮。启动名为“打开”的对话框;再选择打开已经建立的项目文件,并点击【确定】按钮,在打开的项目管理器中选中已经建立的数据库文件名,最后点击【修改】按钮,

7、即打开数据库设计器2.直接打开数据库文件点击“文件”菜单中的“打开”命令,启动“打开”对话框,在对话框中确定文件类型为:数据库(*.dbc),参见图3-7。3.1.2 打开数据库打开数据库图3-7“打开”数据库文件对话框最后,点击【确定】按钮,即可打开数据库设计器。3.1.2 打开数据库打开数据库3.使用命令打开数据库格式:OPEN DATABASE|?EXCLUSIVE|SHARED NOUPDATE VALIDATE功能:打开由数据库名指定的数据库。说明:(1)EXCLUSIVE 以独占方式打开数据库,与选打开对话框中复选框独占是等效的,所谓独占方式是指在同一时刻不允许其他用户使用数据库(

8、2)SHARED以共享方式打开与打开对话框中不选独占复选框是等效的,共享方式是指同一时刻允许其他用户使用数据库。3.1.2 打开数据库打开数据库(3)NOUPDATE 以只读方式打开,与打开对话框中的选只读复选框等效。选此子句不能对数据库作任何修改,但不影响对此表的存取,若让数据库表也为只读,在用USE打开表时加NOUPDATE参数。(4)VALIDATE 是检验数据库中的引用对象是否有效,如检查数据库表和索引是否可用。被引用的字段和索引表时是否存于表和索引中。3.1.2 关闭关闭数据库数据库 点击数据库设计器对话框窗口右上方的关闭按钮,即可关闭数据库。也可以在命令窗口输入并执行关闭数据库的命

9、令,格式如下:CLOSE DATABASES&关闭数据库文件CLOSE ALL&关闭所有已经打开的文件此外,使用命令创建、打开和关闭数据库在命令窗口中使用命令创建、打开和关闭一个数据库的命令格式分别为:CREATE DATABASE 数据库文件名&创建一个数据库OPEN DATABASE 数据库文件名&打开已经创建的数据库MODIFY DATABASE&打开数据库设计器CLOSE DATABASES&关闭数据库3.1.2 删除删除数据库数据库如果一个数据库不再使用了,需要将它删除。所采用命令的格式是:DELETE DATABASE【数据库文件名?)】【DELETETABLEs】【REcYCLE

10、】其中(数据库文件名指定要删除的数据库名,此时要删除的数据库必须处于关闭状态,被删除的数据库中的表成为自由表。如果省略(数据库文件名)或用“?”代替数据库名,系统会显示“打开”对话框,可从其中选择要删除的数据库文件名。选择RECYCLE选项则将删除的数据库文件和表文件等放入Windows的回收站中,需要时还可以还原它们。3.2 建立数据库表建立数据库表表是VFP基本内容。数据库的管理最终是对表的管理。表能够对数据进行有效的加工、管理,使数据更能显示出它的价值,由于表可以独立于程序,因而表使得数据得以共享,同时使数据得到充分的利用。数据库中表有两个来源,一个来源是在数据库中建表,另一个来源是将自

11、由表添加到数据库中,注意不可以将一个数据库中的表添加到另一个数据库中。在VFP中表的建立方式有多种。本节中只介绍可视化的界面建立表和用命令建立表两种方式,其他几种方式将在后续章节中逐步介绍。建立表的过程一般可分为三步。第一步要确立表的结构,第二步用界面或用命令开始建表,以上步骤实际上就是对表结构的定义。第三步输入表的内容。3.2.1 表结构的设计表结构的设计在创建一个表文件之前,需要对表进行规范化设计,其基本的要求是:一个表内的数据是反映同一群体、不同个体的数据资料。群体的性质和范围根据研究问题的需要而定。一个表内的任何一个字段与其数据(记录)的性质与属性要求相一致。表即是相同结构记录的集合;

12、一个表内可设置一个或多个字段(数据项);一个表内的多个字段用于表示性质相近的数据;一个表内记录存储的先后顺序可以是随意的;一个表内的字段与记录的组织结构形同二维表格。3.2.1 表结构的设计表结构的设计例如对学生管理的相关数据信息进行分析,对一个班级的学生基本数据资料进行筛选并做先期规范化设计。问题分析:反映学生各方面情况的数据资料有:所学专业、所在班级、学号、准考证号、姓名、性别、年龄、出生日期、籍贯、简历、个人相片、兴趣爱好、身高、体重、视力、电话号码、各门课程考试成绩、公共选修课成绩、岗位或社会实践实习成绩、毕业设计(论文)成绩等等。筛选出反映基本情况的、性质相近且相对固定不变的数据构成

13、“基本信息表”。筛选出来的数据项为:学号、姓名、性别、出生日期、是否团员、入学成绩、班级名称、简历、个人相片。预先设计学生档案表“XSDA.dbf”的形式如表3-1所示。3.2.1 表结构的设计表结构的设计学号学号姓名姓名性别性别出生日期出生日期团员否团员否入学成绩入学成绩班级名班级名照片照片简历简历05011001李平女10/21/85T502.00计算计010105011002章立新男02/14/86T489.50电子010505011003赵智慧女05/07/85T467.00计算计010105021001林敏女08/01/85T498.00金融010205021002王新男11/05/

14、84F500.00电子010505021003于晶女03/04/85T488.00英语010405021004朱建华男10/20/86T496.00金融010205031001李国华男11/21/85T482.00会计010305031002陈炳章男06/01/83T466.00会计010305031003崔新荣女02/11/85T478.00英语01043.2.1 表结构的建立表结构的建立表文件(*.DBF)用于按关系型结构来组织数据,一个表由表结构和表记录两部分组成。表结构描述了数据存放的结构以及存储的顺序,确定了表的字段就完成了对表结构的定义;表记录是表要保存的数据主体。建立一个表文件先

15、要建立表结构,然后再输入表记录。建立表结构主要可使用命令方式和菜单方式。1.命令方式命令格式为CREATE|?,其中指定生成的表文件名称,若不指定扩展名,则默认为.DBF。如果使用“?”或未指定文件名称,系统会弹出“创建”对话框,以便用户输入表名。3.2.1 表结构的建立表结构的建立2设计器方式伴随“数据库环境设计器”有一个名为“数据库设计器”的浮动工具栏,在上面可见“新建表”按钮(参见图3-8),点击该按钮即可打开“新建表”对话框(参见图3-9)。图3-8 浮动工具栏上面的新建表命令按钮3.2.1 表结构的建立表结构的建立图3-9新建表对话框 如若要建立本书所用的XSDA.DBF表,表内容如

16、表3-1所示,则点击图3-9中的【新建表(N)】按钮,即可打开“创建”对话框。参见图3-10。3.2.1 表结构的建立表结构的建立图3-10“创建”对话框3.2.1 表结构的建立表结构的建立填写表名称“XSDA.dbf”(学生档案表),确定表文件名之后,点击【保存(S)】按钮,即可打开“表设计器”,参见图3-11。图3-11 表设计器3.2.1 表结构的建立表结构的建立 其中在“字段”选项卡中设置表的字段,“字段”选项卡包括6个子项:“字段”、“类型”、“宽度”、“小数位数”、“索引”、“NULL”。(1)字段:用于依次输入字段名称。如:学号,姓名,性别,出生日期,团员否,入学成绩,班级,照片

17、,简历等。字段名在表中必须是唯一的,字段名必须以汉字、字母和下划线开头,由汉字、字母、数字和下划线组成,对于数据库表字段名最多为128个字符,自由表字段名最多为10个字符。当数据库表转换为自由表时截去超长部分。字段名不能使用系统的保留字。(2)类型:用于设置各个字段的类型。可供选择的类型有:字符型、货币型、数值型、浮点型、日期型、日期时间型、双精度型、整型、逻辑型、备注型、通用型、二进制字符型、二进制备注型。(3)宽度:用于设置各个具体字段的宽度。(4)小数位数:用于设置数值型、整型、双精度型字段值的小数位数。3.2.1 表结构的建立表结构的建立类型的宽度、小数位数设置参考见表3-1。类型宽度

18、小数位数应用说明字符型0254无学号,姓名,职务,职称,职务等货币型84工资额,收入,支出,支出等数值型02007年龄,考试分数,高度,宽度,重量,体积等浮动型02007同数值型日期型8无仅表示日期。如出生日期,注册日期日期时间型8无用于表示日期和时间双精度型807用于设置较大的运算结果整型4无表示整数,如:年龄,序号逻辑型1无表示仅有两个值的内容,如:性别的逻辑表示,备注型4无表示文字内容较多的文本。如:简历,备注。通用型4无设置图片二进制字符型0254无同字符型二进制备注型固定4无同备注型3.2.3 数据库表字段的扩展属性数据库表字段的扩展属性1.字段的格式、掩码和标题表设计器右方名为“显

19、示”的页框用于设置字段的格式、掩码和标题。参见图3-12。图3-12 表设计器上面的“显示”页框3.2.4 输入新记录输入新记录1在记录浏览或编辑窗口输入记录(1)打开记录浏览窗口打开“记录浏览窗口”的方式有以下几种:在“项目管理器”中选择表,然后点击“浏览(B)”按钮。在“数据库管理器”中双击表的标题栏。打开记录浏览窗口的命令USE 表文件名BROWSE打开后的记录浏览窗口参见图3-16。3.2.4 输入新记录输入新记录图3-16 记录浏览窗口3.2.4 输入新记录输入新记录(2)打开记录编辑窗口在打开了记录浏览窗口之后,再点击“显示(V)”菜单中的“编辑(E)”命令,即可将窗口切换至“编辑

20、”窗口,然后点击“追加方式”,即可输入记录,参见图3-17。图3-17 记录编辑窗口3.2.4 输入新记录输入新记录(5)输入General型字段数据输入记录时若遇到General(通用)型数据,如:“相片”。可用鼠标双击该字段或按【Ctrl】+【Home】组合键,打开通用字段编辑窗口,参见图3-19。图3-19 通用字段编辑窗口此时,应点击“编辑(E)”菜单中的“插入对象(I)”命令,打开“插入对象”对话框,参见图3-20。3.2.4 输入新记录输入新记录图3-20“插入对象”对话框 在对话框中选择“由文件创建”,再点击“浏览(B)”命令按钮,打开“浏览”对话框选择所需的图片文件后,点击“打

21、开(O)”命令按钮,即可将确定插入表中的图片文件,并回到“插入对象”对话框。然后点击“确定”命令按钮。这样就把图片文件插入到了表的“通用”字段中。这种加入图形的方式称为“嵌入”。最后还要按【Ctrl】+【W】组合键存盘。插入和图片文件,如相片,最好设置为BMP(二进制图像文件)格式。3.2.1 表结构的建立表结构的建立2追加输入记录命令应用APPEND命令可以在表文件尾部追加输入记录。(1)命令格式APPEND BLANK IN 工作区号|别名(2)参数说明BLANK:追加一条空记录工作区号:表文件所在工作区,工作区概念在下一章介绍。目前可不用。别名:表文件的别名,别名的概念在下一章介绍。目前

22、可不用。3.3 表的基本操作表的基本操作本节介绍表文件的基本操作,包括表文件的打开与关闭、表结构的显示和修改、表记录的操作、其他文件操作、表的排序、索引与查询、表的统计与汇总等,是本章的重点内容。本节所涉及的操作均针对于一个表,对于多表操作和工作区的概念,可参见3.6小节。3.3.1 表文件的打开与关闭表文件的打开与关闭1.表的打开(1)在项目文件中打开表文件先打开项目文件(如:CJGL.pjx),再依次展开“数据”“数据库”“表”,并点击需要打开的表文件。参见图3-21。图3-21 在项目管理器中选择表文件3.3.1 表文件的打开与关闭表文件的打开与关闭然后点击“浏览(B)”按钮,即可打开该

23、表文件并以浏览方式显示记录(对于新创建的表,记录是空的);此时若点击“修改(M)”按钮,即可打开表设计器,对表的结构信息进行修改。(2)用界面打开表单击菜单文件打开(或常用工具拉单击打开按钮)打开了打开对话框如图3-22所示。在文件类型中选类型为表(*.dbf)选所示打开的表确定。3.3.1 表文件的打开与关闭表文件的打开与关闭图3-22“打开”表文件对话框 在“项目管理器”窗口中选择需要打开的表后单击“修改”或“浏览”按钮时也会自动地打开。表的这种打开是在当前未被使用的最小工作区中打开,且该工作区为当前工作区。3.3.1 表文件的打开与关闭表文件的打开与关闭在“项目管理器”窗口中选择需要打开

24、的表后单击“修改”或“浏览”按钮时也会自动地打开。表的这种打开是在当前未被使用的最小工作区中打开,且该工作区为当前工作区。(3)使用命令打开表在“命令”窗口或程序中,可以使用USE命令打开一张表。该命令的基本语法格式:USE TableNameIN nWorkArea|cTableAlis AGAINALIAS cTableAliasNOUPDATEIN子句用于指定表在哪个工作区中打开,缺省时为当前工作区;AGAIN用于说明该表再次打开,即表在多个工作区中同时被打开;ALIAS子句用于定义表的别名,缺省时表的别名一般与表名相同;NOUPDATE指定表打开后不允许修改其结构和数据。3.3.1 表

25、文件的打开与关闭表文件的打开与关闭可以使用如下命令在当前工作区中打开一个表:USE 表文件名如果要在一个未被使用的区号最小的工作区中打开一个表,可以使用如下命令:USE 表文件名 IN 0 或者SELECT 0USE 表文件名在最小未用工作区中打开ZG表,并且不允许修改USE ZG IN 0 NOUPDATE 3.3.1 表文件的打开与关闭表文件的打开与关闭2.表的关闭如果在一个工作区中已打开了一个表,当在此工作区中再次打开另一个表时,先前的表将自动被关闭。另外,可以通过界面操作或命令关闭打开的表。(1)关闭当前工作区中的表的命令是:USE(2)关闭非当前工作区中的表的命令是:USE IN 别

26、名|工作区 或者 SELECT 别名|工作区 3.3.1 表文件的打开与关闭表文件的打开与关闭(3)关闭所有工作区中的表的命令是:CLOSE ALL 或者 CLOSE DATABASES 或者 CLOSE TABLES(4)在退出VFP 系统时,所有的表都将被关闭。3.3.2 表结构的显示和修改表结构的显示和修改1.显示表的结构(1)用界面显示表结构在项目管理器中,展开“数据”“表”,再选择要打开的表文件名,然后点击菜单显示-表设计器。(2)用命令显示表结构格式:LIST|DISPLAY STRUCTURE功能:显示为前一打开的表的结构。参数说明:DISPLAY:以分屏方式显示表结构信息。LI

27、ST:以滚屏方式显示表结构信息。TO PRINTER:将表结构信息打印输出。TO FILE 文本文件名:将表结构信息存入一个文本文件。3.3.2 表结构的显示和修改表结构的显示和修改2.修改表的结构一个表在建立以后,有时由于实际需要发生了变化,或在建表时标的结构就不对,需要全面对已存在的表结构进行修改,VFP提供了界面与命令两种方式。(1)用界面修改表的结构用菜单或工具拉开表设计器修改表结构在表一打开的情况下修改表结构步骤:单击菜单显示打开表设计器。如图3-24所示,对字段意义进行修改。3.3.2 表结构的显示和修改表结构的显示和修改图3-24 表设计器3.3.2 表结构的显示和修改表结构的显

28、示和修改打开表设计器后,可以对表文件的结构信息进行修改。修改的内容包括:插入新字段,删除原有的字段、修改原有的字段。插入新字段用鼠标点击将要插入字段上,然后点击“插入(I)”命令按钮,再输入新的字段信息即可。删除原有的字段点击要删除的字段,再点击“删除(D)”命令按钮即可。修改原有的字段信息点击需要修改的字段,直接修改即可。表结构修改完毕,注意点击表设计器上面的“确定”命令按钮,此时会显示一个警告提示对话框。3.3.2 表结构的显示和修改表结构的显示和修改(2)用命令修改格式:ALTER TABLE ADDALTER LOLUMN (,DROP COLNME REMAME TO 功能:修改表的

29、结构说明:ADD column子句 用于增加新的字段。ALTER column子句 用于修改原有字段。DROP column子句 用于删除字段。RENAME column子句 用于将字段2指定的字段名改为字段3指定的字段名。3.3.3 表记录的操作表记录的操作1.显示记录表中的记录输入完毕,通常要显示记录。操作方法有:应用选单操作方式;使用BROWSE、LIST、DISPLAY等命令。(1)在“项目管理器”中显示表的内容在“项目管理器”中,展开“数据”,选中表文件,再点击“浏览(B)”按钮,即可打开浏览窗口显示表的内容。(2)在“数据库设计器”中显示表的内容在数据库设计器中,用鼠标双击某个表文

30、件的标题栏,即可打开浏览窗口显示表的内容。3.3.3 表记录的操作表记录的操作(3)直接打开表,然后浏览显示内容在未经事先打开项目管理器或数据库设计器的情况下,可以直接打开表文件,然后浏览显示内容,其操作步骤是:点击“文件”菜单中的“打开(O)”命令,显示“打开”对话框,在对话框中选择“文件类型”,然后选择要打开的表文件名,点击“显示(V)”菜单中的“浏览(B)”命令,即可打开浏览窗口显示表的内容。3.3.3 表记录的操作表记录的操作(3)浏览窗口的分区显示浏览显示窗口的右下角有一个黑色的小方框,用鼠标点击并拖动它向右移动,即可将一个浏览显示窗口分成左右两个区,用鼠标点击其中的一个区上面的记录

31、,然后点击“显示”菜单中的“浏览(B)”或“显示(E)”命令,即可将选中的页面设置为“浏览”方式或“编辑”方式。左区页面为“浏览”、右区页面为“编辑”。这样操作有利于浏览与编辑表中的记录。(4)“表”菜单打开浏览窗口后,在系统主菜单栏上面出现“表(A)”菜单,用于对浏览窗口进行操作。3.3.3 表记录的操作表记录的操作(5)显示记录的命令浏览显示命令BROWSE,其基本命令格式为:BROWSE FIELDS 字段名列表 FONT 字体名,字体大小 STYLE 字型符FOR 条件表达式1 REST FORMAT FREEZE 字段名KEY eExpression1,eExpression2 LA

32、ST|NOINITLOCK 字段数 LPARTITION NAME 对象名 NOAPPENDNOCAPTIONS NODELETE NOEDIT|NOMODIFY NOLGRID NORGRID NOLINK NOMENU NOOPTIMIZE NOREFRESH NORMAL NOWAIT PARTITION 列序号 LEDIT REDITPREFERENCE PreferenceName SAVE TIMEOUT nSeconds TITLE cTitleText VALID:F lExpression2 ERROR cMessageTextWHEN lExpression3 WIDTH

33、nFieldWidth WINDOW WindowName1IN WINDOW WindowName2|IN SCREEN COLOR SCHEME nSchemeNumber3.3.3 表记录的操作表记录的操作3删除表中记录删除表中的记录有三种方法:一种为逻辑删除,这种删除只是将记录加了删除标记。第二种删除是物理删除,这种是将具有删除标记的记录真正从表中删除。第三种是物理删除表中所有记录,剩下一个空表。(1)逻辑删除与恢复1)用界面为记录加删除标记或去掉删除标记在表打开前提下,显示浏览打开浏览窗口,如图3-31所示,单击记录左边小方框,使该方框变深色,即加删除标记。若要恢复记录,再次单击神色

34、方框使其变浅即可。3.3.3 表记录的操作表记录的操作3删除表中记录删除表中的记录有三种方法:一种为逻辑删除,这种删除只是将记录加了删除标记。第二种删除是物理删除,这种是将具有删除标记的记录真正从表中删除。第三种是物理删除表中所有记录,剩下一个空表。(1)逻辑删除与恢复1)用界面为记录加删除标记或去掉删除标记在表打开前提下,显示浏览打开浏览窗口,如图3-31所示,单击记录左边小方框,使该方框变深色,即加删除标记。若要恢复记录,再次单击神色方框使其变浅即可。3.3.3 表记录的操作表记录的操作图3-31 添加删除标记3.3.3 表记录的操作表记录的操作2)用命令为记录加删除标记与去掉删除标记记录

35、逻辑删除命令格式:DELETE 范围 FOR功能:对满足条件的记录加删除标记,若范围省略,默认范围为当前记录即NEXT1。记录恢复命令格式:RECALL范围FOR功能:为符合条件的记录去掉删除标记,若范围省略,默认范围为当前记录即NEXT1。(2)物理删除记录 用界面进行物理删除记录在表打开前提下,单击表菜单彻底删除,即可。用命令进行物理删除格式:PACK功能:将带有删除标记的记录,从表中真正删除。3.3.3 表记录的操作表记录的操作(3)物理删除表中所有记录格式:ZAP功能:将表中所有记录删除,只保留表结构。4修改记录(1)用界面修改记录在表打开前提下,显示浏览打开浏览窗口就可以对各条记录进

36、行修改。在命令窗口上用EDIT|CHANGE(2)用命令修改记录格式:REPLACE WITH ,WITH FOR WHILE 功能:在指定范围内将符合条件的记录中的相关字段用相关表达式来替换。若省略范围,默认范围为NEXT1。3.3.3 表记录的操作表记录的操作5插入记录格式:INSERT BEFORE BLANK功能:插入一条记录,若无BEFORE子句时,在当前记录后插入一条新记录;当有BEFORE子句时,在当前记录之前插入一条新记录。当有BLANK子句时插入一条空白记录,当时不能编辑,可用REPLACE等命令进行编辑(EDIT|CHANGE)。3.3.4 其他文件操作其他文件操作1复制表

37、结构复制表的结构是一种有效的操作方法。对于简单的表文件结构,将其复制一份会生成另一个表文件结构,再将部分内容修改即可快速创建另一个表文件。(1)复制表文件结构的命令COPY STRUCTURE TO 表文件名 EXTENDED FIELDS 字段名列表(2)命令说明COPY STRUCTURE TO 表文件名:复制表文件结构,生成另一个表文件结构,EXTENDED:使用EXTENDED参数复制表文件结构之后会生成一个结构描述表文件,该表文件的记录是原来表文件的结构信息。FIELDS 字段名列表:该选项用于复制表文件结构时选择字段。3.3.4 其他文件操作其他文件操作2使用AFIELDS()函数

38、获取表结构信息使用AFIELDS()函数可将表结构信息存储为一个二维数组。格式如下:AFIELDS(指定数组名称,工作区|表的别名 )3.3.5 表的排序、索引与查询表的排序、索引与查询1排序记录在表文件中是按照录入时的顺序排列的,Visual FoxPro使用记录号予以标识。除非进行了记录的插入或删除,否则已输入记录的记录号是不会改变的。如果希望表文件中的数据记录按照用户所希望的顺序来排列,如按照员工编号由小到大排列、按照年龄由大到小排列等,就需要采取一些有效的方法对文件中的记录重新组织,使其按照用户希望的顺序排列。Visual FoxPro中的排序和索引功能为用户实现经目的提供了方便。表的

39、排序就是把表文件中的记录按照某个字段值的大小顺序重新排列,作为排序的字段称为“关键字”。排序的结果将生成一个新的表文件,新表文件的结构和数据可与源文件完全相同,也可取自源文件的一部分字段。排序可以按照关键字值从小到大的顺序进行升序排序,也可以按照关键字值从大到小进行降序排序。3.3.5 表的排序、索引与查询表的排序、索引与查询数据大小的比较规则为:如果是数值型、日期型的数据进行比较,则由其本身的大小决定;字符型数据由其ASCII码值确定,汉字则由机内码确定。VFP使用SORT命令实现排序:格式:SORT TO ON/A/D/C,/A/D/CASCENDING/DESCENDINGFOR WHI

40、LE FIELDS 功能:对当前表中指定范围内的满足条件的记录按照指定字段升序或降序重新排列,并将排序后的记录按FIELDS子句指定的字段存入新的表文件中。3.3.5 表的排序、索引与查询表的排序、索引与查询说明:/A表示按字段值升序排列,为系统默认值,可以省略;/D表示按字段值降序排列;/C表示按指定的字符型字段排序时不区分字母大小写。此三个参数可以合用,如/AC。ASCENDING/DESCENDING:ASCENDING表示对所有关键字段都按升序方式排列;DESCENDING表示对所有关键字段都按降序方式排列。/A/D/C优先于ASCENDING/DESCENDING。排序后,源文件仍存

41、在并处于打开状态,且记录顺序和数据内容都没有发生改变;生成的新表文件是关闭的,使用时必须先打开。逻辑型字段和备注型字段不能作为关键字。排在最前面的字段为最大关键字,记录最先按最大关键字进行排序,当记录的最大关键字相同时,再按后面的关键字进行排序。3.3.5 表的排序、索引与查询表的排序、索引与查询2.表的索引排序命令已经解决了对已存在表按实际需要,按某一个字段或多个字段排序的问题。由于它使原表不变而又形成了一个新表,这样就在磁盘中造成了很大的冗余,浪费了存储空间。如何解决这样的问题,VFP用建立索引文件来解决。(1)索引的概念索引是根据表中的某一个或多个字段建立的一个逻辑顺序的文件,而不生成表

42、文件,它并不改变表的物理位置。人们将这些建立索引的字段称为关键字。索引文件的内容只是关键字与记录号,占用存储空间与排序表相比要小得多,它存储的是索引与表的映射关系。它就像一本书的目录一样,由标题查到在书中的页码,查找的速度很快。当对表记录进行增、删、改操作时,索引文件会随着表而更新。3.3.5 表的排序、索引与查询表的排序、索引与查询索引文件主要分为两种,一种是单索引文件,另一种为复合索引文件。单索引文件可分为标准单索引文件和压缩单索引文件。复合索引文件可分为结构化复合索引文件和非结构化复合索引文件。只存储一个索引的索引文件称为单索引文件,它的扩展名为.IDX。能存储多个索引的索引文件称为复合

43、索引,扩展名为.CDX。每个索引都有一个索引标识。复合索引文件名若与表名相同称为结构化复合索引文件,当表打开时,结构化符合索引自动随着打开。反之,复合索引文件名与表名不同称为非结构化复合索引。VFP的索引方式有4种:主索引、候选索引、唯一索引和普通索引。他们的相关说明如表3-8所示。3.3.5 表的排序、索引与查询表的排序、索引与查询索引类型索引类型关键字是否不重复关键字是否不重复说明说明创建修改命令创建修改命令索引个数索引个数普通索引可重复可做为1:n永久关系的n方INDEX可有多个唯一索引可重复为旧版本兼容INDEX可有多个候选索引不可重复可作为主关键字,可用于在永久关系中建立参照完整性。

44、INDEXCREATE TABLEALTER TABLE可有多个主索引不可重复可作为主关键字,可用于在永久关系中建立参照完整性。只有数据库表才能建立索引。CREATE TABLEALTER TABLE一个表3-8 VFP的索引方式3.3.5 表的排序、索引与查询表的排序、索引与查询(2)建立索引用界面建立索引单字段索引在表打开的前提下:显示表设计器字段选项卡在字段名列中选中一个字段作为索引字段索引下拉列表框中选升或降序,此时建立了一个普通索引,索引名与字段名相同,索引表达式就是对应的字段。如图3-34所示。如果想建立其它类型的索引,可继续单击索引选项卡单击类型下拉列表框,此时出现三种方式类型,

45、即普通索引、候选索引和唯一索引。注意没有主索引类型,因为主索引只有在数据库表中才能建立。可根据需要选一种索引类型确定。3.3.5 表的排序、索引与查询表的排序、索引与查询图3-34 单字段索引的设置界面3.3.5 表的排序、索引与查询表的排序、索引与查询复合字段索引在表打开前提下,如建立一个普通索引表达式为性别+入学成绩,则依次点击显示表设计器索引选项卡插入(此时在界面出现一新行)在索引名下输入索引名在类型下拉列表框中选索引类型,如图3-35所示。然后单击表达式右边的按钮打开表达式生成器,如图3-36所示在表达式中输入索引表达式确定确定。3.3.5 表的排序、索引与查询表的排序、索引与查询图3

46、-35 建立复合索引图3-36 表达式生成器3.3.5 表的排序、索引与查询表的排序、索引与查询 用命令建立索引格式:INDEX ON TO|TAG OF FOR COMPACT ASCENDING|DESCENDING UNIQUE|CANDIDATE ADDITIVE功能:建立索引文件或增加索引标识。说明:索引关键字,可以是单个字段名,或用字段名组成的表达式。TO 子句是建立单索引文件。TAG是建立复合索引标识,当不选OF子句建立的是与表同名的结构化复合索引文件,当选OF子句时建立的非结构化复合索引文件。COMPACT用来指定单索引文件是压缩的。复合索引总是压缩的。ASCENDING、DE

47、SCENDING子句表示升、降序,默认为升序。UNIQUE子句是建立唯一索引。CANIDATE子句建立候选索引。ADDITIVE子句建立该索引文件是不关闭以前打开的索引文件,默认是关闭以前打开的索引文件。新建的索引文件自动打开,并开始起作用。3.3.5 表的排序、索引与查询表的排序、索引与查询(4)设置主控索引格式:SET ORDER TO|TAG OF ASCENDING|DESCENDING功能:设置主控索引文件说明:是指定主控索引文件或索引标识编号。先按USE 或INDEX出现顺序打开的单索引文件,然后按创建顺序指定结构化复合索引表示的编号,最后按创建顺序指定非结构化复合索引的编号。是指

48、定此索引文件为主控索引。TAGOF 指定结构化、非结构化复合索引文件中的索引标识为主控索引。OF 适用于打开非结构化复合索引文件。无任何选项或SET ORDER TO 为取消主控索引。ASCENDING、DESCENDING用于重新设置主控索引文件升或降序。(5)删除索引格式:DELETE TAG ALL|,功能:删除打开的复合索引文件的索引标识。3.3.5 表的排序、索引与查询表的排序、索引与查询(6)索引的更新在表的记录发生变化时,打开的索引文件会随着表的变化而更新。但未打开的索引文件是不会自动根据表的变化而更新的。要想将这些未打开的索引文件更新,首先打开这些文件,然后再用以下讲的更新索引

49、命令就可以了。格式:REINDEX COMPACT功能:重建当前打开的索引文件。COMPACT子句可将已打开的*.IDX索引文件转为压缩单索引文件。3.3.5 表的排序、索引与查询表的排序、索引与查询3记录的查询在数据资源的管理中,使用最频繁的操作莫过于查询满足一定条件的一系列数据,从而为日常决策提供足够的判断依据,对表记录的查询,系统提供了两类查询命令:顺序查询和索引查询。(1)顺序查询 命令方式格式:LOCATE FOR 功能:查找符合条件第一个记录的位置,指针指向该记录。若表中无符合条件的记录,指针指向表尾。说明:若符合条件的记录有多条,可用CONTINUE 继续查找下一个符合条件的记录

50、。3.3.5 表的排序、索引与查询表的排序、索引与查询 菜单方式打开表文件后,依次选择显示浏览表转到记录定位命令,出现如图3-38所示的对话框。在作用范围下拉列表框中选择查询范围,在FOR或WHILE框中输入查询条件,单击“定位”按钮,系统将指针定位于符合条件的第一条记录上。图3-38“定位记录”对话框3.3.5 表的排序、索引与查询表的排序、索引与查询(2)索引中的查询命令索引的应用在于对关键字的快速查询,VFP中有两个索引查询命令就是FIND与SEEK。FIND命令格式:FIND|功能:在索引关键字中查找与指定的字符串或数值相匹配的第一条记录。若找到,指针指向此记录,否则指针指向表尾。一般

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 生活常识

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com