Descarga la aplicación para disfrutar aún más
Vista previa del material en texto
DEBER DE BASE DE DATOS En las siguientes entidades aplique las 3 formas (normalice): 1. PRIMERA FORMAL NORMAL (1FN) Al examinar estos registros, podemos darnos cuenta de que contienen un grupo repetido para NUM_ART, NOM_ART, CANT y PRECIO. La 1FN prohíbe los grupos repetidos, por lo tanto, tenemos que convertir a la primera forma normal. Los pasos a seguir son: · Tenemos que eliminar los grupos repetidos. · Tenemos que crear una nueva tabla con la PK de la tabla base y el grupo repetido. Los registros quedan ahora conformados en dos tablas que llamaremos ORDENES y ARTICULOS_ORDENES ordenes (id_orden, fecha, id_cliente, nom_cliente, estado) Articulos_ordenes (id_orden, num_art, nom_art, cant, precio) Ordenes Id_orden Fecha Id_cliente Nom_cliente Estado 2301 23/02/11 101 Martin Caracas 2302 25/02/11 107 Herman Coro 2303 27/02/11 110 Pedro Maracay Articulos_ordenes Id_orden Num_art nom_art cant Precio 2301 3786 Red 3 35,00 2301 4011 Raqueta 6 65,00 2301 9132 Paq-3 8 4,75 2302 5794 Paq-6 4 5,00 2303 4011 Raqueta 2 65,00 2303 3141 Funda 2 10,00 SEGUNDA FORMAL NORMAL (2FN) Ahora procederemos a aplicar la segunda formal normal, es decir, tenemos que eliminar cualquier columna no llave que no dependa de la llave primaria de la tabla. Los pasos a seguir son: · Determinar cuáles columnas que no son llave no dependen de la llave primaria de la tabla. · Eliminar esas columnas de la tabla base. · Crear una segunda tabla con esas columnas y la(s) columna(s) de la PK de la cual dependen. La tabla ORDENES está en 2FN. Cualquier valor único de ID_ORDEN determina un sólo valor para cada columna. Por lo tanto, todas las columnas son dependientes de la llave primaria ID_ORDEN. Por su parte, la tabla ARTICULOS_ORDENES no se encuentra en 2FN ya que las columnas PRECIO y NOM_ART son dependientes de NUM_ART, pero no son dependientes de ID_ORDEN. Lo que haremos a continuación es eliminar estas columnas de la tabla ARTICULOS_ORDENES y crear una tabla ARTICULOS con dichas columnas y la llave primaria de la que dependen. Las tablas quedan ahora de la siguiente manera. Articulos_ordenes (id_orden, num_art, cant) Articulos ( num_art, nom_art, precio) Articulos_ordenes Articulos Id_orden Num_art cant 2301 3786 3 2301 4011 6 2301 9132 8 2302 5794 4 2303 4011 2 2303 3141 2 Num_art nom_art Precio 3786 Red 35,00 4011 Raqueta 65,00 9132 Paq-3 4,75 5794 Paq-6 5,00 3141 Funda 10,00 TERCERA FORMAL NORMAL (3FN) La tercera forma normal nos dice que tenemos que eliminar cualquier columna no llave que sea dependiente de otra columna no llave. Los pasos a seguir son: · Determinar las columnas que son dependientes de otra columna no llave. · Eliminar esas columnas de la tabla base. · Crear una segunda tabla con esas columnas y con la columna no llave de la cual son dependientes. Al observar las tablas que hemos creado, nos damos cuenta que tanto la tabla ARTICULOS, como la tabla ARTICULOS_ORDENES se encuentran en 3FN. Sin embargo, la tabla ORDENES no lo está, ya que NOM_CLIENTE y ESTADO son dependientes de ID_CLIENTE, y esta columna no es la llave primaria. Para normalizar esta tabla, moveremos las columnas no llave y la columna llave de la cual dependen dentro de una nueva tabla CLIENTES. Las nuevas tablas CLIENTES y ORDENES se muestran a continuación. ordenes (id_orden, fecha, id_cliente) Clientes (id_cliente, nom_cliente, estado) Clientes Ordenes Id_cliente Nom_cliente Estado 101 Martin Caracas 107 Herman Coro 110 Pedro Maracay Id_orden Fecha Id_cliente 2301 23/02/11 101 2302 25/02/11 107 2303 27/02/11 110 Por lo tanto, la base de datos queda de la siguiente manera: ordenes (id_orden, fecha, id_cliente) Clientes (id_cliente, nom_cliente, estado) Articulos ( num_art, nom_art, precio) Articulos_ordenes (id_orden, num_art, cant) 2. PRIMERA FORMAL NORMAL (1FN) Código/ Alquiler Numero/ Membresía Código/ Cliente Código/ Casete Código/ Actor Fecha/ Alquiler Fecha/ Devolución Valor/ Alquiler Cantidad A001 10588 C001 C123 A001C 01/01/2016 12/01/2016 $6.00 1 A002 10588 C001 C124 A001C 01/01/2016 12/01/2016 $4.00 1 A003 10589 C002 C125 A002C 12/01/2016 22/02/2016 $3.00 2 3. PRIMERA FORMAL NORMAL (1FN) LIBRO EDITORIAL FECHA_PRESTAMO Enseñar en Graó 09/09/2010 Rubio, N56 Rubio 05/05/2010 Enseñar en Graó 05/05/2010 Infantil, N9 Prentice Hall 06/05/2010 Enseñar en Graó 06/05/2010 Enseñar en Graó 09/05/2010 Guía Temas de hoy 05/05/2010 Guía Temas de hoy 18/12/2010 COLEGIO PRESTAMOS LIBROS COLEGIO PROFESOR ASIGNATURA/ HABILIDAD AULA CURSO C.P. Cervantes Juan Pérez Lógico 1.A01 1er Grado C.P. Cervantes Juan Pérez Escritura 1.A01 1er Grado C.P. Cervantes Juan Pérez Numérico 1.A01 1er Grado C.P. Cervantes Alicia García Especial 1.B01 1er Grado C.P. Cervantes Alicia García Numérico 1.B01 1er Grado C.P. Cervantes Andrés Fernández Escritura 1.A01 2do Grado C.P. Cervantes Andrés Fernández Ingles 1.A01 2do Grado C.P. Quevedo Juan Mendez Lógico 2.B01 1er Grado SEGUNDA FORMAL NORMAL (2FN) TABLA LIBROS TABLA COLEGIO ID_LIBRO LIBRO EDITORIAL 001 Enseñar en Graó 002 Rubio, N56 Rubio 003 Enseñar en Graó 004 Infantil, N9 Prentice Hall 005 Enseñar en Graó 005 Enseñar en Graó 008 Guía Temas de hoy 005 Guía Temas de hoy COLEGIO AULA CURSO C.P. Cervantes 1.A01 1er Grado C.P. Cervantes 1.A01 1er Grado C.P. Cervantes 1.A01 1er Grado C.P. Cervantes 1.B01 1er Grado C.P. Cervantes 1.B01 1er Grado C.P. Cervantes 1.A01 2do Grado C.P. Cervantes 1.A01 2do Grado C.P. Quevedo 2.B01 1er Grado FECHA_PRESTAMO 09/09/2010 05/05/2010 05/05/2010 06/05/2010 06/05/2010 09/05/2010 05/05/2010 18/12/2010 ID_PROFESOR PROFESOR ASIGNATURA/ HABILIDAD 001 Juan Pérez Lógico 001 Juan Pérez Escritura 001 Juan Pérez Numérico 002 Alicia García Especial 002 Alicia García Numérico 003 Andrés Fernández Escritura 003 Andrés Fernández Ingles 004 Juan Mendez Lógico TABLA DOCENTE FECHA_PRESTAMO TERCERA FORMAL NORMAL (3FN) ID_PROFESOR PROFESOR LIBRO EDITORIAL FECHA_PRESTAMO 001 Juan Pérez Enseñar en Graó 09/09/2010 001 Juan Pérez Rubio, N56 Rubio 05/05/2010 001 Juan Pérez Enseñar en Graó 05/05/2010 002 Alicia García Infantil, N9 Prentice Hall 06/05/2010 002 Alicia García Enseñar en Graó 06/05/2010 003 Andrés Fernández Enseñar en Graó 09/05/2010 003 Andrés Fernández Guía Temas de hoy 05/05/2010 004 Juan Mendez Guía Temas de hoy 18/12/2010 TABLA FECHA DE PRESTAMO 4. Dada la relación GASTOS_EMPLEADOS (cod_empleado, cod_viaje, destino, gasto_total) en la que se cumplen las siguientes dependencias funcionales: Cod_empleado → Gasto_total Cod_viaje → Destino Se pide: ¿En qué forma normal se encuentra la relación? ¿Por qué? CLAVE: (Cod_Empleado, Cod_Viaje). ANP: (Gasto_Total, Destino) Sen encuentra en la PRIMERA FORMA NORMAL (1FN) por que se trata de una relación y no está en 2FN (los ANP no dependen totalmente de la clave. Gastos_total depende de Cod_empleado – parte de la clave -). 5. En el siguiente grupo de ejercicios realice el modelo E-R (indique cada uno de las entidades y atributos), normalice (aplique las 3 formas normales) y además realice los scripts de creación de cada una de las bases de datos, de las tablas, utilice los tipos de datos correctos en cada uno de los atributos), defina las llaves primarias, foráneas, los campos obligatorios, además de cualquier otro constraints que necesite definir. PRIMERA FORMAL NORMAL (1FN) Como se observa en la relación no normalizada por cada alumno existen varios cursossección matriculados, cada uno con un docente responsablea quien se le ubica en una oficina determinada. · La principal desventaja de relaciones no normalizadas es que ellas contienen datos redundantes. · Se ve que el curso MA123 puede aparecer varias veces, ¿qué ocurriría si deseamos cambiar el nombre del curso? · Es una relación que contiene sólo valores simples o atómicos en la intersección de cada fila y columna. Esto es, una relación normalizada no contiene grupos repetitivos. · Para la 1FN separamos la relación no normalizada en dos entidades, uno conformada con los grupos no repetitivos y la otra con los grupos repetitivos. – Reporte (codalum, nomalu, espec,codcur,nom_cur,nomdoc, ofic,secc) – Alumno (codalum,nomalu,espec) CursoAlumno (codalum+codcur, nom_cur, nomdoc,ofic,secc). CODIGO ALUMNO NOMBRE Y ALUMNO ESPECIALIDAD 382145A LUIS ZULOAGA INDUSTRIAL 360247K RAUL ROJAS SISTEMAS ALUMNO CODIGO ALUMNO CODIGO CURSO NOMBRE CURSO NOMBRE DOCENTE OFICINA SECCION 382145A MA123 MATEMATICA 2 CARLOS ARAMBULO CB-214 U 382145A QU514 FISICA QUIMICA PETRA RONDINEL CB-110 U 382145A AUS21 DESCRIPTIVA VICTOR MONCADA CB-120 W 360247K PA714 INVESTIGACION 1 CESAR FERNANDEZ SC-220 V 360247K MA123 MATEMATICA 2 CARLOS ARAMBULO CB-214 V 360247K AU511 DIBUJO VICTOR MONCADA CB-120 U CURSOALUNMO SEGUNDA FORMAL NORMAL (2FN) Para eliminar las anomalías de la 1FN, debemos remover las dependencias funcionales parciales. · Una relación está en segunda forma normal si está en 1FN y toda dependencia funcional parcial ha sido removida. · Para convertir una relación con dependencias parciales a 2da. Forma normal (2FN), creamos dos nuevas relaciones, una con atributos que son totalmente dependientes de la clave primaria y la otra con atributos que son parcialmente dependientes de la clave. DETALLE MATRICULA CODIGO ALUMNO CODIGO CURSO SECCION 382145A MA123 U 382145A QU514 U 382145A AU521 W 360247K PA714 V 360247K MA123 V 360247K AU511 U CODIGO CURSO NOMBRE CURSO NOMBRE DOCENTE OFICINA MA123 MATEMATICA 2 CARLOS ARAMBULO CB-214 QU514 FISICA QUIMICA PETRA RONDINEL CB-110 AU521 DESCRIPTIVA VICTOR MONCADA CB-120 PA714 INVESTIGACION 1 CESAR FERNANDEZ SC-220 AU511 DIBUJO VICTOR MONCADA CB-120 CURSO TERCERA FORMAL NORMAL (3FN) · Una relación está en 3ra. Forma normal (3FN) si está en 2FN y no contiene dependencias transitivas. · Esto es, cada atributo no clave es totalmente dependiente de la clave primaria y no existen dependencias transitivas (“ocultas”). CODIGO CURSO NOMBRE CURSO NOMBRE DOCENTE OFICI NA A B C C-------B A C A Dependencia Transitiva CODIGO CURSO NOMBRE CURSO NOMBRE DOCENTE MA123 MATEMATICA 2 CARLOS ARAMBULO QU514 FISICA QUIMICA PETRA RONDINEL AU521 DESCRIPTIVA VICTOR MONCADA PA714 INVESTIGACION 1 CESAR FERNANDEZ AU511 DIBUJO VICTOR MONCADA NOMBRE DOCENTE OFICINA CARLOS ARAMBULO CB-214 PETRA RONDINEL CB-110 CESAR FERNANDEZ SC-220 VICTOR MONCADA CB-120 CURSO DOCENTE 6. Compañía MiniMundo Suponer que, una vez concluida la fase de recolección y análisis de requerimientos de una compañía, los diseñadores de base de datos redactaron la siguiente descripción de la compañía. Según los requerimientos especificados de puedo identificar lo siguiente: · Una entidad es DEPARTAMENTO, con los atributos: Número, nombre, lugares, gerente, y FechaInicioGerente. Lugares es el único atributo multivalorado. Se puede especificar qué Número sea atributo clave. · Otra entidad es PROYECTO, con los atributos: Nombre, Número, Lugar. El atributo Número es atributo clave. · Otra entidad es EMPLEADO, con los atributos: NoPersonal, Nombre, Sexo, Dirección, Salario, FechaNac. No.Personal es atributo clave. 7. Biblioteca Diseñar una base de datos relacional que permita la gestión de préstamos de libros en una biblioteca y, como primer paso, se a desarrollar el diseño conceptual de dicha base de datos, es decir, el modelo E-R. El estudio parte de la forma actual de trabajo de una Biblioteca, la cual cuenta con: · Libros con las características (Código, nombre, tipo, etc.). · Lectores con las características (Nombre, apellidos, domicilio. etc.). · Información de los préstamos de libros que se han efectuado, incluyendo el lector a quien se le ha prestado, la fecha, etc. Además de estos datos, en las conversaciones con los empleados, obtenemos algunas informaciones y comentarios útiles para el diseño que son las siguientes: · De cada libro pueden existir varios ejemplares. · Se está interesado en obtener información sobre el/ los idiomas/ del libro. · Interesa reflejar los temas de los libros, pudiendo cada libro pertenecer a varios temas y/o subtemas · Interesa conocer el nombre de los autores. A partir de esta información se debe obtener el diseño del esquema conceptual, donde se deberá definir los atributos claves de cada entidad e incluir las restricciones de carnalidad y participación. Tomar en cuenta que se debe completar la información mostrada, de tal manera que permita modelar la base de datos de manera lógica y adecuada. 8. Club de Embarcaciones Un club desea tener informatizados los datos correspondientes a sus instalaciones, empleados, socios y embarcaciones que se encuentran en dicho club. El club está organizado de la siguiente forma: · Los socios pertenecientes al club vienen definidos por su nombre, dirección, número de socio, teléfono y fecha de ingreso en el club. · Las embarcaciones vienen definidas por: matricula, nombre, tipo y dimensiones. · Los amarres tienen como datos de interés el número de amarre, la lectura del contador de agua y luz, y si tienen o no servicios de mantenimiento contratados. · Por otro lado, hay que tener en cuenta que una embarcación pertenece a un socio, aunque un socio puede tener varias embarcaciones. Una embarcación ocupará un amarre y un amarre está ocupado por una sola embarcación. Es importante la fecha en la que una embarcación es asignada a un amarre. · Los socios pueden ser propietarios de amarres, siendo importante la fecha de compra del amarre. Hay que tener en cuenta que un amarre pertenece a un solo socio y que NO HAY ninguna relación directa entre la fecha en la que se compra un amarre y en la que una embarcación se asigna a un amarre. · Un club náutico está dividido en varias zonas definidas por una letra, el tipo de barcos que tiene, el número de barcos que contiene, la profundidad y el ancho de los amarres. Una zona tendrá varios amarres y un amarre pertenece a una sola zona. · En cuanto a los empleados, estos vienen definidos por su código, nombre, dirección, teléfono y especialidad. Un empleado está asignado a varias zonas y en una zona puede haber más de un empleado, siendo de interés el número de barcos de los que se encarga en cada zona. Hay que tener en cuenta que un empleado puede o no encargarse de todos los barcos de una zona 9. Hospital General En un centro hospitalario se desea informatizar parte de la gestión relativa pacientes. Tras el análisis realizado, se establecen los siguientes requerimientos: · Los datos de interés que se desea almacenar del paciente son: número de Seguridad Social, CURP, nombre, apellidos y fecha de nacimiento. · Un paciente estará asignado a una cama determinada de una planta del hospital, pudiendo estar a lo largo del tiempo de ingreso en diferentes camas y plantas, siendo significativa la fecha de asignación de cama y el número de esta. Habrá que tener en cuenta que las camas se numeran de manera correlativamente por cada planta, es decir, existirá la cama número 12 de la tercera planta y también la número 12 de la séptima planta. Las plantas del hospital estarán identificadas por número de planta, su nombre y número de que dispone. · Por cada paciente se entregará hasta un máximo de 4 tarjetas de visita. Estas tarjetas de visita serán válidas para visitar un único paciente. La tarjeta de visita se definirá por: número de tarjeta de visita, la horaen que inicia y en la que termina una visita al enfermo. · A un paciente le puede atender varios médicos, siendo significativa por cada visita médica la fecha y hora de ésta. Y un paciente puede tener diferentes diagnósticos de enfermedad, siendo relevante la fecha de diagnóstico. Por otra parte, un médico puede tratar diferentes tipos de diagnósticos y viceversa. · Los datos de interés de los médicos serán: código del médico, nombre y apellidos. Los datos de interés de los diagnósticos serán: código de diagnóstico y descripción. NOTA: una vez dado de alta un paciente se traslada toda la información relativa a éste a un archivo histórico. 10. Agencia de viajes Una cadena de agencias de viajes desea disponer de una base de datos que contemple información relativa al hospedaje y vuelos de los turistas que la contratan. Los datos a tener en cuenta son: · La cadena de agencias está compuesta por un conjunto de sucursales. Cada sucursal viene definida por el código de sucursal, dirección y teléfono. · La cadena tiene contratados una serie de hoteles de forma exclusiva. Cada hotel estará definido por el código de hotel, nombre, dirección, ciudad, teléfono, y número de plazas disponibles. · De igual forma, la cadena tiene contratados una serie de vuelos regulares de forma exclusiva. Cada vuelo viene definido por el número de vuelo, fecha y hora, origen y destino, plazas totales y plazas de clase turista de las que dispone. · La información que se desea almacenar por cada turista es el código de turista, nombre, apellidos, dirección y teléfono Por otra parte hay que tener en cuenta la siguiente información: · A la cadena de agencias le interesa conocer que sucursal ha contratado el turista. · A la hora de viajar el turista puede elegir cualquiera de los vuelos que ofrece la cadena, y en que clase (turista o primera) desea viajar. · De igual manera, el turista se puede hospedar en cualquiera de los hoteles que ofrece la cadena y elegir el régimen de hospedaje (media pensión o pensión completa). Siendo significativa la fecha de llegada y partida. 11. Zoológico Un Zoológico necesita una aplicación informática para llevar una organización respecto a las especies que posee, los empleados (cuidadores y guías), y los distintos itinerarios de visita que ofrece. La información está estructurada de la siguiente manera: · Especies, de las especies se interesa saber el nombre en español, el nombre científico y una descripción general. Hay que tener en cuenta que una especie puede vivir en diferentes hábitats naturales y que un hábitat puede ser ocupado por diferentes especies. Las especies se encuentran en distintas zonas del parque de manera que cada especie está en una zona y en una zona hay varias especies. · Hábitats, los diferentes hábitats naturales vienen definidos por el nombre, el clima y el tipo de vegetación predominantes, así como el continente o continentes en los que se encuentran. · Zonas, las zonas del parque en las que se encuentran las distintas especies vienen definidas por el nombre y la extensión que ocupan. · Itinerarios, los itinerarios discurren por distintas zonas del parque. La información de interés para los itinerarios es código de itinerario, la duración del recorrido, la longitud del itinerario, el máximo número de visitantes autorizado y el número de distintas especies que visita. Hay que tener en cuenta que un itinerario recorre distintas zonas del parque y que en una zona puede ser recorrida por diferentes itinerarios. · Guías, los guías del parque vienen definidos por el nombre, dirección, teléfono y fecha en la que comenzaron a trabajar en el zoo. Interesa saber que guías llevan itinerarios, teniendo en cuenta que un guía puede llevar varios itinerarios y que un itinerario puede ser asignado a diferentes guías en diferentes horas, siendo estás un dato de interés. · Cuidadores, los cuidadores vienen definidos por el nombre, dirección, teléfono y fecha de ingreso en el parque. Hay que tener en cuenta que un cuidador puede estar a cargo de varias especies y que una especie puede ser atendida por varios cuidadores, siendo de interés la fecha en la que un cuidador se hace cargo de una especie.
Compartir