Tengo el siguiente código de ejemplo, suponiendo que sea una biblioteca con pocos libros y pocas personas:
SELECT * FROM per_lib
INNER JOIN personas USING(id_personas)
INNER JOIN libros USING(id_libros)
WHERE id_personas = 7
Un libro se le puede prestar a muchas personas
Una persona puede tener muchos libros prestados
Necesitaria generar un formulario con toda la lista de libros, y aparezcan marcados los que este usuario tiene en posesión, de tal forma que se puedan desmarcar los que se devuelvan, y se marquen los que se adquieran
Prestar un libro que no se tiene es hacer posteriormente un insert en per_lib
Devolver un libro que se tiene es hacer un delete en per_lib
Luego supongo que recibiendo un id_personas, y los valores del formualrio, seria aplicar los insert y los delete correspondientes