Ver Mensaje Individual
  #1 (permalink)  
Antiguo 05/11/2016, 15:57
Avatar de Hyemin
Hyemin
 
Fecha de Ingreso: agosto-2014
Mensajes: 147
Antigüedad: 9 años, 8 meses
Puntos: 0
Relacion entre 3 tablas con triple llave compuesta

Buenas, tengo el siguiente problema,

Tengo 3 tablas,

Tabla Hotel, con idHotel como llave primaria.

Tabla Habitaciones con idHabitacion + idHotel como llave primaria (compuesta) y una constraint que hace que idHotel sea FK de HOtel

Ahora, tengo otra tabla llamada HabitacionExtras que tiene una llave compuesta por 3 campos: ExtrasidHotel, ExtrasidHabitacion y Extra

cuando hago
Código SQL:
Ver original
  1. ALTER TABLE HabitacionExtras  ADD CONSTRAINT ExtrasidHotel FOREIGN KEY(ExtrasidHotel)REFERENCES Hotel(idHotel)

Eso funciona bien, pero cuando hago
Código SQL:
Ver original
  1. ALTER TABLE HabitacionExtras  ADD CONSTRAINT ExtrasidHabitacion FOREIGN KEY(ExtrasidHabitacion)REFERENCES Habitacion(idHabitacion)

Da un error:

Msg 1776, Level 16, State 0, Line 1
No hay claves principales ni candidatas en la tabla a la que se hace referencia ('Habitacion') que concuerden con la lista de columnas que hace la referencia en la clave externa 'ExtrasidHabitacion'.
Msg 1750, Level 16, State 0, Line 1
No se pudo crear la restricción. Consulte los errores anteriores.asidHabitacion)REFERENCES Habitacion(idHabitacion)



Agradezco cualquier ayuda