当我们把2张表建立联系的时候,这2个表肯定是有关系的。它可以是一对一的关系;如果是多对多的关系,这是不允许出现的(说明表及其关系设置有问题);大多数都是一对多的关系,当建立了一对多关系时数据库引擎就自然建立完整性原则,它能保证2个表之间的关系及数据得到正确的维护,从最基本的意义上说,防止“多端”出现不完整的记录。
参照完整性规则要求:1、不允许在“多端”的字段中输入1个“一端”主键不存在的值;2、如果某一记录有相关的记录存在于关系表中,那么数据库引擎不允许从“一端”删除这个记录(除非选择了级联删除相关字段,这样会同时删除“一端”和“多端”的记录,从而保证数据的完整性),因为如果允许又回出现第一种情况。3、如果某一记录有相关的记录存在于关系表中,那么数据库引擎不允许改变“一端”主键的值(除非选择了级联更新相关字段,这样会同时更新“一端”和“多端”的主键值,从而保证数据的完整性),因为如果允许又回出现第一种情况。
如果你选择了“实施参照完整性”,程序会检测你输入的数据是否符合上面所说的“参照完整性规则要求”,如果违反上述规则,会给出提示并且不接受你输入的数据;如果同时选择了“级联删除相关字段”,从“一端”删除记录时,“多端”的相关记录同时被删除;如果选择了“级联更新相关字段”,则允许更改“一端”连接字段,但同时“多端”的相关字段也同时被更改。
为保证数据的完整性,您应尽可能实施参照完整性。