Hola, pues yo no le veo mucha complicación xD
1 base de datos, 3 tablas.
tabla: tb_premios - ID, Nombre... etc..
tabla: tb_productos - ID, Nombre.. etc..
tabla: tb_compilacion ID, ID premio, ID's productos separados por coma, etc...
Saludos
Separados por coma, emmm en mi parecer seria mejor ID del producto y ya.
Y si serian 3 tablas
Premios
ID int autoincrementable
Nombre varchar(50) NOT NULL
Productos
ID int autoincrementable
Nombre varchar(50) NOT NULL
Puedes agregarle detalles al producto
Premios_Producto
ID int autoincrementable
idPremio int 'Este hara referencia hacia Premios, para checar que ese premio exista
idProducto int 'Este hara referencia hacia Productos de que el producto exista
Ahora simplemente primero agregamos todos nuestros productos a la tabla Productos, luego de esto ahora creamos un nuevo Premio solo el nombre claro hehe, y ya finalmente vamos y agregamos los productos que tendra ese premio
[Productos]
ID Nombre
1 Licuadora
2 Estufa
3 Televisor
4 Computadora
5 Auto
[Premio]
ID Nombre
1 Casa
2 Estudiante
[Premio_Producto]
ID idPremio idProducto
1 1 1
2 1 2
3 2 3
4 2 4
5 2 5
Ya con eso podemos ver que el premio con ID 1, tiene los productos con ID 1 y 2, mientras el premio con ID 2 tiene los productos con ID 3, 4 y 5.
Bueno espero y te sirva hehe n_n
Saludos*!