Está en la página 1de 2

Examen de BASES DE DATOS - Diseño – 21 de diciembre de 2017

TODOMÚSICA I
Una empresa quiere crear una web de música semigratuita, financiada por anunciantes, que
permitirá a los usuarios escuchar música de distintos artistas, buscar canciones, crear listas de
reproducción, compartirlas con otros usuarios, etc. Para ello han decidido encargarte a ti el
diseño de una base de datos y te han dado las especificaciones que figuran a continuación.
De cada canción se almacenará su título, duración, el nombre del fichero donde está
físicamente almacenada y su intérprete o intérpretes; cada canción se identifica con un código
único. Para los intérpretes, sean solistas o grupos, la empresa quiere almacenar el nombre del
intérprete, si se trata de un solista o de un grupo y un código interno único que le asigna la
empresa. Una canción puede ser una versión de otra y de una canción puede haber muchas
versiones y esta información desea almacenarse en la base de datos.
Las canciones normalmente están agrupadas en álbumes (no siempre), de los que se
conoce el título, el año de publicación, una foto de la carátula, el interprete principal, las
canciones que lo integran, así como el orden de las mismas dentro del álbum, y la compañía
discográfica que lo ha editado. Para las compañías discográficas desea almacenarse su nombre y
el país donde está su sede. Hay que tener en cuenta que tanto los nombres de canciones como
los nombres de álbumes pueden repetirse. Los álbumes están clasificados según el tipo de
música que incluyen (pop, techno, latina, flamenco, etc.). Esta clasificación desea
estandarizarse, ya que los usuarios podrían querer hacer búsquedas por ella; téngase en cuenta
que un álbum podría pertenecer a varias clasificaciones diferentes.
Para poder acceder a la música, los usuarios deben darse de alta en la web y
proporcionar un código de usuario (que no puede repetirse), una contraseña y un correo
electrónico. Diferentes personas podrían proporcionar el mismo correo electrónico. Un usuario
puede crear gratuitamente hasta 10 listas de reproducción de canciones. Cada lista de
reproducción se identifica por el código de usuario y un número consecutivo; además tiene un
nombre, una fecha de creación, la indicación de si es pública o privada y las canciones que están
incluidas en la lista, así como un número de orden para cada canción. Las listas de reproducción
públicas pueden estar clasificadas del mismo modo que los álbumes, pero en este caso, solo se
permite que una lista pertenezca a una clasificación. Las listas de reproducción públicas a veces
están promocionadas por organizaciones (cadenas de radio, de tv, organizaciones benéficas,
etc.) y esta información desea reflejarse en la base de datos. De esas organizaciones hay que
conocer su nombre, el sector al que pertenecen y se les asigna un código único. Una lista
pública sólo puede estar promocionada por una organización y de momento sólo se permite que
una organización promocione una lista pública.
Los usuarios, además de crear listas, pueden seguir las listas públicas existentes. Un
usuario puede seguir varias listas públicas o ninguna y una lista pública puede ser seguida por
varios usuarios o ninguno. También es posible que un usuario sea seguidor de una lista durante
un tiempo, luego la deje de seguir y luego la vuelva a seguir. Es preciso mantener información
de los periodos de tiempo en que un usuario ha estado siguiendo una lista pública.
Además, con fines estadísticos y debido a los derechos de autor que tendrá que pagar la
empresa, por cada canción hay que almacenar el número total de veces que ha sido reproducida
en cada fecha.
1. Realiza un diagrama Entidad/Relación que represente estas especificaciones,
mostrando en ese mismo diagrama los atributos e identificadores de TODAS las
entidades y subrayando los identificadores. De la misma forma presenta las
asociaciones con sus nombres y atributos correspondientes (el diagrama completo
debe estar en una sola cara).
2. Transforma el diagrama E/R al modelo relacional y represéntalo mediante un
grafo relacional. Muestra cada relación con todos sus atributos, las claves
primarias, alternativas y externas con las opciones de borrado, así como los
atributos que pueden ser nulos. Hazlo en la parte de atrás de esta hoja.

IMPORTANTE: No debe escribirse nada en color rojo.


Examen de BASES DE DATOS - Diseño – 21 de diciembre de 2017

Apellidos ………………………………… Nombre ….…………… DNI…………….

También podría gustarte