浅谈基于VFP的数据完整性教学

2017-04-20 21:51杨明学
商情 2017年8期
关键词:教学

杨明学

【摘要】为保证数据库中数据的精确性和可靠性,数据完整性的设计在数据库的设计过程中是非常重要的。在VFP的教学过程中,从利用数据库系统自身提供的完整性约束功能实现数据的完整性约束;利用触发器实现数据的完整性约束;利用编程界面实现数据的完整性约束三个方面,分层次讲述VFP的数据库完整性的实现方法。

【关键词】数据完整性 VFP 教学

一、前言

数据完整性是指数据的精确性和可靠性,设计VFP数据库的数据完整性,可以防止数据库中存在不符合语义规定的数据,防止因错误信息的输入输出造成数据的错误或数据的不一致。在VFP的教学过程中,数据完整性是数据库部分的教学难点,学生对实现数据完整性的设计方法不易系统掌握,为此,在教学中我从以下三个方面,由浅入深、由易到难讲述VFP数据库完整性的设计。

二、实现数据完整性的方法

1、利用数据库系统自身提供的完整性约束功能实现数据的完整性约束

VFP是一个面向对象的关系型数据库管理系统。在VFP数据库中,数据完整性一般包括实体完整性、域完整性和参照完整性。

实体完整性是保证表中记录唯一的特性,在VFP数据库中,可以通过建立主索引或候选索引来实现实体完整性的约束。

域完整性是指表中每个字段取值必须符合规定的逻辑,一般包括字段的缺省值、字段的有效性校验以及是否为空等内容,利用VFP数据词典中的字段的有效性,可以设置字段的有效性规则、默认值和信息。在VFP数据库表设计器的字段选项卡的规则中输入对字段数据有效性进行检查的规则,有效性规则实际上是一个条件,对于该字段输入的数据,VFP会自动检查它是否符合条件,若不符合必须进行修改,直至与规则中输入的条件相符合。当该字段输入的数据违反规则条件时,出错信息将显示。记录的有效性规则用来检查同一记录中不同字段之间的逻辑关系,在VFP数据库的数据词典中提供了设置记录有效性规则的功能,在VFP数据库表设计器的选项卡中提供了记录有效性包括规则和信息的设置,规则中用于设置记录有效性的检查条件,通常是包含两个或多个字段之间应当遵守的数据规则的逻辑表达式;对于数据库中具有永久关系的相关表,在更新、插入或删除记录时,若只改其中一个表的数据,而不更改相关表的相应数据,则必然会影响数据的一致性,在VFP数据库中设置了参照完整型用于限制相关数据表的数据一致性。VFP在参照完整性中设置了更新规则、插入规则、删除规则,在对数据库中具有永久关系的表进行更新、插入、删除记录时,必须遵照在参照完整性中预先设定的级联、限制、忽略的完整性规则。

2、利用触发器实现数据的完整性约束

利用触发器可以完成比较复杂的完整性控制。触发器是一种存储过程,但和一般的存储过程不同,一般的存储过程可以由用户通过存储过程的名字直接调用,而触发器主要是通过事件触发而被执行。VFP中设置了插入、更新、删除三种触发器,当对表文件进行插入记录、更新記录、删除记录操作时,VFP就会自动执行触发器所定义的SQL命令。

触发器触发应具备三个条件:事件、条件和动作,当数据库进行插入、删除、修改操作时,事件发生,触发器将开始工作。VFP中可以通过数据库的表设计器或命令两种方法创建触发器。数据库表设计器中的“表”选项卡中触发器部分,可以分别在插入触发器、更新触发器和删除触发器框中输入触发条件的逻辑表达式或用户自定义的函数;用CREAT TRIGGER命令可以创建触发器,可以将用该命令创建的触发器存储在数据库中的编辑存储过程中。创建触发器的命令有三种:CREAT TRIGGER ON <表名> FOR INSERT AS <触发条件>,该命令用来创建插入触发器;CREAT TRIGGER ON <表名> FOR UPDATE AS <触发条件>,该命令用来创建更新触发器;CREAT TRIGGER ON <表名> FOR DELETE AS <触发条件>,该命令用来创建删除触发器。

在使用触发器时应注意以下问题:不能对有插入触发器的表使用INSERT命令,但可以使用INSERT-SQL命令;删除命令PACK、ZAP不激发删除触发器;更新具有删除标记的记录不触发更新触发器;触发器是否立即激发还和表的当前缓冲模式有关。

3、利用编程界面实现数据的完整性约束

VFP数据库管理系统提供了较完整的数据完整性约束手段,但利用编程保证数据的完整性,将极大地改善系统的可操作性。借助应用系统编程的方法,在用户输入数据时可以直接检查输入数据是否符合规定。VFP的表单设计器为数据的输入提供了可满足各种需要的控件,利用表单设计器可以设计出满足用户需要的有好的操作界面。在进行界面设计时,可根据不同的数据输入要求,选择合适的控件,如选项按钮组、组合框、列表框、复选框微调框等。要充分利用不同类型的控件来输入数据可以明显提高数据的录入速度,降低数据输入的出错率,也可以在相应输入数据的控件的LostFocus中输入检验数据是否符合规定的程序代码。

三、结束语

在利用VFP数据库管理系统进行应用程序开发时,数据库设计是一个重要的环节,而数据的完整性设计尤为重要,数据完整性控制实现的好坏直接影响到数据库的性能。数据字典是最直接、最方便的数据完整性控制方法,可以在很大程度上减少应用程序开负担;触发器的编程比较麻烦,在具体使用时,可使用系统内部提供的触发器自动生成程序完成。在教学过程中,从使用数据库数据词典设计数据库完整性约束功能,到利用触发器编程设计数据的完整性,再到利用前段开发工具编程实现数据库的完整性设计,使学生对数据库完整性的实现方法有了整体和系统的概念。

参考文献:

[1]孟先平,王剑云.Visual Foxpro程序设计教程[M],上海:

上海交通大学出版社,2006

[2]史济民,汤观全Visual Foxpro及其应用系统开发,北京:

清华大学出版社,2006

[3]田岚,试论VFP应用开发中数据完整性的实现,中国农业

银行武汉培训学院学报 2004年第6期总第108期

[4]梁玉磊,孔峰 基于VFP的管理信息系统数据完整性控制

方法探讨,技术在线,10.3969/j.jssn.

1671-489x.2009.30.092

猜你喜欢
教学
“对比”:让学习走向深刻——以《用数对确定位置》教学为例
《I’m Cooking in the Kitchen?》教学设计(Part B)
计算教学中“算用结合”的有效策略
高中英语诗歌创作教学探索与实践
《组合》教学设计
“自我诊断表”在高中数学教学中的应用
类比在高中数学教学中的探索
在遗憾的教学中前行
计算教学要做到“五个重视”
教育教学