SQL基础第八章数据完整性

第八章 数据完整性

在关系数据库中,参照完整性是一项主要的数据合法性检验技术。

参照完整性是关系数据库中的主要数据验证类型。它确保了一个表中的数据与另一个表中的数据之间的关系的维持。只要参照完整性打开着,我们就可以确定这个表与另外的表存在着一定的关系。

参照完整性是两个列中数据之间的一种关系。这些列通常位于不同的表中。一个主列包含所有的有效值列表,另一个外键列包含符合主键有效值列表的数据。包含有效值列表的表被称为查找表。它还被 称为引用表或父表。另一个表有时被称为数据表或者子表。

允许对这两个列的数据进行更改,不过,外键只能包含主键列中的数值。这个规则不能修改。外键还可以包含NULL

这两个列中数据之间的关系有因果关系,必须按照因果关系来更改数据,在查找表中,新的值总可以被插入到主键中,但是,如果使用update,delete时,而这个值正被外键使用,则不允许更新和删除操作。

在数据表中总是可以删除一个数值或将它设为NULL。但是由insert,update引入的值必须经过合法性检验。

在建立参照完整关系之前,必须 在查找表中建立一个主键,。

任务 :建立参照完整性。验证clients表中的state_code

alter table clients

add constraint fk_state_code foreign key(state_code)

references states(state_code);

第一行后面跟数据表的名字。 第二行后面添加约束条件的名字。 第三行指出这是一个外键约束条件。它后面跟着列名。 第四行后面跟着查找 表。

第六节 如何从查找表中删除编码

为了从查找表的主键中删除一个有效值,我们首先必须保证该有并行值没有被数据表任何一行的外键列使用。 从查找表中删除一行。操作之前从数据表的每一行中删除引用它的,将其设为NULL即可。

update clients

set state_code=null

where state_code='ca'; delete from states

where state_code='ca';

第七节 在查找表中更改编码

首先在查找表中输入新的编码。然后将数据表中的所有数据从原编码更改成为新编码。第三步从查找表中删除原编码。

insert into states

values('22',ca,);

update clientes

set state_code=ca;

delete from states

where state_code=ca;

第八节 在Access中用GUI建立RI

第一步,确保查找表中有一个主键 第二步,点选工具,关系,显示表。 第三步,选择要建立关系的查找表和数据表。 第四步,选择主键。 第五步,按住鼠标向下拖动从主键列拖动到外键列。 第六步,按下创建按钮。

第十五节。 使用两个或更多的列作为主键

查找表和数据表可以是同一个表。 其它类型的约束条件。


返回首页

你可能感兴趣的:(数据库)