2011-01-25 104 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