Siento mucho la tardanza. He estado muy ocupado pero intentaré aclararte la duda.
La estructura de tablas sería :
CLIENTES: maestra
CD O JUEGOS: maestra
PRESTAMOS: histórica de las dos anteriores
En la tabla de CD crearía un campo booleano con el nombre PRESTADA en el que con 0 indicaría que no lo está y con 1 que el CD está prestado.
En la misma tabla un índice formado por el campo NOMBRE (aproximación alfabética ternaria) y en "Campo condición para indexar" escogería ese booleano y con " Estado del campo" a cero es decir sin el flag activado. Con esto logro que si desde un formulario de la tabla ´PRESTAMOS intento localizar un CD, usar un localizador con ese indice nuevo y solo con ese índice, con lo que sólo me saldrán los CD no prestados.
Desde la tabla de préstamos lanzaría una actualización a la tabla CD que modificara en booleano cada vez que lo presto, con condición de lanzar la modificación que el booleano sea 0
Tendrás que hacer otro formulario de devolución que haga lo contrario.
En un formulario de CLIENTE podrás poner una rejilla de histórico contra la tabla de préstamos y que te indicará los CD prestados a ese cliente.
NO sé si te habré resuelto las dudas. Un saludo