Mi estimado Seyko, a ver... parece que ultimamente escribo de una manera poco comprensible para ud.
Cuand dije:
Cita: 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:
me referia a algo asi como:
Código:
CREATE TABLE Semestre(
an_o CHAR(2) NOT NULL,
id_semestre CHAR(2) NOT NULL,
fecha_inicio DATE,
fecha_termino DATE,
PRIMARY KEY (an_o, id_semestre),
UNIQUE(an_o),
UNIQUE(id_semestre)
);
Y de esa manera, la creacion de 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)
);
Tal cual la hacia el amigo v4mp1r0, funcionaria correctamente.
Espero se entienda esta vez.
Saludos