Heim  >  Artikel  >  Datenbank  >  Oracle约束的分类

Oracle约束的分类

WBOY
WBOYOriginal
2016-06-07 16:08:501022Durchsuche

数据库完整性(database Integrity)是数据库中数据的正确性和相容性,用来防止用户向数据库中添加不合法语义的数据。数据库完整性

数据库完整性(database Integrity)是数据库中数据的正确性和相容性,用来防止用户向数据库中添加不合法语义的数据。数据库完整性是由各种各样的完整性约束来保证的,可以说,数据库完整性设计就是数据库完整约束的设计。按照不同的角度可以将表的完整性约束分成不同的类型。主要可以选取两个角度:约束的作用域和约束的用途。

按照约束的作用可以将表的完整性约束分为如下两大类:
表级约束:应用于表,对于表中的多个列起作用。
列级约束:应用于表中的一列,,只对该列起作用。

按照约束的用途可以将表的完整性约束分为5类:

约束              简写                说明
not null          c                    非空约束(指定一列不允许存储空值)
primary key    p                    主键约束(主键由一列或多列组成,唯一标识表中的一列)
unique          u                      唯一约束(唯一约束,指定一列或一组列只能存储唯一的值)
check            c                    检查约束(指定一列或一组列的值必须存储唯一的值)
foreing key    r                    外键约束(外键引用到表另一个表中的一列)

视图user_constraints
可以通过查询数据字典视图user_constraints,可以了解当前用户模式中所有的约束的基本信息。
列                          类型                          说明
owner                    varchar2(30)            约束的所有者       
constraint_name  varchar2(30)            约束名
constraint_type    varchar2(1)              约束类型
table_name          varchar2(30)            约束所针对的表名
status                    varchar2(8)              约束的状态(enabled或disabled)
deferable              varchar2(14)            该约束是否可延迟
deferrd                  varchar2(9)              立即执行还是延迟执行

通过查村数据字典视图user_cons_columns,可以了解定义约束的列
列              类型                  说明
owner          varchar2(30)            约束的所有者       
constraint_name varchar2(30)            约束名
table_name      varchar2(30)            约束所针对的表名
column_name          varchar2(4000)        约束定义所针对的列明
具体的操作如下:
SQL> column owner format a6
SQL> column constraint_name format a15
SQL> column table_name format a10
SQL> column column_name format a10
SQL> select owner,constraint_name,table_name,column_name    //约束的信息
  2  from user_cons_columns
  3  where table_name='T';
OWNER  CONSTRAINT_NAME TABLE_NAME COLUMN_NAM
------ --------------- ---------- ----------
SYSTEM SYS_C0010065    T          TID        约束的名称    所在的列
SYSTEM SYS_C0010064    T          TID        约束的名称    所在的列
SQL>

SQL> select constraint_name,constraint_type    //约束信息
  2  from user_constraints
  3  where table_name='T';
CONSTRAINT_NAME C
--------------- -
SYS_C0010065    P              主键约束

SYS_C0010064    C              非空约束

以上的内容来自学习的记录。

本文永久更新链接地址

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn