news 2026/4/16 3:05:50

数据库和表

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
数据库和表

在数据库管理系统中,数据与程序是分开存放的,设计程序的目的是为了将数据加工处理成符合用户要求的有用信息。VFP的数据存储在表(Table,后缀为DBF)中,但是还有另外的一层名为数据库的外套(后缀为DBC)。DBC中包含有关于表、索引、关系、触发器等的信息。首先我们来看看表。然后再看看数据库如何把它们捆绑在一起。

第一部分:VFP的表

VFP的数据以表的形式存储,表的每一列表示一个单一的数据元素(在VFP中称为字段),比如姓名、地址或电话号码。每一行是一个记录,是一个由每列中的一个数据组成的组。表的每一个字段都有特定的数据类型。可以将字段的数据类型设置为下表中的任意一种。

表一. 字段的数据类型

数据类型

说明

字符型

字母、数字型文本

货币型

货币单位 价格

数值型

整数或小数

浮点型

同“数值型”

日期型

年,月,日

日期时间型

年,月,日,时,分,秒

双精度型

双精度数值

整型

不带小数点的数值

逻辑型

真或假

备注型

不定长的字母数字文本

通用型

OLE(对象链接与嵌入)

字符型(二进制)

同前述“字符型”相同,但是当代码页更改时字符值不变

备注型(二进制)

同前述“备注型”相同,但是当代码页更改时备注不变

一、创建新表

下面,我们来建立一个新表。选择菜单“文件/新建”,在弹出的“新建”对话框中选择“表”,然后选择“新建文件”按钮,在弹出的“创建”对话框中选择要存放的目录或文件夹,并输入表名(如:学生情况),就会弹出“表设计器”对话框。

选择“字段”选项卡,在“字段名”区域键入字段的名称;在“类型”区域,选择列表中的某一字段类型;在“宽度”区域,设置以字符为单位的列宽;如果“字段类型”是“数值型”或“浮点型”,设置“小数位”框中的小数点位数;如果希望为字段添加索引,请在“索引”列中选择一种排序方式。请按照“图一”定义“学生情况表”的字段, 在以后的讲座中,我们将经常使用它。(说明:尽管VFP中可以用汉字来定义字段,但为了以后编程的方便,这里使用汉字的拼音简写来定义字段。)

定义完字段后,按“确定”命令按钮后,VFP会询问是否“现在输入数据?”,此时,可以选择是立即开始输入记录,还是在以后准备好所有记录后再打开表进行输入。

请注意,这时命令窗口将会出现一条命令“CREAT”,这就是建立新表的VFP命令,将光标移至这一行,按回车,将再次弹出“表设计器”对话框。VFP的大部分菜单操作都会将相应的命令显示在“命令”窗口中,可千万别错过这个学习命令的好机会呦!

二、表记录的编辑修改

在建立了新表后就可以在表中编辑修改数据了,表中数据的编辑修改包括增加记录、修改记录和删除记录,还有查询记录。

1.查看表的内容

查看表内容的最快方法是使用“浏览”窗口。“浏览”窗口中显示的内容是由一系列可以滚动的行和列组成的。若要浏览一个表,则执行下面的步骤:

1)选择菜单“文件/打开”命令,选定要查看的表名,则打开了选定的表。

2)选择菜单“显示/浏览”命令,则打开了浏览窗口。

VFP的浏览窗口功能非常强大,使用滚动条、箭头键和Tab键可以来回移动表,显示表中不同的字段和记录;拖动列头可以改变字段的显示顺序,但不影响字段在表结构中的顺序;拖动列头右边的分隔线可以改变字段的显示宽度,但不影响字段结构的长度;拖动窗口底部的分割条可以将窗口分为两部分以不同的方式显示(编辑方式或浏览方式);直接用鼠标单击删除标记区,能够给记录打上删除标记;通过菜单还可以对窗口进行更多的控制,当有表打开并在浏览窗口显示时,系统的“显示”菜单条自动增添了一些新的菜单项,并在菜单栏上出现一个“表”菜单条,对表和浏览窗口的有关操作都集中在这两个菜单条上。

2.添加新记录

若想在表中快速加入新记录,可以将“浏览”窗口设置为“追加”方式,方法是选择菜单“显示/追加方式”命令。在“追加”方式中,文件底部显示了一组空字段,可以在其中填入内容来建立新记录。每完成一条记录,在文件底端会出现一条新记录,此方式适于批量数据的录入。若只需添加一条记录,可以选择菜单“表/追加新记录”命令。

3.编辑字段

若要改变“字符型”字段、“数值型”字段、“逻辑型”字段、“日期型”字段、“日期时间型”字段中的信息,可以把光标移到字段中并编辑信息,或者选定整个字段并键入新的信息。

若要编辑“备注型”字段,可以在“浏览”窗口中双击该字段或按下Ctrl+PgDn键。这时会打开一个“编辑”窗口,可在其中修改、添加“备注型”字段的内容。

4.删除记录

在VFP中,删除表中的记录共有两个步骤。首先是在“浏览”窗口中单击每个要删除记录左边的删除标记区,标记要删除的记录。被标记过的记录并未从磁盘上消失,要想真正删除记录,应选择菜单“表/彻底删除”命令,这个过程将删除所有标记过的记录,并关闭“浏览”窗口。

三、工作区

在实际应用中, 经常需要同时打开多个表,这就要使用到工作区。VFP有32767个工作区,当VFP刚启动完后,工作区1被自动选中。“SELECT nWorkArea | cTableAlias”命令可用来选择工作区。若要使用表(浏览、编辑等),必须先打开表,并保证其所在的工作区被选中。为了加深对工作区的理解,可以选择菜单“窗口/数据工作期”或在命令窗口中输入“SET”命令,打开“数据工作期”对话框,如图3。

在“别名”列表框中将看到刚才打开的“学生情况”表,单击“打开”按钮,再打开一个表(如:位于安装VFP的目录中的SAMPLES\DATA子目录下的样例表Customer),请注意命令窗口中的相应命令“USE d:\vfp\samples\data\customer.dbf IN 0 EXCLUSIVE”,其中USE是打开表的命令字;d:\vfp\samples\data\customer.dbf是要打开的表名;IN 0表示在还没有表的下一个工作区内打开表。若无此选项,则在当前工作区内打开表,如果次工作区内已有表,将会被关闭;EXCLUSIVE(或SHARED)表示表的打开方式为独占(或共享)。此时,Customer表所在的工作区并没有被选中,用鼠标单击列表框中的“Customer”便可选中其所在工作区,相应的命令为“SELECT 2”。

四、索引

对于已经建好的表,可以利用索引对其中的数据进行排序,以便加快检索数据的速度。可以用索引快速显示、查询或者打印记录。还可以选择记录,控制重复字段值的输入并支持表间的关系操作。

VFP中 的索引和书中的目录类似。书中的目录是一份页码的列表,指向各章节所在的页号;表索引是一个记录号的列表,它指向待处理的记录,并确定了记录的处理顺序。

索引并不改变表中所存储记录的顺序,它只改变了VFP读取每条记录的顺序。可以为一个表建立多个索引,每一索引代表一种处理记录的顺序。索引保存在一个复合结构索引文件中,在使用表时,该文件被打开并更新。复合结构索引文件名与相关的表同名,并具有.CDX扩展名。

由于建立索引的方法很简单,你或许想为每个字段建立一个索引。但是,不常用的索引会降低程序的执行速度,所以应该只给那些经常使用的字段建立索引。在VFP中可以建立以下四种类型的索引:

主索引 可确保字段中输入值的唯一性,若在添加记录或修改索引字段时出现了索 引字段值,VFP将给出警告并不予接受。如果在建立该索引时,表中已经 有不唯一的记录存在,那将无法建立这样的索引。

候选索引 与主索引类似,也保证表中索引值的记录是唯一的。 因为一个表只能建立 一个主索引,所以当要建立多个不允许有索引重复值的索引时,可以作为 候选索引,同一个表允许建立多个候选索引。

普通索引 允许表中有重复索引值的记录。

唯一索引 允许表中索引值的记录不唯一,但只有第一个有相同索引关键字值的记录 有效。这是为兼容旧版本而保留的一种形式。

下面我们来建立几个索引。

打开“学生情况”表,并保证其所在工作区被选中,选择菜单“表/表设计器”,打开“表设计器”对话框。在“字段”选项卡中,将光标移至“xh”字段,用鼠标单击“索引”下的下拉列表框,选择“升序”或“降序”项,再将光标移至“rxrq”字段,重复以上操作。在“索引”选项卡中,可以看到我们已建立的两个索引,将“xh”的索引类型改为“主索引”。再建立一个稍微复杂一点儿的索引,将光标移至“索引名”下的空框内,输入“rxnl”(入学年龄),在“表达式”下的空框内输入“year(rxrq)-year(csrq)”,其中year()函数用于计算出生年份和入学年份。单击“排序”下的按钮,选择你喜欢的排序方式。按“确定”按钮退出“表设计器”对话框。

在本讲中,你已经了解了VFP最基本的数据部件——表,下一讲将介绍VFP更为强大的数据工具——数据库。请大胆地练习“表”菜单和“显示”菜单中的各菜单项,这将加深你对表的了解,别忘了“命令”窗口中的命令,尽快熟悉它们对以后的编程大有裨益。

心铃

猫猫的心里话

加菲猫的VFP|狐友会社群接收投稿啦

加菲猫的VFP,用VFP不局限VFP,用VFP混合一切。无论是VFP,还是JS,还是C,只要能混合起来,都可以发表。

商业模式,销售技巧、需求规划、产品设计的知识通通可以发表。

暂定千字50元红包,,优秀的文章红包更大,一经发表,红包到手。

如何帮助使用VFP的人?

用VFP的人,有专业的,有非专业了,很多人其实是小白,问出的问题是小白,如果问题不对,我们引导他们问正确的问题。无论如何请不要嘲笑他们说帮助都不看,这么简单的问题都不会,嘲笑别人不行,而无法提出建设性答案,是很low的。

我们无论工作需要,还是有自己的软件,都是是需要真正的知识,如何让更多人学习真正的VFP知识呢,只需要点赞,在看,能转发朋友圈就更好了。

加菲猫的vfp倡导用"VFP极简混合开发,少写代码、快速出活,用VFP,但不局限于VFP,各种语言混合开发"

我已经带领一百多名会员成功掌到VFP的黑科技,进入了移动互联网时代,接下来我们要进入物联网领域。

2025年狐友会社群会员继续招募中

社群会员获取的权益有:

祺佑三层开发框架商业版(猫框),终身免费升级,终身技术支持。

开放的录播课程有:

微信小程序,微信公众号开发,H5 APP开发,Extjs BS开发,VFP面向对象进阶,VFP中间层开发。

源码类资源有:

支付组件源码,短信源码,权限组件源码,一些完整系统的源码。这个可以单独出售的,需要的可以联系我。

会员也可以实现群内资源对接,可以接分包,合作等各项商业或技术业务

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/16 14:00:24

农业产量的R语言模型评估:3步快速诊断模型优劣并优化预测精度

第一章:农业产量的R语言模型评估在现代农业数据分析中,利用R语言构建和评估产量预测模型已成为提升决策效率的关键手段。通过整合气象、土壤、作物品种等多源数据,研究人员能够建立回归模型、随机森林或梯度提升机(GBM&#xff09…

作者头像 李华
网站建设 2026/4/16 12:49:01

Armbian桌面配置实战:从零构建高效单板电脑GUI系统

Armbian桌面配置实战:从零构建高效单板电脑GUI系统 【免费下载链接】build Armbian Linux Build Framework 项目地址: https://gitcode.com/GitHub_Trending/bu/build 还在为单板电脑寻找合适的桌面解决方案而烦恼吗?Armbian的模块化桌面构建框架…

作者头像 李华
网站建设 2026/4/16 14:38:06

人民大学提出的扩散语言模型,可能要改写历史...

作者 | 李崇轩 编辑 | 自动驾驶之心原文链接:https://www.zhihu.com/question/1908479621466396378/answer/1910672718174589774 点击下方卡片,关注“自动驾驶之心”公众号戳我-> 领取自动驾驶近30个方向学习路线>>自动驾驶前沿信息获取→自动驾…

作者头像 李华
网站建设 2026/4/11 8:34:07

时隔一年DiffusionDrive升级到v2,创下了新纪录!

点击下方卡片,关注“自动驾驶之心”公众号戳我-> 领取自动驾驶近30个方向学习路线>>自动驾驶前沿信息获取→自动驾驶之心知识星球论文作者 | Jialv Zou等编辑 | 自动驾驶之心时隔一年,DiffusionDrive终于升级到v2了。华科王兴刚教授团队近年来产…

作者头像 李华
网站建设 2026/4/15 14:13:07

16、企业从 Windows 迁移到 Linux 的全面指南

企业从 Windows 迁移到 Linux 的全面指南 1. 引言 在当今的 IT 领域,企业从 Windows 迁移到 Linux 是一个备受关注的话题。对于个人用户而言,从 Windows 桌面切换到其他操作系统或许相对简单,但企业级的迁移则是一个更为复杂的过程。本文将深入探讨企业在进行 Windows 到 L…

作者头像 李华