菜鸟学习VF6(四)

个人日记

第四天:数据库应用操作(一)

从今天开始,我们的学习进入数据库应用操作阶段,这一部分的学习难度较小,相比于程序那一部分来说,这部分的逻辑性要小得多,但是却比较复杂,所以仍然不容小觑。说道一个数据库系统包含有原始的数据库,数据库管理程序,数据库访问程序,总之一个完整的数据库应用系统既要包含数据,又要有程序方便访问,更新以及维护。今天我们首先建立原始的数据。

VF6中,原始的数据均以二维表的形式存在,表与表之间通过建立连接关系从而形成一个庞大的数据库,这种关系通常是多对多关系或一对多关系,例如学生的信息包含学号,专业,年龄等又包含考试成绩,课程等,所以在建立表的同时,必须建立主关键字段和外部连接字段,将表与表之间建立某种关系,即映射,在计算机二级考试中,不会让我们去建立一个表,往往会拿一个表过来让我们去修改等等,实际上在数据库建立的环节,通过数据如何适当的建立表以及之间的关系是一个很难的环节,故在这里,我们关于设计数据库的步骤并不需要掌握,下面我将给出每个表的字段值以及记录,然后通过这些记录我们将这些表建立起来。

从今天开始,我们将开始通过实际建立完整的数据库系统来掌握VF6中数据的各个方面的操作,为了简单起见,,我举的例子是梦圆小区用电管理系统。我用的文件夹仍然是EVFP文件夹。

在建立一个数据库之前,我们首先得先策划好,我们需要哪些表,哪些字段,如何联系等,下面我将不作说明直接给出这个数据库系统所需要的所有的表:

用户表(yh

包含的字段名:户号(字符型,宽度6),户名:(字符型,宽度10),地址:(字符型:宽度,6

用电指数表(ydzs)

包含的字段名:户号:同上,上月指数:数据型,小数位数1,本月指数:同上,本月费用:数值型,小数位数2

用户帐户表:(yhzh)

包含的字段名:户号:同上,余额:数值型,小数位数2

 

下面我们通过VF6来首先建立这些表,我们首先建立自由表,然后添加数据库,设置其他的细节。

建立表的操作是,点击新建——表——新建文件,当然也可以用SQL语言,create table,在这里我们讲的是操作,我将用最简单的方法阐述,所以在以后不涉及SQL语言或者是VFP语言的情况下,我将不再赘述这些语言,在下一节,我将专门讲SQL语言,至于VFP语言嘛,本人觉得不太重要,我将不作介绍了,如果读者感兴趣,可以查找相关资料。,好了我们来建立表吧。

点击新建文件后,先指定保存位置,然后输入字段,在字段处输入字段名,然后点击选取数据类型,指定相应的数据长度(备注,通用型没有这项),当全部设定好之后会提示是否现在输入记录,选择否,如果想要更改表的结构的话,只需用先打开这个表,然后点击菜单栏上的显示,在下拉菜单上点击“表设计器”即可。将三个表结构全部弄好后,我们就可以输入记录了,记录的数目原则上弄多一点比较好。我在这里给出20条记录。如表所示:

我们在给设定的表输入记录的时候,必须首先打开表,具体为文件——打开,找到文件的位置打开,并且在打开的对话框的下面勾选“独占”选项。当打开表之后,在VF的主窗口的左下方可以看到显示,要输入记录,我们需要首先在菜单栏上点击显示—在下拉菜单上点击浏览,于是在窗口上便出现了一张空着的表,这时再点显示,在下拉菜单中点击追加方式,这样即可在表中追加记录或者是更改记录,要在哪一列输入记录只需用在哪个空格上点击即可。

 

在有的时候,我们可能会遇到一些差错,导致无法输入记录的情况,比如明明是以独占的方式打开的表,却无法添加记录,这种情况我遇到过不少,但是我也不知道是什么原因,我的解决办法是直接关掉VF,然后重新再重新打开即可,那原因我想我们这些菜鸟们无需了解,只要我们能解决实际的问题即可,步骤我相信并不重要。

   好了,如果不出意外的话,我们已经将上面的三张表的记录填写完毕了,现在对于表的结构已经表的记录的操作已经有了一定的基础了吧(可以多练习几次),如果弄好了之后,下面我们就可以建立数据库了,然后将上面的三张表添加进数据库中。

   首先点击文件—新建—数据库—新建文件—先保存文件位置,和文件名,文件名那里填写ydgl,位置仍然是EVFP文件夹。填好了之后便进入了数据库设计器。

   这时在数据库设计器上右击鼠标,选添加表,或者直接点击那个带黄色加号的按钮,如图所示。

然后将刚刚新建的那三个表添加进数据库即可,添加后的数据库设计器如图所示。

在这里,我用的数据库的名字是ydgl,这里对文件名字说一下,在VF中,最好将名字全部用字母命名,这样在编写程序调用的时候,可以很方便的调用,而不需要频繁的进行中西文切换。

下面我们将表添加到数据库后,上面的表就是数据库表了,如果某个不需要的表被添加到数据库了,想移除的话,只需要在想要移除的表上右击,点击删除,这时会弹出确认的对话框,内容的意思,地球人都能看懂。然后我们来对表进行各种操作。首先我们需要对表的记录进行设置字段有效性规则,有效性规则就是表中的记录必须符合上面的规则,有个更加官方的语言“域完整性”,去死吧,这么难背,不过意思还是很容易理解的,然后我们来对上面的用户表的地址设置字段有效性规则,假设梦圆小区只有三栋楼,这就要求我们地址必须是A栋,B栋或C栋。还记得函数吗,在这里我们同样是通过函数来实现的,是通过截取函数来截地址的字段,因为可能情况有三种,所以我们需要用逻辑表达式.OR. 具体的参考语句是: left(地址,1)=”A” or left(地址,1)=”B” or left(地址,1)=”C”     这个应该比较容易理解,or在英语中不就是或者的意思吗?然后只要记得在字符型常量上加上一对引号,不然系统会误认为成变量,而提示找不到某个变量,下面还可以填写错误信息,即当设置了字段有效性规则后,输入了不合要求的值后,系统出现的提示信息,这里我们需要注意一般的提示信息均为字符型常量,所以我们都需要在信息两边加上引号作为定界符,因此这里的提示信息是:

必须是A栋,B栋或C

下面我们即可将信息添加到表中,具体操作为,在用户表上右击,然后点击修改,在表设计器上先点击地址字段,然后在右下角的字段有效性那儿填上上面给出的相关信息即可,这里还有一个默认值,由于在此种情况下,无法填上默认值,所以就空着,如果在遇到需要填写默认值的情况下,默认值必须要根据是什么常量加上相关的定界符。

填写好的界面如图所示:

这样做好了之后,我们还需要将上面的三个表建立联系,由于只有相同的字段才能产生联系,故这里面也就户号可以建立联系(当然建立表的联系是有目的的,就是设置参照完整型,后面介绍)这里用户表设为父表,其他的两个表作为子表,这就要求我们首先为表建立索引,先在用户表上右击,点修改,打开表设计器后点击索引选项卡,为了简单起见将索引名和表达式均填上户号,下同。然后索引类型选为主索引,,之后点确定,在其他的两个表上执行同样的操作,索引类型选为候选索引,确定后即可,索引设定好了之后,在数据库选项卡上,可以看见每个表的索引了,我们就可以为这三个表建立关系了,最简单的方式是在用户表上拖动主索引户号,到其他两个表的普通索引户号上,然后就可以看到建立的联系的箭头了,表示建立联系成功。建立好的数据库如图所示:

建立好了关系之后,我们就需要建立参照完整性规则了,这是官方语言,通俗点讲就是表的更新是否需要受到其他表的制约,在这里,如果我们想要给用户帐户表或者用电管理添加一个记录,那我们必须首先要检查用户表中是否存在该用户(插入限制),如果我们想要删除用户表中的某一个记录,那么其所对应的子表的用户的信息也无需再保存了(删除级联)。如果想要更改某帐户的户号,那么其所对应的字表的户号也要更改。(更新级联),好了现在我们可以编辑参照完整性了,编辑参照完整性之前需要首先清理数据库,删除带删除标记的记录以及其他我还不知道的功能,在菜单栏上的数据库菜单,在其下拉菜单上有一个清理数据库选项,点击稍等即可,或者可以直接按ctrl+c,之后就可以编辑参照完整性了,首先在表示表与表之间联系的那个箭头上右击然后点击编辑参照完整性,打开参照完整性生成器,首先在更新规则选项卡上选择级联,然后在删除规则选项卡上选择级联,最后在插入规则选项卡上选择限制。

最后点击确定即可完成所需工作。好了,现在我们的数据库中的数据差不多已经准备完毕了,现在也不早了,今天我通过举例的方式介绍了,新建表结构,添加表的记录,然后设置字段有效性规则,编辑参照完整性规则,建立索引已经之间的关系等简单的操作方法,没有涉及到的地方,在上机考试中很少会出现,所以今天我用的文字虽然不多,但是这些全部联系熟练之后,这部分的内容将可掌握,然后书本上的知识也要认真阅读以便能够很好的做理论测试题,特别是这么多的操作涉及到的VFP语言,(SQL语言将在后面介绍)

时间过的真快啊,不知不觉又到午夜了,我去困觉了,明天咱们介绍语言SQL语言,今天到此结束,谢谢观看。

 

­

­

文章评论