------------------------------------------------------------------------- BASE DE DATOS I EVALUACIÓN EXTRAORDINARIO II 50% Ejercicios 50% Examen ------------------------------------------------------------------------- EJERCICIOS Instrucciones: Resuelva los ejercicios del 1 al 6 y entregue de acuerdo al siguiente calendario: Calendario de Recepción de Avances. Fecha límite Entrega 01/08/2013 Diagrama Entidad-Relación 08/08/2013 Modelo Relacional 22/08/2013 Normalización hasta (4FN) 05/09/2013 Operaciones con algebra Relacional. 19/09/2013 Implementación El porcentaje de evaluación de los ejercicios contempla las cinco entregas y la correcta solución en cada una. EJERCICIO 1 Implemente una base de datos contener la información sobre todas las carreteras del país, sabiendo que se deben cumplir las siguientes especificaciones: Las carreteras están divididas en varias categorías (locales, comerciales, regionales, nacionales, autovías, etc). Las carreteras se dividen en tramos. Un tramo siempre pertenece a una única carretera y no puede cambiar de carretera. Un tramo puede pasar por varias comunas, interesando conocer el Km de la carretera y la comuna donde empieza el tramo y en donde termina. Para los tramos que suponen principio o final de carretera, interesa saber si es que la carretera concluye físicamente o es que confluye en otra carretera. En este caso, interesa conocer con qué carretera confluye y en qué kilómetro, tramo y comuna. a) Mostrar la comuna donde empieza y terminan los tramos. b) Mostrar la comuna donde empieza y terminan los tramos de las carreteras regionales.
c) Mostrar el kilómetro, tramo y comuna de las carreteras que confluyen y que sean de categoría comercial. EJERCICIO 2 Realizar una base de datos para un juego de computadora. En el juego se utilizan conceptos como el personaje, objeto y escenario. Se sabe que: Cada personaje tiene un nombre único y lleva asociados 3 valores numéricos indicando su nivel de fuerza, inteligencia y habilidad. Además interesa saber en cada momento en que escenario (número de escenario) se encuentra. Cada personaje puede dominar a otros (a 0 o más), pero sólo puede ser dominado por otro o por ninguno. Los personajes tienen en cada momento algunos objetos en su poder. Además de saber qué objetos tiene cada personaje hay que guardar información acerca de en qué momento (hora, minuto y segundo) recogió el personaje el objeto. Puede haber objetos que no estén en posesión de ningún personaje (no los ha encontrado nadie aún), pero ninguno puede pertenecer a dos personajes al mismo tiempo. Los objetos se distinguen entre sí por su código y tienen asociado un número de escenario, el número del escenario en el que se encuentran situados al comienzo del juego. Cada escenario puede contener 0 o más objetos. Cada escenario tiene un número que lo identifica y dos factores riesgo, tiempo que indican características particulares del escenario. a) Indicar el nivel de fuerza, inteligencia y habilidad de los personajes que están en el escenario No. X. b) Mostrar la hora, minuto y segundo en que se recogieron los objetos del personaje de nombre Y. c) Mostrar el nombre de los personajes que tengan valores de fuerza >100 e inteligencia < 200. EJERCICIO 3 Crear una base de datos sirva para simular el funcionamiento de una red social, teniendo en cuenta lo siguiente: Los usuarios de la red social se identifican con un identificador y una contraseña. Además se almacena de ellos: o Su nombre, apellidos, dirección, teléfono (puede tener varios teléfonos) e e- mail (el e-mail no tiene que poder coincidir con el de otro usuario) y una foto o Si los usuarios son celebridades, de ellos no aparecerá ni el email ni la dirección ni el teléfono. Los usuarios pueden tener una serie de contactos, que en realidad son otros usuarios. De cada contacto se puede almacenar un comentario que es personal y que sirve para describir al contacto.
Los usuarios pueden organizar sus contactos en grupos de los cuales se almacena un nombre y deberemos saber los contactos que contiene. El mismo contacto puede formar parte de varios grupos. Además cada usuario puede tener una lista de usuarios bloqueados a fin de que no puedan contactar con él Los usuarios pueden publicar en la red comentarios, los cuales se puede hacer que los vea todo el mundo, que los vea uno o varios de los grupos de contactos del usuario o bien una lista concreta de usuarios. Los comentarios pueden incluir un texto y una imagen. a) Mostrar los comentarios de los usuarios cuyo nombre empieza con A b) Mostrar el nombre de los grupos a los que pertenezca el usuario X. c) Mostrar los comentarios (texto) de los usuarios cuyo nombre empieza con A y que sean celebridades. EJERCICIO 4 Crear un diseño entidad/relación que permita modelar un sistema que sirva para gestionar una empresa que posee inmuebles. Para ello: Se almacenan los clientes usando su DNI, Teléfono fijo, Móvil, Nombre y Apellidos. Se almacenan los trabajadores y se almacenan los mismos datos. Ocurre además que un trabajador puede ser un cliente (porque puede alquilar o comprar mediante la inmobiliaria) a veces. A cada cliente y trabajador se le asigna un código personal Los clientes pueden comprar pisos, locales o garajes. En los tres casos se almacena un código de inmueble (único para cada inmueble), los metros que tienen, una descripción y su dirección. Los pisos tienen un código especial de piso que es distinto para cada piso. En los locales se indica el uso que puede tener y si tienen servicio o no. De los garajes se almacena el número de garaje (podría repetirse en distintos edificios) y la planta en que se encuentra (para el caso de garajes que están en varias plantas). Los garajes además pueden asociarse a un piso y así cuando se alquile el piso se incluirá el garaje. La empresa prevé que podría haber inmuebles que podrían no ser ni locales, ni garajes, ni pisos Los inmuebles se pueden comprar. Incluso varias veces. Se asigna un código de compra cada vez que se haga, la fecha y el valor de la compra. La compra puede tener varios titulares. Cada inmueble se puede alquilar y en ese caso se asigna un número de alquiler por cada inmueble. Ese número se puede repetir en distintos inmuebles (es decir puede haber alquiler nº 18 para el inmueble 40 y el 35). Pero no se repite para el mismo inmueble. Al alquilar queremos saber el nombre del agente de la empresa que gestionó el alquiler así como a qué persona (solo una) estamos alquilando el inmueble.
Cada pago de cada alquiler será almacenado en la base de datos, llevando el año, el mes y el valor del mismo. Mostrar el nombre de clientes que han comprado garajes Mostrar el nombre de clientes que han alquilado pisos, el nombre del agente que gestionó el alquiler. Mostrar el nombre de clientes que han comprado pisos, la fecha y valor de la compra. EJERCICIO 5 Modelar un sistema de información para manejar municipios, viviendas y personas. Cada persona sólo puede habitar en una vivienda, pero puede ser propietaria de más de una. Sólo nos interesan las personas que habitan las viviendas incluidas en el sistema. También interesa la información de las personas (nombre completo, fecha de nacimiento, edad) con su cabeza de familia. De las viviendas nos interesa: la dirección (calle, número, piso y departamento) y el tamaño de la habitación (en metros cuadrados). De cada persona se puede o no saber su profesión, de los que se sabe, hay que ingresar esa información en el sistema. También vamos a manejar las tasas e impuestos que cobran los distintos municipios. Para cada impuesto se define una tasa máxima a nivel nacional. Varios municipios pueden cobrar el mismo impuesto, cada uno le asigna una tasa mínima. De cada municipio hay que registrar los nombres de sus avenidas principales, y la población total/ de varones/ de mujeres que arrojó cada censo, junto con el año del censo correspondiente. Otras decisiones que se toman a nivel nacional (o sea, son las mismas para todos los municipios) son: cuántas veces por año se paga el impuesto, y que se hace con lo que no se paga, que puede ser: apercibirlo, restringirle algún servicio relacionado con la tasa o impuesto, retirarle un patente o permiso (de conducir, de comerciar, etc.), o hacer una denuncia penal. El registro de contribuyentes se hace por vivienda, debe incluirse en el sistema que viviendas pagan cada impuesto, y desde cuándo. Se sabe en qué municipio está cada vivienda. Mostrar el nombre de las personas que tienen vivienda mayor a 200 metros cuadrados. Mostrar los datos de las viviendas que pagaron impuesto en el año 2012. EJERCICIO 6 Un centro meteorológico desea realizar un sistema para brindar información acerca de los huracanes que se han producido en los últimos 50 años. Para ello tiene información de cada uno: nombre, año y conjunto de registros de actividad que incluyen momento, posición e intensidad del huracán. Tener en cuenta que huracanes con el mismo nombre aparece en distintos años, se consideran como distintos huracanes; p. ej. Juanita 2003 y Juanita 2008 son dos huracanes distintos.
Los huracanes son registrados por estaciones meteorológicas de las que se sabe su nombre, dirección y personal que trabaja en ella (nombre, especialidades incluyendo grado de habilidad para cada capacidad, que puede ser bajo, medio, alto o experto y función), y que huracanes registró cada una. Cada persona que trabaja en una estación meteorológica tiene consultores, que son otros empleados a los cuales les hace preguntas sobre ciertos temas; una misma persona puede ser consultor en distintos temas para distintas personas, p. ej. Juan es consultor en Física para Lucas, y en Oceanografía para Laura. Cada huracán afecta plantaciones de las que se sabe cuántas hectáreas ocupan, de que son, su posición, y qué porcentaje de la plantación fue afectado por cada huracán. Cada huracán afecta también un conjunto de edificios públicos de los cuales también se conoce la posición, el tipo (escuela, hospital, etc.), el año de fundación, quién lo administra (nación, provincia, municipalidad), y que trámites se pueden hacer (de cada trámite se sabe el nombre, cuántos formularios hay que llenar para hacerlo, y cuántos días se tarda). Mostrar los datos del huracán que han sido registrados por la estación de nombre X. Mostrar el porcentaje de plantación afectada por el huracán de nombre Y, del año Z. Mostrar el tipo de edificio que fue afectado por el huracán de nombre Y, del año Z.