Buenas, tengo un pequeño problema.Resulta que a la hora de relacionar mis tablas que tienen mas de una primary key no logro hacerlo. Me explico.
 
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:
 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);
  Me dice ke no hay ninguna clave única o primaria correspondiente para esta columna. 
Si pongo esto: 
Código:
 alter table reserva add constraint cod_habitacion_fk foreign key(cod_habitacion) references habitacion(num_habitacion,habita_id_hotel);
  Me sale el error este: El numero de columnas de referencia  debe coincidirc con las columnas a las que se hace referencia. 
QUe toy haciendo mal? Como seria este tipo de relaciones con varios campos primary key?   Muchas gracias.