Ver Mensaje Individual
  #2 (permalink)  
Antiguo 23/03/2008, 23:08
bransh
 
Fecha de Ingreso: enero-2008
Mensajes: 25
Antigüedad: 16 años, 3 meses
Puntos: 0
Re: ERROR: no hay restricción unique que coincida con las tablas referida

Hola, como andas!

En primer lugar, estas haciendo dos referencias por separado en la tabla CURSO:

Código:
CREATE TABLE Curso(
    id_curso CHAR(2) NOT NULL PRIMARY KEY,
    sigla CHAR(7) NOT NULL,
    nombre_curso VARCHAR(25),
    departamento VARCHAR(20) NOT NULL,
    creditos CHAR(1) NOT NULL,
    numero_inscritos INT NOT NULL,
    rut CHAR(10) NOT NULL,
    an_o CHAR(2) NOT NULL,
    id_semestre CHAR(2) NOT NULL,

    FOREIGN KEY (rut) REFERENCES Profesor (rut),
    FOREIGN KEY (an_o) REFERENCES Semestre (an_o),
    FOREIGN KEY (id_semestre) REFERENCES Semestre (id_semestre)
);
Uno a la clave parcial an_o de la tabla Semetre y la otra a la clave parcial id_semestre de misma tabla. Con lo cual, es necesario que tengas dos UNIQUE Constraint separados en la tabla Semestre (uno para cada atributo). Si no es tu intencion, lo correcto seria que hagas:

Código:
CREATE TABLE Curso(
    id_curso CHAR(2) NOT NULL PRIMARY KEY,
    sigla CHAR(7) NOT NULL,
    nombre_curso VARCHAR(25),
    departamento VARCHAR(20) NOT NULL,
    creditos CHAR(1) NOT NULL,
    numero_inscritos INT NOT NULL,
    rut CHAR(10) NOT NULL,
    an_o CHAR(2) NOT NULL,
    id_semestre CHAR(2) NOT NULL,

    FOREIGN KEY (rut) REFERENCES Profesor (rut),
    FOREIGN KEY (an_o, id_semestre) REFERENCES Semestre (an_o, id_semestre)
);

En la tabla Horario sucede lo mismo.

Por ultimo, revisa el orden de creacion de las tablas porque estas haciendo referencia a Sala (en la definicion de Asignacion ) antes de crear la tabla Sala. (y otras mas...)


Saludos!