Deber de BDD CORAL CASTILLO GIOVANNY FRANCISCO 2014-07-17
Diseño de una BD y su implementación en el SGBD PosgreSql ENUNCIADO
El portal Web www.TUSPELICULASFAVORITAS.es desea gestionar de forma eficiente toda la información sobre las películas preferidas de sus usuarios: actores, directores, productores, títulos de las películas (original y traducido al español), año de producción, premios que ha recibido la película y/o artista a lo largo de su carrera, etc. Para ello, en primer lugar se almacenará información sobre los distintos premios a películas/actores y en qué edición de qué Gala se han otorgado (por ejemplo: Concha de Plata u Oro/Festival de Cine de Donosita; Palma de Oro/Festival de cine de Cannes; León de Oro/Mostra de Venecia; Oso de Oro/Festival de Berlín; Óscar/Academia Americana de Cine; etc.). Las Galas pueden ser de tipo: academia, festival o concurso Dos ediciones diferentes de una misma Gala, solamente se distinguen en el año en el que se realizó ésta, pero también se desea almacenar exactamente el lugar de celebración de la gala (que no suele variar en las diferentes ediciones, pero es posible que varíe por problemas técnicos) y la fecha exacta de celebración de la misma. Una Gala se caracteriza por el nombre (único), nacionalidad y año de comienzo. No todas las Galas ofrecen los mismos premios. En nuestra base de datos sólo vamos a recoger los siguientes premios: mejor actor principal, mejor actriz principal, mejor actor secundario, mejor actriz secundaria, mejor película y mejor dirección. Hay que tener en cuenta que algunas veces estos premios tienen nombre propio, por ejemplo: “Concha de Oro” = Premio a Mejor película en el festival de San
Sebastián. Si se conociese el nombre el premio, sería interesante almacenarlo. También se desea almacenar qué personas/artistas actúan como tribunal en cada edición de la Gala y para posteriores optimizaciones de consultas, el número exacto de personas que componen los tribunales en cada Gala (que se trata de un número prefijado como norma/regla del mismo). Hay que contemplar que una persona no puede ser jurado de una Gala si participa en una película nominada en ella, con cualquier papel. Es importante conocer para los usuarios de nuestra página Web tanto a qué premios han estado nominados los actores, directores y películas como cuáles de ellos han obtenido finalmente el premio en cada edición y con qué película. Por ejemplo: Tom Hanks obtuvo el óscar a mejor actor en 1993 por “Philadelphia” y en 1994 por “Forrest Gump” Reese Witherspoon ganó el óscar a mejor actriz en 2006 por la película “Walk in the Line” y otras 4 actrices más fueron nominadas en la misma edición para el premio pero no lo obtuvieron, como Keira Knightley por la película “Pride and Prejudice”) “Los lunes al sol” obtuvo el pr emio pr emio de Concha de Oro en el año 2002.
Las películas se pueden identificar con su título original y su año de producción, aunque también se desean almacenar otras características importantes, como los actores/actrices que han trabajado, el/los directores, el/los productores, el/los guionistas, la/s nacionalidad/es, el idioma original, título en español (si existe), etc. Las películas se clasifican según su tema como: comedia, musical, terror, documental, etc. Además es importante tener una pequeña información de la película: película: lugar del estreno, estreno, sala de exposición, máxima recaudación en el primer año de exposición y cantidad total recaudada, en euros. Teniendo en cuenta que una película puede estrenarse en varios sitios a la vez en la misma fecha. En cada película al menos ha de existir un director y un actor, con excepción de los documentales en los que sólo se recogerá un director. Una
persona que ha participado en una película con varios papeles, por ejemplo guionista y director o actor principal y director, etc.., puede ser nominado a varios premios por ella. De todas las personas que participan en la creación de la película (actores, directores, guionistas, etc.) se desea almacenar información de su nombre artístico (único), nombre real, sexo, año de nacimiento, página Web (si tuviera), año de inicio en el 7º arte y el número de años totales que lleva trabajando en ello y si está activo, retirado o ha fallecido. APARTADOS A REALIZAR:
1. (4.0 puntos) Realizar el diseño utilizando el modelo E/R, indicando todos los supuestos semánticos complementarios al enunciado que sea necesario introducir, así como aquellos que figuran en el texto y no pueden ser recogidos en el diagrama E/R.121 Modelo Entidad-Relación
2. (2 puntos) Transformar el esquema E/R (propuesto por profesorado) en un esquema relacional (grafo relacional), en el que se han de indicar las claves primarias, candidatas y las claves ajenas con sus opciones , así como si el atributo permite valores nulos. Si es necesario, se debe incluir las restricciones de verificación (checks), aserciones y disparadores que permitan captar toda la semántica del enunciado (no es obligatoria la sintaxis en SQL).
3. Cargar el script , introducir datos en las tablas generadas suficientes para hacer las pruebas de las siguientes consultas y disparadores en SQL (sintaxis de PosgreSql) .
(2 puntos) CONSULTAS:
1. Obtener un listado de los actores que han sido nominados más de una vez
en una misma película, por su participación en cualquier papel. Sea en la misma Gala o en Galas distintas. En el listado debe aparecer el nombre del actor, el nombre de la gala, la fecha de edición de ésta y tipo de participación por la que el actor fue nominado. 2. Obtener un listado de todas las películas que han participado en el festival de Cannes del año 2005 junto con el año de producción de éstas. Ordenar el listado por año de producción. 3. Obtener un listado de las películas que sólo han recibido premio a la mejor película y que además ninguno de sus participantes, (director, guionista, actor, etc.,) ha recibido premio ni ha sido nominado en ellas . 4. Obtener un listado de las personas que han participado con más de un papel en una película, indicando el nombre de la película, nombre de las personas y tipo de papeles en los que han participado.