查看表的约束条件有三个视图:
1、dba_constraints、all_constraints、user_constraints。
2、其中:dba_constraints视图需要DBA权限才能查询。
3、all_constraints、user_constraints普通用户查询。
扩展资料:
Oracle数据库使用约束(constraints)来防止无效的数据进入表中,保护数据的实体完整行约束定义在表级,如果表与表之间有从属关系,约束可以防止表的删除,通过约束字段,强制用户在插入更新和删除数据时必须遵循一定的规则。
约束定义语法: create table 表名(字段名 数据类型 约束类型) 或 create table 表名(字段名1 数据类型,字段名2,数据类型 constraints 约束别名 约束类型 (字段))
我们可以使用下面语句从all_constraints视图中查看某表上的约束:SELECT
constraint_name,
table_name,
r_owner,
r_constraint_name
FROM
all_constraints
WHERE
table_name
=
'table_name'
and
owner
=
'owner_name'
另一个视图ALL_CONS_COLUMNS也包括组成表上约束列的信息。
根据 《MySQL技术内幕》 中的解释:
那么,我们需要先理解 “什么是数据完整性” ?
MySQL中InnoDB引擎是通过B+树这种数据结构进行数据存取的,而“索引”就是B+树的子叶结点(非树叶)。我们说InnoDB基于B+树查找数据,也可以说基于索引查找数据。利用好索引可以大大提高查询的性能。
最后,再来理解一下开头的那句话。
约束是一个 逻辑概念 ,它更多是指一种功能,用来保证数据完整性。索引是一个数据结构,因为索引是B+树的子叶结点。 当用户创建了唯一索引就创建了唯一的约束,我们创建了索引这个数据结构,起到了唯一约束的这个功能从而保证了数据完整性。
以上是我看书时个人观点的总结,仅供参考
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)