Tengo una tabla HABITACION con primary key (num_habitacion,habita_id_hotel) y tengo otra tabla RESERVA con los siguientes campos primary key (num_reserva,cod_habitacion,id_hotel). Pues bien, kiero relacionar la tabla reservas con la tabla habitacion. Yo hago lo siguiente:
Código:
create table habitacion ( num_habitacion number(6), habita_id_hotel varchar2(4), num_camas number(2), precio number(5,2), estado varchar2(15) ); alter table habitacion add constraint num_habitacion_pk primary key(num_habitacion,habita_id_hotel); alter table habitacion add constraint habita_id_hotel_fk foreign key(habita_id_hotel) references hotel(id_hotel);
Código:
Me dice ke no hay ninguna clave única o primaria correspondiente para esta columna.create table reserva ( num_reserva varchar2(15), reser_id_hotel varchar2(4), cod_habitacion number(6), cod_cliente varchar2(8), fecha_inicio date, fecha_fin date ); alter table reserva add constraint num_reserva_pk primary key(num_reserva,cod_habitacion,reser_id_hotel); alter table reserva add constraint cod_habitacion_fk foreign key(cod_habitacion) references habitacion(num_habitacion);
Si pongo esto:
Código:
Me sale el error este: El numero de columnas de referencia debe coincidirc con las columnas a las que se hace referencia.alter table reserva add constraint cod_habitacion_fk foreign key(cod_habitacion) references habitacion(num_habitacion,habita_id_hotel);
QUe toy haciendo mal? Como seria este tipo de relaciones con varios campos primary key? Muchas gracias.