2011-01-25 87 views
1

我做了三个表“ investigador”,“inv_proy”和“PROYECTO”Oracle:我如何添加这些约束?

CREATE TABLE INVESTIGADOR (nip number, nombre varchar(20), 
    apellido varchar(20), fecha_nac date, sexo char, dir varchar(20), correo varchar(50)); 

    CREATE TABLE PROYECTO (id number, descripcion varchar(50), duración number, fecha_inicio date, presupuesto number); 

CREATE TABLE INV_PROY (nip number, id number, fecha date, cargo varchar(20)); 


ALTER TABLE INV_PROY ADD CONSTRAINTS INV_PROY_PK PRIMARY KEY (NIP); 

ALTER TABLE INVESTIGADOR ADD CONSTRAINTS INVESTIGADOR_PK PRIMARY KEY (NIP); 
ALTER TABLE PROYECTO ADD CONSTRAINTS PROYECTO_PK PRIMARY KEY(ID); 

我怎样才能使它所以每次我添加了一个寄存器时间INV_PROY有两个相关的INVESTIGADOR和PROYECTO注册?

我该如何做到这一点,以便每次从INVESTIGADOR擦除寄存器时,它也会从其关联表中删除?

回答

3

如果不知道这三个表是如何相关的,但很难回答您的问题,但常见的答案是使用外键约束和级联删除。

+0

是的,我想你是对的。我应该决定如何使用外键。 – andandandand 2011-01-25 03:25:52