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);
然后插入几行记录:
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 VARCHAR2(10) NOT NULL,
stu
相关文档:
TO_DATE格式(以时间:2007-11-02 13:45:25为例)
Year:
yy two digits 两位年 ......
手工配置Oracle 10G Enterprise Manage
最近在学习安装数据库的时候,用了多种方法创建,如dbca创建,手工创建,用模版创建等等,当用dbca创建数据库的时候,没有选择“使用Enterprise Manager配置数据库”,造成后来想用em不能使用,必需用到手工配置em才能使用,下面就介绍两种单实例环境实下em配制。
第一种 ......
oracle
误删除日志文件后的处理方法!
解决方法背景
1
整理c
盘的垃圾文件,吧oralce
的。log
日志文件删除。
2
然后oralce
一直不能使用,提示tns
有问题,
然后再往上找资料,一直没有解决掉,后来看到一边文章如下,问题解决掉了,特和大家分享!
======================================== ......
oracle 10g
安装完成后,
登陆EM
输入系统用户名和密码和数据库用户名和密码后,
点启动报错,
可能是因为数据库的状态为装载或不装载,
始终无法登陆进EM
的解决办法......
状况:
打开http://ty-:5500/em
,系统显示如下信息:
数据库状态当前不可用。可能是因为数据库的状态为装载或不装载。单击 ......