Problema doble FOREIGN KEY
Publicado por Arturo Estudiante (1 intervención) el 23/05/2007 22:17:17
Mi caso es que tengo dos de las tablas referenciadas mutuamente con foreign keys, de forma que no sé como introducir las restricciones y/o los datos, para que no me dé problemas el postgresql.
Esta es la parte problemática del código, las restricciones las añadí por separado.
CREATE TABLE alumnos (
N_alumno serial,
nombres d_nombre NOT NULL,
apellidos d_nombre NOT NULL,
codigo_tutor d_nombre,
Fecha_nacimiento date,
parada_guagua text,
comida text,
CONSTRAINT alumnos_cp PRIMARY KEY(N_alumno)
);
CREATE TABLE padres_tutores (
DNI d_dni,
N_alumno INTEGER,
nombre_tutor d_nombre NOT NULL,
apellidos_tutor d_nombre,
telefono_contacto_1 d_telefono NOT NULL,
telefono_contacto_2 d_telefono NOT NULL,
direccion text,
CONSTRAINT padres_tutores_cp PRIMARY KEY(DNI)
);
ALTER TABLE alumnos ADD CONSTRAINT alumnos_fk FOREIGN KEY
(codigo_tutor)REFERENCES padres_tutores(DNI);
ALTER TABLE padres_tutores
ADD CONSTRAINT padres_tutores_fk FOREIGN KEY (N_alumno) REFERENCES alumnos(N_alumno);
Muchas gracias por vuestro tiempo...la verdad es que no sé qué hacer.
Esta es la parte problemática del código, las restricciones las añadí por separado.
CREATE TABLE alumnos (
N_alumno serial,
nombres d_nombre NOT NULL,
apellidos d_nombre NOT NULL,
codigo_tutor d_nombre,
Fecha_nacimiento date,
parada_guagua text,
comida text,
CONSTRAINT alumnos_cp PRIMARY KEY(N_alumno)
);
CREATE TABLE padres_tutores (
DNI d_dni,
N_alumno INTEGER,
nombre_tutor d_nombre NOT NULL,
apellidos_tutor d_nombre,
telefono_contacto_1 d_telefono NOT NULL,
telefono_contacto_2 d_telefono NOT NULL,
direccion text,
CONSTRAINT padres_tutores_cp PRIMARY KEY(DNI)
);
ALTER TABLE alumnos ADD CONSTRAINT alumnos_fk FOREIGN KEY
(codigo_tutor)REFERENCES padres_tutores(DNI);
ALTER TABLE padres_tutores
ADD CONSTRAINT padres_tutores_fk FOREIGN KEY (N_alumno) REFERENCES alumnos(N_alumno);
Muchas gracias por vuestro tiempo...la verdad es que no sé qué hacer.
Valora esta pregunta


0