2007 Oracle数据库基础教程 PRIMARY KEY 口特点 ■定义主键,起惟一标识作用,其值不能为 NULL,也不能重复; 个表中只能定义一个主键约東 建立主键约束的同时,在该列上建立一个惟一 性索引,可以为它指定存储位置和存储参数; ■主键约束可以是列级约束,也可以是表级约束
2007 Oracle 数据库基础教程 PRIMARY KEY 特点 ◼ 定义主键,起惟一标识作用,其值不能为 NULL,也不能重复; ◼ 一个表中只能定义一个主键约束; ◼ 建立主键约束的同时,在该列上建立一个惟一 性索引,可以为它指定存储位置和存储参数; ◼ 主键约束可以是列级约束,也可以是表级约束
2007 Oracle数据库基础教程 UNIQUE 口特点 定义为惟一性约束的某一列或多个列的组合的 取值必须惟 ■如果某一列或多个列仅定义惟一性约束,而没 有定义非空约束,则该约束列可以包含多个空 Orac|e自动在惟一性约束列上建立一个惟 性索引,可以为它指定存储位置和存储参数 ■惟一性约束可以是列级约東,也可以是表级约
2007 Oracle 数据库基础教程 UNIQUE 特点 ◼ 定义为惟一性约束的某一列或多个列的组合的 取值必须惟一; ◼ 如果某一列或多个列仅定义惟一性约束,而没 有定义非空约束,则该约束列可以包含多个空 值; ◼ Oracle自动在惟一性约束列上建立一个惟一 性索引,可以为它指定存储位置和存储参数; ◼ 惟一性约束可以是列级约束,也可以是表级约 束
2007 Oracle数据库基础教程 PRIMARY KEY与 UNIQUE比较 口在一个基本表中只能定义一个 PRIMARY KEY约束 但可定义多个 UNIQUE约束; 口对于指定为 PRIMARY KEY的一个列或多个列的组合, 其中任何一个列都不能出现空值,而对于 UNIQUE所 约束的唯一键,则允许为空。 口不能为同一个列或一组列既定义 UNIQUE约束,又定 义 PRIMARY KEY约束
2007 Oracle 数据库基础教程 在一个基本表中只能定义一个PRIMARY KEY约束, 但可定义多个UNIQUE约束; 对于指定为PRIMARY KEY的一个列或多个列的组合, 其中任何一个列都不能出现空值,而对于UNIQUE所 约束的唯一键,则允许为空。 不能为同一个列或一组列既定义UNIQUE约束,又定 义PRIMARY KEY约束。 PRIMARY KEY与UNIQUE比较
2007 Oracle数据库基础教程 CHECK 口特点 ■检查约束用来限制列值所允许的取值范围,其 表达式中必须引用相应列,并且表达式的计算 结果必须是一个布尔值; 约束表达式中不能包含子查询,也不能包含 SYSDATE、USER等SQL函数,和 ROWID ROWNUM等伪列; 一个列可以定义多个检查约束; 检查约束可以是列级约束,也可以是表级约束
2007 Oracle 数据库基础教程 CHECK 特点 ◼ 检查约束用来限制列值所允许的取值范围,其 表达式中必须引用相应列,并且表达式的计算 结果必须是一个布尔值; ◼ 约束表达式中不能包含子查询,也不能包含 SYSDATE、USER等SQL函数,和ROWID、 ROWNUM等伪列; ◼ 一个列可以定义多个检查约束; ◼ 检查约束可以是列级约束,也可以是表级约束
2007 Oracle数据库基础教程 FOREIGN KEY 口概念 FOREIGN KEY约束指定某一个列或一组 列作为外部键,其中,包含外部键的表称为 从表,包含外部键所引用的主键或唯一键的 表称主表。 系统保证从表在外部键上的取值要么是主表 中某一个主键值或唯一键值,要么取空值。 以此保证两个表之间的连接,确保了实体的 参照完整性
2007 Oracle 数据库基础教程 概念 ◼ FOREIGN KEY约束指定某一个列或一组 列作为外部键,其中,包含外部键的表称为 从表,包含外部键所引用的主键或唯一键的 表称主表。 ◼ 系统保证从表在外部键上的取值要么是主表 中某一个主键值或唯一键值,要么取空值。 以此保证两个表之间的连接,确保了实体的 参照完整性。 FOREIGN KEY