jeje parece que no nos entendemos bien, pero lo llevamos bien ;)
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)
);
Sigo diciendo que esto no es correcto.
Por la siguiente razon, una PK automaticamente lleva un UNIQUE a todos los campos que la forman, en este caso (an_o, id_semestre).
Si despues añadimos dos UNIQUES separados el comportamiento no será el esperado.
Ejemplo
an_o id_semestre
1 1
1 2 <-- Aqui falla el año
2 1 <-- Aqui falla el semestre
Si no estoy en lo correcto, una critica constructiva siempre es bien recibida.
Un saludo