Hola,
En cuanto al diseño de una base de datos tampoco se puede decir que algo
este mejor que otra cosa, lo que si te condicionar como diseñes la base
de datos en el mantenimiento de la informacion, asi que tienes que
pensarlo bien.
A simple vista me parece que una buena opcion es tener una tabla llamada
por ejemplo, musiteka con los campos algo como asi:
id
titulo
artista
album
soporte (digital, vinilo, CD, VHS, DVD, Libro, ...)
idSoporte
y en formato aceptas los diferentes valores (digital, CD, vinillo),
exclusivo o que pueda estar en ambos, si por ejemplo contemplas la
posibilidad del mismo tema tenerlo ripeado y en un CD de audio.
idSoporte se me viene a la cabeza asi rapidamente para el caso de
mantener los discos de vinillo, CDs referenciados como una unidad.
Tambien te puedes crear una lista de colegas
nombre
mail
telefono
prestados
donde en el caso que el soporte no sea digital puedes almacenar a los
colegas que le prestas algun disco, CD, libro,... para esto se me ha
pasado el tema del soporteId
No lo he pensado mucho, lo importante es que sepas que evidentemente
aunque hay mejor manera de estructurar los datos, no hay nada
incorrecto, solo que crearas una dependencia a como luego tengas que
programar el mantenimiento de la informacion.