Podrias armarte un catalogo asi:
te creas una db de prueba
Código PHP:
mysql_connect("db","usr","pass");
$link=mysql_query("use DB;");
echo "<pre>";
//autores: id_autor,nombre_autor,apellidos_autor
mysql_query("DROP TABLE IF EXISTS autores;");
mysql_query("CREATE TABLE autores(
id_autor varchar(21) NOT NULL,
nombre_autor varchar(21) NOT NULL,
apellidos_autor varchar(21) NOT NULL
);");
$r1=mysql_query("insert into autores(id_autor,nombre_autor,apellidos_autor) values
('1','Autor1','apellidoAutor1'),
('2','Autor2','apellidoAutor2'),
('3','Autor3','apellidoAutor3'),
('4','Autor4','apellidoAutor4');");
var_dump($r1);
//discos: id_autor,id_disco_cancion,nombre_disco
mysql_query("DROP TABLE IF EXISTS discos;");
mysql_query("CREATE TABLE discos(
id_autor varchar(21) NOT NULL,
id_disco_cancion varchar(21) NOT NULL,
nombre_disco varchar(21) NOT NULL
);");
//un mismo autor tiene varios discos
$r2=mysql_query("insert into discos (id_autor,id_disco_cancion,nombre_disco) values
('1','1','disco1'),
('1','2','disco2'),
('1','3','disco3'),
('2','4','disco1'),
('2','5','disco2'),
('2','6','disco3')
;");
var_dump($r2);
//////
//canciones: id_disco_cancion,titulo_cancion,duracion
mysql_query("DROP TABLE IF EXISTS canciones;");
mysql_query("CREATE TABLE canciones(
id_disco_cancion varchar(21) NOT NULL,
titulo_cancion varchar(21) NOT NULL,
duracion varchar(21) NOT NULL
);");
$r3=mysql_query("insert into canciones (id_disco_cancion,titulo_cancion,duracion) values
('1','tituloCancion1-1','duracion1-1'),
('1','tituloCancion1-2','duracion1-3'),
('1','tituloCancion1-3','duracion1-4'),
('2','tituloCancion2-1','duracion2-1'),
('2','tituloCancion2-2','duracion2-2'),
('3','tituloCancion3-1','duracion3-1'),
('3','tituloCancion3-2','duracion3-2'),
('3','tituloCancion3-3','duracion3-3'),
('4','tituloCancion4-1','duracion4-1'),
('4','tituloCancion4-2','duracion4-2')
;");
var_dump($r3);
echo "</pre>";