Siempre que hayan atributos multivaluados se deben crear nuevas estructuras hasta que normalice esas relaciones, porque cuando se detectan atributos multivaluados quiere decir que la BD no está debidamente normalizada(Tercera forma normal), por ejemplo la relación entre Estudiante y Libro en una Biblioteca es claro que es una relación con cardinalidad: N:M
Donde exista una relación de muchos a muchos en el modelo entidad relación, la relación se convierte en una tabla nueva que une las 2 entidades que se estaban relacionando originalmente. La nueva tabla tendrá su propia llave primaria y tendrá 2 llaves foráneas, las cuales corresponden a las llaves primarias de las otras dos tablas. Adicionalmente tendrá los campos adicionales que sean requeridos.
No es prudente dejar como primary Key una llave compuesta por dos atributos, en el caso de la tabla resultante del ejemplo, debería quedar con su propio PK (Prestamo_ID) y dos foráneas que son el Id del Libro a prestar y el Id del usuario o estudiante que presta, y estos dos forman un constarint de tipo Unique, porque un libro solo puede estar prestado una y solo una vez.
Esta tabla bien podría quedar así:
CREATE TABLE TBL_PRESTAMOS (
PRESTAMO_ID | NUMBER (4) NOT NULL PRIMARY KEY,
LIBRO_ID NUMBER (4) NOT NULL UNIQUE,
ESTUDIANTE_ID NUMBER (4) NOT NULL,
FECHA_PRESTAMO DATE DEFAULT SYSDATE NOT NULL,
FECHA_DEVOLUCION DATE NOT NULL,
CONSTRAINT FK_ESTUDIANTE_ID FOREIGN KEY (ESTUDIANTE_ID)
REFERENCES TBL_ESTUDIANTES (ESTUDIANTE_ID),
CONSTRAINT FK_LIBRO_ID FOREIGN KEY (LIBRO_ID)
REFERENCES TBL_LIBROS (LIBRO_ID),
CONSTRAINT UQ_ESTUDIANTE_LIBRO UNIQUE (ESTUDIANTE_ID, LIBRO_ID));
Observar imagen adjunta de este ejemplo para que comprendas