如何实施参照完整性

 我来答
白露饮尘霜17
2022-10-06 · TA获得超过1.2万个赞
知道大有可为答主
回答量:6750
采纳率:100%
帮助的人:36.9万
展开全部
问题一:什么是"实施参照完整性" 实施参照完整性 一般是 创建外键 表关联的时候使用.

我以一个 例子来说明。

例如 有2个表。 一个班级表, 一个学生表
班级表 ( 班级编号, 班级名称, 班级其他字段... )
学生表 (学号, 所属班级编号, 学生名, 学生其他字段 ...)

当在 班级表 与 学生表 之间, 创建一个 关联的时候, 也就是 学生表的 “所属班级编号” 与 班级表 的 户班级编号” 建立关联的时候。

实施参照完整性 意味着, 当你向 学生表插入数据的时候, 如果输入了一个 班级表里面, 还没有的 班级编号, 那么 数据库将报错, 不允许你这么做。

也就是如果 班级表有 1,2,3 共三个班级。 而你插入了一个 学生 张三, 所在班级是 5班的。
那么数据库直接报错了。

这就是 实施参照完整性 的效果。

目的是为了避免,数据库中, 产生垃圾数据。
也就是如果软件开发人员, 在写程序的时候,不小心,忘记检查某些数据合法性的情况下, 数据库最底层,还能做最后一次检查。

问题二:ACCESS表之间一对多关系;并实施参照完整性需要怎么操作 打开工具\关系,把相关表拖上去,进行处理。

问题三:怎么在表和表之间建立实施参照完整性 什么是SQL呢 SQL就是专门用来做数据库的一门语言 和C语言差不多 (当然功能不紧紧是做数据了 编程啊 都可以..... 这里就不多说了)z这道题用ACCESS 就可以完成了
1 首先 用Access 2000(数据库 )做一个数据库 打开设计器创建表 在点菜单 另存为 名为班级名+自己名字英文简写 最后点保存啦 (每完成系统都是有提示的啦) 第一问 解决
2 打开设计器 上面做的表下面下
创建数据表 名字都是在最后完成时做的 先不用管 然后在输入sID,sName,sSex,sAge,sClass 注意根据后面的要求填写字段 及数据类型 以及
在做其他的问题了将T_Student表的sID字段设置为标识列,种子为1,增量为2。
为T_Student表的sSex(性别)字段设置其默认值为“男”。
为T_Student表的sAge(年龄)字段设置检查约束,规定年龄在0到30岁之间。
为T_KC表的cName(课程名称)字段设置唯一性约束。,规定课程名称不得重复。
生成一个规则t_rule,限制数据的取值范围在(0---100)之间,然后将这个规则绑定到T_CJ表的cj(成绩)字段。
为T_KC表的cName字段创建索引。
最后
当然主键当然是SID了 一定要标好哦~~・先不管作业其他要求
在依次做其他2个表;
T_KC(cID,cName,sBianhao,sXuefen)
T_CJ(sID,cID,cj) 注意主键是SID
3. 做好了三个表后退出设计器
在打开以一个个表 在按要求输入(在每个表中添加3-5条记录。)
好了 基本就完成了
当然用SQL 也能完成 这些问题 并且要快 但涉及到TQL语言 编程问题 很难说清楚 就不一一解释了・・・

问题四:access 中实施参照完整性 求解决!! 当我们把2张表建立联系的时候,这2个表肯定是有关系的。它可以是一对一的关系;如果是多对多的关系,这是不允许出现的(说明表及其关系设置有问题);大多数都是一对多的关系,当建立了一对多关系时数据库引擎就自然建立完整性原则,它能保证2个表之间的关系及数据得到正确的维护,从最基本的意义上说,防止“多端”出现不完整的记录。
参照完整性规则要求:1、不允许在“多端”的字段中输入1个“一端”主键不存在的值;2、如果某一记录有相关的记录存在于关系表中,那么数据库引擎不允许从“一端”删除这个记录(除非选择了级联删除相关字段,这样会同时删除“一端”和“多端”的记录,从而保证数据的完整性),因为如果允许又回出现第一种情况。3、如果某一记录有相关的记录存在于关系表中,那么数据库引擎不允许改变“一端”主键的值(除非选择了级联更新相关字段,这样会同时更新“一端”和“多端”的主键值,从而保证数据的完整性),因为如果允许又回出现第一种情况。
现在,回到你的问题。
1、如果你的2个表在没有数据时,建立上面的关系,肯定可以,并且可以“实施参照完整性”饥以后你在“借书证”表中输入“书号”时,数据库会限定这个“书号”只能是“书”表中存在的书号,这是为了保证数据的完整性。
2、我可以肯定你的2个表是先有数据,后再想建立关系并想实施参照完整性的,而且“借书证”表中至少有1个以上的“书号”在“书”表中没有相应的记录,此时如果你强行建立参照完整性,这就违反了参照完整性的要求(不允许在“多端”的字段中输入1个“一端”主键不存在的值),换句话说,你的多端(既借书证表)存在了一端(既书表)中没有的记录,数据库不允许出现这种情况,所以出现提示框的内容。
3、改进方法有3种,建议前2种。①、删除“借书证”表中在“书”表中没有相关“书号”的记录,后再建立关系及参照完整性;②、在“书”表中添加相关的书号,以保证“借书证”表中所有书号在“书”中都存在,然后再建立关系及参照完整性;③、像提示框所说的“清除参照完整性复选框”,这可以建立关系,但不能实施参照完整性,不建议这样做,因为不实施参照完整性会导致数据不完整,以后会有大麻烦的。
4、“借书证”表和“读者”表 的关系也应该如上处理。

问题五:access中无法实施参照完整性 怎么办 5分 参照完整性是一个规则系统,Microsoft Access 使用这个系统用来确保相关表中记录之间关系的有效性,并且不会意外地删除或更改相关数据。
使用参照完整性时要遵循下列规则:
不能在相关表的外键字段中输入不存在于主表的主键中的值。
如果在相关表中存在匹配的记录,则不能从主表中删除这个记录。例如,如果在“订单”表中有订单分配给某一雇员,就不能在“雇员”表中删除此雇员的记录。
如果某个记录有相关的记录,则不能在主表中更改主键值。例如,如果在“订单”表中有订单分配给某个雇员时,不能在“雇员”表中更改这位雇员的雇员ID。
你目前的情况看来是成绩表的学号出问题了,你看看这个是不是主表的主键里面没有。

问题六:Access2010,怎么实施参照完整性,最好配图说明按键在哪 数据库工具--->关系---->在“显示表”对话框选择表,鼠标从一个表的关联字段拖动到另一个关联字段,弹出“编辑关系”对话框,选中“实施参照完整性”

问题七:access为什么不能实施参照完整性 提示的很清楚嘛,因为你的表里现有的数据不符合你的参照关系。
先将表里不完整的数据补充完整,再参照,
或者空表参照,然后在写入数据,此时如果数据不完整会有提示,保存不了的。
祝你成功!

问题八:Access编辑关系中,无法实施参照完整性,这是怎么回事呢? 数据不一致。两张表的数据值得一致,子表数据得选自于主表

问题九:access表间关系中的参照完整性什么意思 在符合下列所有条件时,可以设置参照完整性:来自于主表的匹配字段是主键或具有唯一索引。相关的字段都有相同的数据类型。但是有两种例外情况:“自动编号”字段可以与“字段大小”属性设置为“长整型”的“数字”字段相关;“字段大小”属性设置为“同步复制 ID”的“自动编号”字段可以与一个“字段大小”属性设置为“同步复制 ID”的“数字”字段相关。两个表都属于同一个 Microsoft Access 数据库。如果表是链接的表,它们必须是 Microsoft Access 格式的表,并且必须打开存储此表的数据库以设置参照完整性。不能对数据库中的其他格式的链接表实施参照完整性。使用参照完整性时要遵循下列规则:不能在相关表的外键字段中输入不存在于主表的主键中的值。但是,可以在外键中输入一个 Null 值来指定这些记录之间并没有关系。例如,不能为不存在的客户指定订单,但通过在“客户ID”字段中输入一个 Null 值,则可以有一个不指派给任何客户的订单。如果在相关表中存在匹配的记录,则不能从主表中删除这个记录。例如,如果在“订单”表中有订单分配给某一雇员,就不能在“雇员”表中删除此雇员的记录。如果某个记录有相关的记录,则不能在主表中更改主键值。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
深美林评估
2024-12-24 广告
土地使用权评估原则是最有效使用原则。对于土地,用途的多样性,决定了人们对它的利用情况,或者从使用情况来说,一定要获得更多的收益。这个满足目的为前提,土地的价格应与地块的效用发挥具有直接的关系。应用这个原则时,应注意:应根据城镇规划中的最适宜... 点击进入详情页
本回答由深美林评估提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式