oracle查询约束定义,Oracle定义约束 外键约束

外键约束保证参照完整性。外键约束限定了一个列的取值范围。一个例子就是限定州名缩写在一个有限值集合中,这个值集合是另外一个控制结构——一张父表

下面我们创建一张参照表,它提供了完整的州缩写列表,然后使用参照完整性确保学生们有正确的州缩写。第一张表是州参照表,State作为主键

CREATE TABLE state_lookup

(state      VARCHAR2(2),

state_desc VARCHAR2(30)) TABLESPACE student_data;

ALTER TABLE state_lookup

ADD CONSTRAINT pk_state_lookup PRIMARY KEY (state)

USING INDEX TABLESPACE student_index;

然后插入几行记录:

INSERT INTO state_lookup VALUES ('CA', 'California');

INSERT INTO state_lookup VALUES ('NY', 'New York');

INSERT INTO state_lookup VALUES ('NC', 'North Carolina');

我们通过实现父子关系来保证参照完整性,图示如下

---------------   外键字段存在于Students表中

|State_lookup  |  是State字段

---------------   一个外键必须参照主键或Unique字段

|           这个例子中,我们参照的是State字段

|           它是一个主键字段(参看DDL)

/|\

---------------

|  Students    |

---------------

上图显示了State_Lookup表和Students表间一对多的关系,State_Lookup表定义了州缩写通用集合——在表中每一个州出现一次。因此,State_Lookup表的主键是State字段。

State_Lookup表中的一个州名可以在Students表中出现多次。有许多学生来自同一个州,一次,在表State_Lookup和Students之间参照完整性实现了一对多的关系。

外键同时保证Students表中State字段的完整性。每一个学生总是有个State_lookup表中成员的州缩写。

外键约束创建在子表。下面在students表上创建一个外键约束。State字段参照state_lookup表的主键。

1、创建表

CREATE TABLE students

(student_id&n

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值