虚拟主机行业最新资讯 虚拟主机评测对比 互联网最新动态 技术学院 站长资讯 在线教程 网站运营
搜索优化 服务器 网络编程 图形图象 站长之家 网页制作 操作系统
冲浪宝典 软件教学 视频通信 办公软件 邮件系统 网络安全 认证考试
您当前位置:站长资讯>-> 站长之家-> 网站推广
加强客户端约束增强数据库完整性_visualbasic教程
作者:网友供稿 点击:0
  西部数码-全国虚拟主机10强!20余项虚拟主机管理功能,全国领先!第6代双线路虚拟主机,南北访问畅通无阻!虚拟主机可在线rar解压,自动数据恢复设置虚拟目录等.虚拟主机免费赠送访问统计,企业邮局.Cn域名注册10元/年,空间150元起,免费试用7天,满意再付款!P4主机租用799元/月.月付免压金!
文章页数:[1] 
数据库的完整性是影响客户/服务器应用系统正常运行的重要因素。维护数据库的完整性不仅是数据库设计人员的任务,也需要客户端开发人员的积极参与。不在客户端进行完整性约束,一般会引起ODBC错误,导致数据库操作失败,程序异常中断。更为严重的是在某些情况下会突破服务器的约束机制,破坏后台数据库的完整性。因此,只有双方相互配合才能开发出完整、可靠的客户/服务器系统。下面以MSSQLServer6.5和VB5.0为例,对客户端应用开发中的数据库完整性问题进行讨论。其原理同样适用于其他开发环境。

数据库完整性分类

实体完整性(EntityIntegrity),指表和它模仿的实体一致。
域完整性(DomainIntegrity),某一数据项的值是合理的。
参照(引用)完整性(ReferenceIntegrity),在一个数据库的多个表中保持一致性。
用户定义完整性(User-definedIntergrity)。
分布式数据完整性(DistributeddataIntegrity)。

  其中分布式数据完整性不在本文的讨论范围。

数据库完整性的解决方法

  在MSSQLServer6.5中,用约束的方法来保证上述完整性。

  ●列约束

  NOTNULL为指定该列不能为空值;
  DEFAULT为指定当没有输入值时该列的默认值;
  UNIQUE为指定该列不能有重复值,但可对定义为关键字以外的任何列使用;
  CHECK为对列指定规则,如值的定义域,可限制输入到受约束列中的值。

  ●表约束

  PRIMARYKEY为对表指定主关键字。用来保证列的完整性和引用完整性。它的主要作用:
  1.通过确保一个或多个列不允许输入重复值来保证表的所有行是唯一的。
  2.保证受约束的列不允许为空值。从这个角度来讲,相当于NOTNULL和UNIQUE。
  FOREIGNKEY为指定外来关键字。与定义在相关表上的PRIMARYKEY一起使用。

  ●断言Assertion(多个表上的约束)

  MSSQLServer6.5还提供了数据完整性扩展,如用户自定义类型、规则、存储过程和触发器。SQLServer6.5对不同完整性的约束方法见下表。

客户端数据库操作程序开发准则

  1.插入操作

  检查非空字段,保证有输入。如VB中一般用Text控件获得用户输入,则:

  If Len(el_l.Text)=0 Then

  MessageBox"该字段不能为空!"

  EndIf

  检查受UNIQUE约束的字段不能有重复值输入。如对顺序编号等字段采用自动增量的方式,或者在接受输入前检查数据库。对布尔型字段,使用Check控件供用户输入,以限制非法数据。对有限的枚举列字段,使用ListBox或ComboBox控件,列出全部有效值供用户挑选。对外来关键字字段,使用ListBox或ComboBox控件,动态列出全部有效值供用户挑选。如在一个设备管理数据库中,企业信息表FacMsg中的"企业名称"字段是设备Devices中"企业名称"字段的外来关键字。当成功地添加了一个新企业记录后,要将新企业的名称添加到FrmDevices的FacName列表控件中。

  FacName.AddItem"企业名称"

  同样,当成功地删除了一个企业记录后,要将该企业的名称从FrmDevices的FacName列表控件中删除。

  2.删除操作

  删除记录前检查是否有字段值被相关表的记录所引用。

  3.修改操作

  检查修改字段值是否被相关表的记录所引用;
  检查修改字段值是否被相关表的记录所引用;
  检查修改后的字段值是否违反相关的约束规则。

  4.扩展操作

  充分考虑扩展的约束,如自定义类型、规则、存储过程和触发器,以免造成冲突。

  实践表明,采用以上方法可以有效避免用户(尤其是对系统不熟悉的用户)的非法输入,同时弥补《计算机世界》1998年第36期"用VB5RDO访问数据库出现的缺陷及改正"一文所指出的数据库缺陷。->


文章整理:西部数码--专业提供域名注册虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!
文章页数:[1] 
相关主题
Google

热门文章
·避免visualbasic程序重复执行_visualbasic教程
·在vb中删除带子文件夹的文件夹_visualbasic教程
·加强客户端约束增强数据库完整性_visualbasic教程
·为你的vb程序程序加密(vb新手)_visualbasic教程
·visualbasic工程管理一_visualbasic教程
·visualbasic中制作流水灯_visualbasic教程
·用vb为软件增加注册功能_visualbasic教程
·巧用clipboard建立图像数据库_visualbasic教程
·用vb进行移位操作_visualbasic教程
·vb使用编程技巧三则_visualbasic教程

最新文章
·photoshop实例:调出漂亮mm的唯美效果_photoshop教程
·photoshop滤镜打造三维水晶放射光线_photoshop教程
·photoshop打造炽热太阳特效_photoshop教程
·让windows xp关机时自动清理页面文件_windows xp
·极品清纯美女:用photoshop让她的眼睛睁开_photoshop教程
·外部参照管理器_autocad教程
·publishtoweb的概念与使用_autocad教程
·自定义菜单文件_autocad教程
·用photoshop把梦露从黑白变彩色_photoshop教程
·奇形怪状的窗体_visualbasic教程

相关主题



友情链接
CNNIC 西部数码
万网 自助建站
虚拟主机 asp空间
域名注册 域名
域名申请 主页空间
论坛空间 网站空间
国际域名 虚拟空间
空间租用 DDOS防火墙
成都主机托管 四川主机托管
主机租用 服务器租用
网站目录 一班在线
虚拟主机 网址大全
软件下载
自助链接
虚拟主机资讯 特价虚拟主机


版权申明:本站文章均来自网络,如有侵权,请联系我们,我们收到后立即删除,谢谢!

特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有。
  打印  刷新  关闭
 


联系我们  |  广告服务  |  免责声明  |  友情连接
Copyright ?2005 - 2006 All Rights Reserved
蜀ICP备05000045号