暂无图片
暂无图片
2
暂无图片
暂无图片
暂无图片

OceanBase系统架完整性约束类型概述

2023-12-19
176

OceanBase 数据库支持多种类型的完整性约束。

用户可以使用以下完整性约束对输入的列值加以限制:

  • NOT NULL 完整性约束

  • UNIQUE KEY 完整性约束

  • PRIMARY KEY 完整性约束

  • 引用完整性约束

NOT NULL 完整性约束

非空规则(Null Rule)是定义在某一列上的规则,其作用是禁止将要被插入或更新的数据行的列值为空值NULL

UNIQUE KEY 完整性约束

唯一值规则(Unique Value Rule)是定义在某一列(或某一列集)上的规则,其作用是确保将要被插入或更新的数据行此列(或列集)的值是唯一的。

PRIMARY KEY 完整性约束

主键值规则(Primary Key Value Rule)是定义在某一键(Key)(键指一列或一个列集)上的规则,其作用是确保表内的每一数据行都可以由某一个键值唯一地确定。

引用完整性约束

引用完整性规则(Referential Integrity Rule)是定义在某一键(Key)(键指一列或一个列集)上的规则,其作用是确保任意键值都能与相关表(Related Table)的某一键值,即引用值(Referenced Value)相匹配。

引用完整性约束时,对引用值可以进行哪些类型的数据操作(Data Manipulation),以及这些操作将如何影响依赖值(Dependent Value)。请参见如下具体规则:

  • 限制(Restrict):不允许对引用值进行更新与删除。

  • 置空(Set to Null):当因引用值被更新或删除后,所有受影响的依赖值都将被置为 NULL

  • 置默认值(Set to Default):当引用值被更新或删除后,所有受影响的依赖值都将被赋予一个默认值。

  • 级联操作(Cascade): 当引用值被更新后,所有受影响的依赖值也将被更新为相同的值。当引用数据行(Referenced Row)被删除后,所有受影响的依赖数据行(Dependent Row)也将被删除。

  • 无操作(No Action): 不允许对引用值进行更新与删除。此规则与 RESTRICT 有所不同,它只在语句结束时进行检查,如果约束被延迟(Deferred)则在事务结束时进行检查。

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论