第11章 数据完整性及表间关系.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第11章 数据完整性与表间关系 11.1 实体完整性与主索引 11.2 字段级有效性 11.3 记录有效性 11.4 存储过程 11.5 触发器 11.6 参照完整性与表间关系 11.1 实体完整性与主索引 在Visual FoxPro中,把主索引的索引表达式当作主关键字,把候选索引的索引表达式当作候选关键字,以此来保证实体完整性。在一个表中,主关键字和候选关键字的值不能重复,从而保证了记录的唯一性。 11.2 字段级有效性 11.2 字段级有效性(续1) 11.2 字段级有效性(续2) 11.3 记录有效性 11.3 记录有效性(续) 记录有效性和字段有效性的两个主要区别: 1.两个规则约束的字段数不同。记录有效性规则可以同时约束多个字段;而字段有效性则只对一个字段有约束。 2.两个规则发生的时机不同。记录有效性规则在记录值改变时发生作用;而字段级有效性在光标移开被约束的、且更新了数据的字段时发生作用。 11.4 存储过程 11.4 存储过程(续) 11.5 触发器 11.5 触发器(续) 11.6 参照完整性与表间关系 11.6.1 表间关系 11.6.2 建立参照完整性 11.6.1 表间关系 11.6.1 表间关系(续) 11.6.2 建立参照完整性 11.6.2 建立参照完整性(续1) 11.6.2 建立参照完整性(续2) 11.6.2 建立参照完整性(续3) * 第11章 数据完整性与表间关系 * 第11章 数据完整性与表间关系 字段级的有效性约束条件是为保证输入到字段的值的合法性。例如,在图书表中,我们可以限制图书的“定价”必须大于0,“书名”不能为空等。 在Visual FoxPro中设置字段级有效性规则的方法是:在表设计器的“字段”选项卡的“字段有效性”框中输入规则表达式、信息提示和默认值。 在表设计器中,进入“字段”选项卡,选择需要设计字段有效性规则的字段。 然后在“字段有效性”区的“规则”框中输入规则表达式。例如:.NOT. Empty(书名)、定价0。 可以在“信息”框中输入错误提示信息。例如,“书名不能为空!”或“定价不能为零或负数”。 用于数据库描述的、用户自定义的函数和过程称为存储过程,存储过程是数据库的一个组成部分。可用下列方法之一来建立、打开、和编辑存储过程: 在“项目管理器”中,选择并展开一个数据库,选定“存储过程”,然后单击【新建】或【修改】按钮。 进入“数据库设计器”,依次单击菜单栏上的【数据库】→【编辑存储过程】命令。 在“命令”窗口中,使用MODIFY PROCEDURE命令。 例子:编写一个存储过程来实现记录级有效性检查工作。 实现方法: 在存储过程中,编写CheckBookRecord()函数来判断记录的有效性,并把具体的错误信息放在BookTableErrorStr全局变量中;编写GetErrorStr()函数返回BookTableErrorStr的值。 触发器是在一个在插入、更新或删除操作之后自动运行的记录级事件代码。这三种触发器分别称为“插入触发器”、“更新触发器”和“删除触发器”。 这种记录级事件代码编制成函数或过程,存入数据库中,成为存储过程。例如,我们可以为销售表编写一个这样的“插入触发器”,起名为“SaleInsertTrigger()”。 可以在表设计器的“表”选项卡中,填写触发器函数的名称 插入触发器:当记录新增后,记录指针离开插入的这条记录时 更新触发器:当修改过字段数据后,记录指针移动时 删除触发器:当执行删除命令删除记录时。 三种触发器的激活时机如下: 有效性规则和触发器的激活顺序: (1)字段级有效性规则 (2)记录级有效性规则 (3)触发器 通过表间关系可以反映和维护两个实体型之间的语义关系。 建立这种表间关系的方法是:分别在两个表的相同字段上建立主索引(或候选索引)和普通索引,然后在数据库设计器中将这两个索引连接起来。 两表之间往往是通过一组相同的字段建立表间关系。对这组字段有如下要求: 这组字段在一个表中是关键字,即依据这组字段建立了主索引或候选索引。 另一个表也依据这组字段建立了索引,索引类型可以是主索引、候选索引或普通索引。 1、更新规则 级联:当父表中的关键字值改变时,用新的关键字值更新子表中的所有相关记录。 限制:对于父表中的一条记录,若子表中有相关记录,则禁止更改父表中这条记录的主关键字段或候选关键字段中的值,这样在子表中就不会出现孤立的记录。 2.删除规则 级联:在父表

文档评论(0)

136****4793 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档