1、第二章第二章 数据表数据表问题的提出:怎样才能将信息管理过程中遇到的一些数据存入到计算机以备提取所需要的信息?数据又是以什么样的形式保存?解决问题的方法:可以将数据保存到数据库中,以二维表格的形式保存。本章将学习数据表的有关知识。第二章第二章 数据表数据表本章主要介绍的内容有:表的创建;表的基本操作。通过学习本章内容,您能够做到:掌握表的创建;掌握表记录的显示、插入、删除和修改等基本操作。本章目录本章目录.引例 .表的创建 .3 操作表 HOME2.1 引例下面我们就以“学生管理系统”应用程序中用到的学生档案表(xsda.dbf)为例,来了解数据表的结构,可以发现数据表逻辑结构实际上就是一张二
2、维表,而数据表是由两部分组成:表结构和记录数据。有关概念 表、记录及字段 1.表表 表表是关系数据库中一个重要的对象,由字段和记录组成。表是以文件的形式存放在磁盘上,其扩展名为.dbf。例如:xsda.dbf。2.记录记录 表中的一行数据称为一个记录。而第一行称为表头或表的标题,它构成表的结构。3.字段字段 表中的一列表示一个属性称为字段,属性不同,字段代表的含义也不同。例如:xsda.dbf表中共有10个字段。2.2 2.2 表的建立表的建立 2.2.1数据与数据库类型 2.2.2 表的创建 2.2.3 Visual FoxPro 6.0中的命令 2.2.1数据与数据库类型1.数据数据 数据
3、就是指存储在某种媒体上能够被识别的物理符号,数据的形式多种多样,如文字图形、声音等。计算机中的数据是指通过计算机的各种输入设备输入到计算机中并以二进制形式存储的数据。在数据处理中,数据管理技术是其中重要组成部分,它的发展大致经历了四个阶段:手工管理阶段、文件管理阶段、数据库系统阶段和分布式数据库系统阶段。2.数据库类型数据库类型 根据数据库的不同组织方法,可将数据库分为三种:层次数据库、网状数据库、关系数据库。其中以关系数据库最为流行、最为实用。关系数据库中的每一个关系,都是一个二维表,犹如我们日常生活中常见的学生成绩表、职工工资表、维修记录表等。2.2.2 表的创建 我们已经知道表有两部分组
4、成:“表结构”和“记录数据”。只有先定义表结构,才能输入具体的记录数据。在创建表之前,先学习表结构的设计。设计表的结构即定义表所包含的字段名、类型、宽度、小数位数、索引和NULL等。先学习自由表表结构的设计。(1)字段名:必须以字母或汉字开头,可以包括字母、汉字、数字和下划线,不要超过10个字符。例如:姓名、XB、班级BJ。(2)字段类型:决定存储在字段中的数据类型及取值范围。有字符型(C)、数值型(N)、日期型(D)、逻辑型(L)和备注型(M)等。(3)宽度:字段可以通过宽度决定允许存储数据的最大字节数。字符型字段所占宽度为1254,数值型字段所占宽度不超过20,日期型所占宽度为8,逻辑型所
5、占宽度为1,备注型所占宽度为4。1.表结构的设计表结构的设计(4)小数位数:只有数值型、双精度型、浮动型字段规定小数位,小数位的取值至少比字段宽度少一位。(5)索引:指定是否以该字段为关键字建立索引,主要用于记录排序(升序或降序)。用户在设计好要建立的表的字段名、字段类型、宽度和小数后,就可以创建表。2.自由表的创建自由表的创建 建立自由表可以使用三种方式:“表设计器”方式、命令方式及项目管理器方式,下面以学生档案表(xsda.dbf)为例讲述表的创建。(1)“表设计器”方式。操作步骤如下:选择“文件”菜单中的“新建”菜单项进入“新建”对话框如右图所示在“文件类型”中选择“表”单选按钮再单击“
6、新建文件”按钮进入“创建”文件对话框。在“创建”文件对话框中“保存在”位置选取要保存文件的位置“保存类型”选“表/DBF”输入表名xsda.dbf单击“保存”按钮。在“表设计器”对话框中选“字段”选项卡在该选项卡中依次输入定义好的字段名、字段类型和字段宽度和小数等确定输入无误后单击“确定”按钮。出现如下图所示的对话框单击“是”按钮用户可以直接输入表记录数据。如单击“否”按钮则系统保存表的结构,待以后再输入数据。下面以学生档案表xsda.dbf和学生成绩表xscj.dbf为例讲述命令的使用。(2)命令方式 格式1:CREATE 示例:create xsda 格式2:CREATE TABLE(,)
7、示例:create table xscj(学号C(5),课程号C(4),成绩N(3)汪 意:所有命令均在命令窗口中输入,输入完毕后按回车。下面以“学生管理”项目文件为例,讲述应用项目管理器建立表文件的方法。(3)项目管理器方式。选择“文件”菜单中的“打开”菜单项将“文件类型”选为“项目(*.pjx)”在文件名位置选“学生管理.pjx”项目文件打开学生管理项目管理器单击“全部”或“数据”选项卡选中“自由表”单击“新建”按钮弹出“新建表”对话框再选择“新建表”按钮则出现“创建”对话框其余步骤与“表设计器”方式相同。2.2.3Visual FoxPro 6.0中的命令 Visual FoxPro 6
8、.0中有关数据库和表的各种操作,既可以通过菜单操作方式完成,也可以通过命令方式或程序方式完成。无论采用何种操作方式,都是执行相应的Visual FoxPro 6.0命令。下面介绍Visual FoxPro 6.0中的命令组成、一般格式及使用。1.命令组成 Visual FoxPro 6.0的命令通常由两部分组成:命令动词和子句。2.命令的书写格式 命令动词 FIELDSFORWHILE 示例:Display all fields xh,xm for xb=“女”&将所有女生的学号和姓名显示出来。范围子句 含 义 ALL 表中所有记录 RECORD N 表中指定的第N条记录 NEXT N 表中从
9、当前记录开始向下的N条记录 REST 表中从当前记录开始的所有剩余记录 FIELDS 一般情况下由表中的字段名构成,表示对所列字段进行操作。注 意:有些命令中FIELDS可以省略。例如上例可以改写成:Display all xh,xm for xb=“女”FOR/WHILE 表示对所指的逻辑表达式值为真(.T.)的记录进行操作。例如:上例中的for xb=“女”子句表示对女生进行操作。3.命令的使用规则 (1)每条命令以命令动词开头,动词后选项先后顺序可以任意,命令动词可取前四个字符;(2)用空格来分隔命令中的各子句;(3)用分号作为续行符;(4)命令可以混合使用大小写。示例:use xsda
10、&打开xsda表文件list all&显示所有记录list Next 5&显示从当前记录开始的5条记录list rest&显示从当前记录开始到文件尾的记录list record 5&显示第5条记录2.32.3操作表操作表 2.3.1打开表和关闭表 2.3.2记录的添加与插入 2.3.3记录的显示 2.3.4记录的定位 2.3.5定制“浏览”窗口 2.3.6记录的修改 2.3.7记录的删除与恢复 2.3.8修改表的结构 2.3.9表与表结构的复制2.3.1打开表和关闭表 打开表 无论对表进行何种操作,都必须首先打开表。可以通过以下几种方法来打开表,下面以xsda.dbf为例。1.菜单方式 选“文
11、件”菜单中“打开”菜单项在打开对话框中“文件类型”选“表”“查找范围”选文件所在的文件夹文件名选“xsda.dbf”2.命令方式 格式:USE|功能:打开表。示例:use xsda 关闭表 格式:USE 功能:关闭当前工作区中的表文件。2.3.2记录的添加与插入 前面所创建的表文件到现在为止还只是一个表的结构,没有内容,下面介绍如何向表中添加记录内容。1.立即输入方式 在表结构建立好以后,系统会弹出消息框询问是否“现在输入记录,若回答”是“,就可以立即输入记录内容。2.菜单方式 以”学生档案xsda.dbf“为例说明应用菜单方式输入记录的方法。操作步骤如下:打开学生档案xsda.dbf表选“显
12、示”菜单中的”浏览”菜单项进入浏览界面。记录的添加 选“显示”菜单中的“追加方式”菜单项向表中逐条输入记录内容。学生档案表(xsda.dbf)内容3.命令方式格式:APPEND BLANK功能:在当前表文件后追加记录。示例:打开xsda表,向其中追加新记录。USE xsda&打开xsda表APPEND&在表xsda中追加记录 4.外部追加 外部追加是将另一个表文件的记录追加到当前表的尾部。分别有两种方式:菜单方式和命令方式。(1)菜单方式 打开学生档案xsda.dbf表选“显示”菜单中的”浏览”菜单项进入浏览界面选“表”菜单中的“追加记录(A)”菜单项在“追加来源”对话框的“来源于“文本框中输
13、入要追加的表名xsda1.dbf单击”确定“按钮。(2)命令方式 格式 APPEND FROM|?FIELDS 功能功能:将其它表文件中的记录追加到当前表文件中。说明:说明:如含FIELDS字段名表,则仅追加指定的字段。示例:将xsda1表文件中的内容追加到当前表中。Append from xsda15.记录的插入格式格式:INSERT BEFOREBLANK功能:功能:在当前表中插入一个新记录。说明:说明:无任何选项时,打开“编辑”窗口,在表的当前记录之后插入一个新记录,随后显示该记录以便用户录入数据。含“BEFORE”选项时,新记录插入在当前记录的前面。含“BLANK”选项时,不进入“编辑
14、”窗口,而是自动插入一条空白记录。2.3.3 记录的显示 显示记录分别有两种方式:菜单方式和命令方式。1.菜单方式 显示表记录最方便的方法是使用菜单中的“浏览”命令。下面以显示学生成绩表xscj.dbf记录为例,操作步骤如下:打开学生成绩表xscj.dbf选“显示”菜单中的”浏览”菜单项打开表的浏览窗口。2.命令方式有三种命令格式,分别如下:格式格式1 1:BROWSEBROWSEFIELDSFIELDS字段名表FORFOR|WHILEWHILE条件 功能:在“浏览”窗口中显示已打开的当前表文件记录内容。示例:use xsda browse fields xh,xm,rxf&以浏览方式显示xs
15、da.dbf表文件的记录,只显示xh、xm、rxf三个字段 格式格式2 2:DISPLAYDISPLAY范围FIELDSFIELDS字段名表FORFOR|WHILEWHILE条件 TO PRINTTO PRINTOFFOFFTO FILETO FILE文件名 功能:显示已打开的当前表文件记录内容。示例1:use xsda&打开xsda表文件 display all for zy=“机械制造”&将xsda.dbf文件中所有学“机械制造”专业的学生记录显示出来 示例2:use xsda display&显示xsda.dbf文件中的当前记录 格式格式3 3:LISTLIST范围FIELDSFIELD
16、S字段名表FORFOR|WHILEWHILE条件TO PRINTTO PRINTOFFOFFTO FILETO FILE文件名 功能:显示已打开的当前表文件记录内容。说明:说明:LIST和DISPLAY命令的区别:省略范围和条件时,LIST默认值为ALL,显示所有的记录;DISPLAY默认值为当前记录,即显示一个记录。当显示内容较多时,DISPLAY是分页显示;LIST不分页,而是滚动显示。实例演示【例2.1】显示表xsda.dbf中的记录。输入命令:use xsda&打开表xsda.dbflist to xsdat.txt&显示结果保存到xsdat.txt文本文件中List&显示所有记录运行
17、结果:提问:是否显示了表中所有记录的内容?答:型字段内容不在其内。【例2.2】显示表xsda.dbf中前3个记录的“姓名”和“特长”两项内容。输入命令:use xsda list next 3 fields xm,tc&显示指定范围和指定字段的内容 运行结果:【例2.3】显示表xsda.dbf中男生的姓名和专业。输入命令:disp all fields xm,zy for xb=“男”off&指定范围、字段和条件,不显示记录号 运行结果:2.3.4 记录的定位 在Visual FoxPro 6.0系统环境下,表中的每一行数据是通过记录号来标识的。在向表输入数据时,系统按照其输入的前后顺序,给每
18、一个记录赋予一个记录号。当表打开时,当前记录为第一个记录。表文件一旦打开,表中的记录指针是可以移动的,所以当前记录是某一时刻的操作对象。对表中记录的定位,实质上就是确定哪一个记录为当前记录。根据定位的方式,分为绝对定位、相对定位、条件定位和索引定位四种。这里介绍的是前两种。1.菜单方式 操作步骤:打开要使用的表xsda.dbf在“显示”菜单下选择“浏览”菜单项选择“表”菜单中“转到记录”菜单项在下一级子菜单中选择相应的移动命令:2.命令方式命令方式(1)绝对定位(GO)。格式格式1 1:GOGO RECORDRECORD数值表达式TOPTOPBOTTOMBOTTOM 格式格式2 2:数值表达式
19、 功能:功能:将记录指针直接定位到指定的记录上。【例2.4】绝对定位命令的使用。输入命令:Use xsdadisp&显示第一个记录的内容go 5&将记录指针移到第5个记录disp&显示第5个记录的内容go Bottom&将记录指针移到最后一个记录disp&显示最后一个记录的内容运行结果:(2)相对定位(SKIP)格式:格式:SKIPSKIP数值表达式 功能:功能:从当前记录开始移动记录指针,数值表达式表示移动记录的个数。说明:说明:若数值表达式的值为负数,则记录指针向前移动,若数值表达式的值为正数,则记录指针向后移动。若省略SKIP,记录指针向后移动一个记录。【例2.5】相对定位命令的使用。输
20、入命令:Clear Use xsda Go 4 DispSkip 2&记录指针下移2个记录Disp8&将记录指针移到第8个记录skip 6&记录指针上移6个记录list next 3&从当前记录开始,显示3个记录2.3.5 定制“浏览”窗口 在“浏览”模式下,用户可以使用许多方法来定制“浏览”窗口,改变“浏览”方式生成一个使人感觉较舒适和操作便捷的“浏览”窗口。分别有以下操作:1.重新排列字段 在“浏览”窗口,用鼠标拖动字段栏到指定位置即可。2.改变行、列尺寸 在“浏览”窗口,将鼠标置于两字段名中间的列分界线上按住左键拖动即可改变字段的显示宽度。3.分割“浏览”窗口 在“浏览”窗口,用鼠标向右
21、拖动左下角分割条位置,即可将浏览窗口分成两部分。4.打开或关闭网格线 在“显示”菜单中选择或取消“网络线”,即可显示或隐藏“浏览”窗口中的网格线。2.3.6 记录的修改 Visual FoxPro 6.0提供了灵活多样的修改记录的方法,既有菜单方式,也有命令方式。下面分别进行介绍。1.用“浏览”窗口修改 打开“浏览”窗口在“浏览”窗口中直接进行记录修改修改完毕按Ctrl+键存盘。在浏览窗口中直接修改 2.用EDIT或CHANGE命令交互式修改 格式:EDIT范围FOR条件WHILE条件 CHANGE范围FOR条件WHILE条件 功能:这两条命令的格式、功能相同,以竖直编辑窗口显示、编辑和修改表
22、中的记录。说明:执行命令后,系统打开“编辑”窗口,以竖直格式显示各个字段的内容,此时,可对记录内容进行修改,修改完毕,按Ctrl+键存盘退出。3.用REPLACE命令直接修改 REPLACE是系统自动修改命令,它可快速修改一批记录的数据,在命令操作或程序控制中十分有用。同样有命令方式和菜单方式。(1)命令方式 格式:格式:REPLACEREPLACE范围字段名1WITHWITH表达式1 A D D I T I V EA D D I T I V E ,字 段 名 2 W I T HW I T H 表 达 式 2 ADDITIVEADDITIVEFORFOR条件|WHILEWHILE条件 功能:功
23、能:不进入全屏幕编辑方式,根据命令中指定的条件和范围,用表达式的值去更新指定字段的内容。【例2.6】用REPLACE命令将学号为“199921608”的所有成绩都加5分。输入命令:Use xscj Replace cj with cj+5 for xh=199921608 示 例 例:将xsda表文件的最后一条记录中xh字段改为200221111,xm字段改为“王红”,rxf字段改为400分,tyf字段改为.t.。use xsda go bottom Replace xh with“200221111”,xm with“王红”,rxf with 400,tyf with.t.例:将第三条记录的
24、csrq字段改为1984年10月10日。go 3 Replace csrq with ctod(“10/10/84”)(2)菜单方式 操作步骤如下:打开一个表从“显示”菜单中选择“浏览”从“表”菜单在“替换字段”窗口。2.3.7记录的删除与恢复 在Visual FoxPro 6.0中,删除记录有逻辑删除和物理删除两种。对记录的删除需分两步进行,即先对欲删除的记录打上删除标记(逻辑删除),然后再将带删除标记的记录一次性从表中清除(物理删除)。经逻辑删除的记录用户还可以将其恢复,即去除删除标记,但一旦被物理删除,将无法再恢复,数据将永远丢失。1.在“浏览”窗口中删除与恢复记录 有两种操作方式:直接
25、用鼠标操作和菜单方式。(1)直接用鼠标操作。单击耍删除记录左侧矩形域,该区域变黑,即表示该记录已被标上删除标记,表示逻辑删除。若想恢复被逻辑删除的记录(即取消删除标记),可用鼠标再次单击记录左侧矩形域,黑色矩形域变白,即恢复记录。(2)菜单方式 选“表”菜单中“切换删除标记(T)”菜单项(或按下“Ctrl+T”组合键),就可将当前记录标上删除标记或恢复记录。删除满足一定条件和范围的记录:选“表”菜单中“删除记录(D)”菜单项在“删除记录”对话框中输入查询范围条件等单击“删除”按钮。恢复满足一定条件和范围的记录:选“表”菜单中“恢复记录(E)”菜单项在“恢复记录”对话框中输入恢复记录的范围和条件
26、单击“恢复记录”按钮。2.命令方式删除与恢复记录(1)逻辑删除记录 格式:DELETE范围FOR条件WHILE条件 功能:对当前表文件中指定范围内满足条件的记录,加删除标记。(2)恢复逻辑删除的记录 格式:RECALL范围FOR条件WHILE条件 功能:对当前表文件中指定范围内满足条件并已加删除标记的记录进行恢复。(3)物理删除有删除标记的记录 格式:PACK 功能:把当前表文件中已作过删除标记的记录从磁盘上真正删除掉。(4)物理删除表中全部记录 格式:ZAP 功能:将当前表文件中的所有记录进行物理删除,仅保留表结构。示 例【例2.7】删除记录。use xsda delete all for“
27、张”$xm 给xm字段中包含“张”字的 所有学生记录作删除标记 list&显示 recall all&恢复所有逻辑删除的记录 list go 6&定位到6号记录 dele&给当前记录(6号记录)加删除标记 pack&物理删除2.3.8修改表的结构 在建立表结构时可直接在表设计器中对表结构进行修改;若建表后,需要对字段进行增减、改变字段的属性或调整字段的顺序等,可以打开表设计器或利用表向导来修改表结构。1.利用“表设计器”修改表结构 (1)菜单方式 打开表选“显示”菜单中“表设计器”菜单项对表结构进行修改单击“表设计器”中的“确定”按钮或按“Ctrl+”键保存修改后的表结构。(2)命令方式 格式
28、:MODIFY STRUCTURE 功能:显示表设计器,修改当前表的结构。说明:如果没有在当前工作区中打开表,则显示“打开”对话框,允许用户从中选择一个要修改的表打开。执行此命令后,系统首先建立该表文件的备份文件(.bak),改完存盘退出时,则原来的记录数据均复制到修改后的表中来。把字段从一种数据类型更改为另一种数据类型并不完全转换字段的内容,或者根本不转换。例如,如果将日期类型的字段转换成数值类型,则字段内容不转换。如果接受对结构的修改,然后中断数据复制过程,则新表不包含原表的所有记录。2.利用“表向导”修改表结构 用表向导来修改表结构或建立新表的结构,都必须利用已有的表来实现。用户通过打开
29、表向导对话框来操作,每一步骤显示一个设置窗口。(1)打开表向导对话框 选定“文件”菜单中的“新建”命令,选定新建对话框中的“表”选项按钮,选定“向导”按钮,系统弹出表向导对话框如图所示。(2)字段选取窗口的操作。表向导对话框打开后,需要进行四步操作:选表:在“样表”列表中将显示Visual FoxPro 6.0示例应用程序所包含的表以供用户选择,用户还可利用“加入”按钮来添加需要的表。以添加XSDA.DBF为例,并在样表列表中选定它,“可用字段”列表中就会显示XSDA表的所有字段。确定字段:用户所要的字段应从“可用字段”列表中选取,并使用箭头按钮将它们送到“选定字段”列表中。箭头按钮用于从可用
30、字段列表向选定字段列表加字段,或从选定字段列表中移去字段。选定“下一步”按钮进入其他设置窗口。最后单击“完成”按钮。3.表结构的显示格式:LIST STRUCTURE或 DISPLAY STRUCTURE功能:显示表的结构。【例2.8】显示xsda.dbf表的结构。输入命令:Close all&关闭所有文件Use xsda List structure&显示表结构2.3.9表与表结构的复制 1.复制任何类型文件格式:COPY FILE COPY FILE 文件名1 TO TO 文件名2功能:从文件名1文件复制得文件名2文件。说明:若对表进行复制,该表必须处于关闭状态。文件名1和文件名2都可使用
31、通配符“*”和“?”。示例:clear&清除屏幕 close all copy file xsda.dbf to da.dbf&将xsda.dbf文件复制到da.dbf文件中 2.从表复制出表或其他类型的文件 格式:COPY TO COPY TO 文件名范围FORFOR条件FIELDSFIELDS字段名表 功能:将当前表中选定的部分记录和部分字段复制成一个新表或其他类型的文件。说明:首先要打开原表。对于含有备注字段的表,系统在复制扩展名为.DBF文件的同时自动复制扩展名为.FPT的备注文件。示例:示例:open database xsgl&打开xsgl数据库文件use xsdacopy to
32、xsda2&将xsda表文件内容复制到xsda2文件中 3.复制表结构 格式:COPY STRUCTURE TOCOPY STRUCTURE TO表文件名FIELDSFIELDS字段名表 功能:将当前打开的表文件结构的部分或全部复制产生表文件名所指定的表结构,仅复制当前表的结构,不复制其中的数据。说明:表文件名指定生成新表结构的表文件名。FIELDS字段名表指定在新表中包含的字段及顺序。若省略该子句,则按字段原来的顺序复制全部字段。示例:示例:利用表结构的复制建立jxda.dbf的结构。输入命令:use xsdacopy structure to jxda fields xh,xm,xb,csrq
侵权处理QQ:3464097650--上传资料QQ:3464097650
【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。