GBase 8s数据库的引用完整性:
引用完整性指的是表之间的关系。由于数据库中每一表都必须具有主键,因此此主键可出现在其他的表中,这是因为它与那些表内数据的关系。当来自一个表的主键出现在另一表 中时,将它称之为外键。 外键连接表并在表之间创建依赖。若干表可形成依赖的层级结构,这样,如果您更改或删 除一个表中的行,则您破坏在其他表中行的含义。
例如,下图展示 customer 表 的 customer_num 列是那个表的主键,以及 orders 和 cust_call 表中的外键。 在 orders 和 cust_calls 表中都引用客户编号 106,George Watson™。如果从 customer 表删除 客户 106,则破坏三个表以及此特定的客户之间的链接。
当您删除包含主键的行,或以不同的主键更新它时,您破坏了包含那个值作为外键的任何 行的含义。引用完整性是外键对主键的逻辑依赖。包含外键的行的完整性依赖于它引用的 那行的完整性—包含相匹配的主键的行。 在缺省情况下,数据库服务器不允许您违反引用完整性,且如果在您从子表删除行之前, 您尝试从父表删除行,则向您提示错误消息。然而,您可使用 ON DELETE CASCADE 选 项来在从父表删除的同时对相应的子表进行删除。请参阅 ON DELETE CASCADE 选项。 要定义主键和外键以及它们之间的关系,请使用 CREATE TABLE 和 ALTER TABLE 语 句。要获取关于这些语句的更多信息,请参阅《GBase 8s SQL 指南:语法》。