Download trabajo practico nro
Document related concepts
Transcript
Diseño y Administración de Base de Datos Analista de Sistemas de Computación Diseño y Administración de Base de Datos Guía de Trabajos Prácticos INSTITUTO de TECNOLOGÍA O. R. T. Instituto Incorporado a la Enseñanza Oficial (A-763) Analista de Sistemas de Computación Diseño y Administración de Bases de Datos TRABAJO PRACTICO N° 1 INTRODUCCION OBJETIVO: Afianzar los conocimientos básicos que introducen al alumno al estudio de las Bases de Datos, concretamente, saber qué es un SGBD, conocer su estructura, qué características presenta, qué facilidades brinda, qué problemáticas se propone resolver. 1) Explique cada uno de los siguientes componentes de un sistema de base de datos: hard, soft, datos y usuarios. 2) ¿Qué objetivos se persiguen al pasar de un sistema tradicional de archivos a uno de base de datos? 3) ¿Por qué se dice que en una base de datos se consigue la independencia de los datos? ¿Qué es independencia física y lógica? 4) ¿Qué se define en cada uno de los tres niveles de la arquitectura de base de datos: interno, conceptual y externo? 5) ¿Qué ventajas proveen los sistemas de bases de datos comerciales referidas a la protección de la información, a los lenguajes utilizados y a la recuperación ante fallas? 6) ¿Los sistemas de bases de datos controlan la seguridad e integridad de los datos? ¿Cómo? ¿Qué significa que sean a prueba de fallas? 7) ¿Qué información guarda el archivo de LOG o Bitácora y para qué se utiliza? 8) ¿Qué es una transacción? 9) ¿Por qué es necesario realizar el “control de concurrencia” en un sistema de base de datos? Ejemplifique. 10) Mencione y explique brevemente algún método que permita controlar la concurrencia en el sistema. 11) Indique posibles tipos de usuarios de una base de datos. ¿Qué debe conocer cada uno de ellos para poder acceder a la información? 12) ¿Cuáles son las funciones principales del administrador de la base de datos? 13) ¿Cuáles son los componentes de un DBMS? Yatay 240 - Buenos Aires - República Argentina -1- Guía de Trabajos Pràcticos INSTITUTO de TECNOLOGÍA O. R. T. Instituto Incorporado a la Enseñanza Oficial (A-763) Analista de Sistemas de Computación Diseño y Administración de Bases de Datos TRABAJO PRACTICO N° 2 MODELO ENTIDAD RELACION OBJETIVOS: Aplicar las herramientas brindadas por el Modelo Entidad Relación para el diseño de una base de datos, partiendo de una problemática inicial (relevamiento). Transformar estos resultados (DER), al Modelo Relacional. Identificar claves candidatas, primarias y foráneas. Utilizar una herramienta de diseño para la resolución de problemáticas planteadas. 1) Diseñar una base de datos para una organización con las siguientes características: a) Se registran los datos personales de cada empleado, como número de legajo, tipo y número de documento, nombre, dirección, teléfono, fecha de nacimiento, sueldo, y el número y nombre del departamento donde trabaja. b) Algunos empleados son gerentes de departamento. En estos casos, se desea registrar la fecha de inicio en el cargo para cada empleado gerente. Un empleado no puede ser gerente de más de un departamento. c) La organización desarrolla diferentes proyectos, y lleva el registro de los mismos a través de los datos: número de proyecto, nombre de proyecto, descripción y fecha de inicio del proyecto. Cabe señalar que un empleado puede trabajar en varios proyectos. d) Se desea registrar la cantidad de horas semanales (fija) que un empleado trabaja en cada proyecto. e) Un departamento controla varios proyectos, y un proyecto es controlado por un único departamento.Es necesario conocer, por cada departamento la cantidad de proyectos que controla, y también, la cantidad total de empleados que tiene ese departamento. f) Por cada empleado se necesita registrar su edad, y los datos de los familiares-dependientes, como por ejemplo, nombre, fecha de nacimiento, y el parentesco con el empleado. 1.1. Confeccionar el Modelo E/R. 1.2. Mapear el Modelo E/R al Modelo Lógico Relacional. 1.3. Indicar claves candidatas, primarias y foráneas. 2) Modelo E/R: Determinar el modelo E/R para una base de datos de una clínica donde se almacenan los datos de los pacientes y de los médicos. Para cada paciente se lleva además la historia clínica de las consultas y de los distintos análisis realizados. 3) Modelo Lógico: Mapear el modelo E/R obtenido en el punto 2) al Modelo Lógico Relacional y obtener las tablas apropiadas, indicando: a) los atributos, b) las claves (alternativas, primarias y foráneas). 4) Para llevar la información de un supermercado se requieren las siguientes entidades: ⇒ Proveedor: nombre, dirección, etc. ⇒ Artículos: código, nombre, etc. ⇒ Departamento: número, nombre, etc. ⇒ Empleado: nombre, sueldo, etc. ⇒ Director del departamento, como caso especial de empleado ⇒ Clientes: nombre, dirección, deuda,... ⇒ Pedidos: número y fecha. Las asociaciones se establecen entre los siguientes pares de entidades: Yatay 240 - Buenos Aires - República Argentina -2- Guía de Trabajos Pràcticos INSTITUTO de TECNOLOGÍA O. R. T. Instituto Incorporado a la Enseñanza Oficial (A-763) Analista de Sistemas de Computación Diseño y Administración de Bases de Datos ⇒ Proveedores y Artículos: muchos a muchos, incluye precio. ⇒ Departamentos y Artículos: muchos a muchos. ⇒ Departamentos y Empleados: uno a muchos. ⇒ Artículos y Pedidos: muchos a muchos, incluye cantidad. ⇒ Clientes y Pedidos: uno a muchos. a) Confeccionar el Modelo E/R b) Indicar cuáles son las claves para cada entidad y para cada asociación. 5) Modelo Lógico: Mapear el modelo E/R obtenido en el punto 4) al Modelo Lógico Relacional y obtener las tablas apropiadas, indicando: a) los atributos, b) las claves (alternativas, primarias y foráneas). 6) Diseñar una base de datos para la oficina de alumnos de una Universidad, donde se registran los datos necesarios de cada uno de los cursos, que incluyen el nombre del profesor, nombre del alumno, aula, fecha de comienzo y fecha de finalización. Para cada alumno se registra además la calificación final. a) Confeccionar el Modelo E/R b) Mapear el Modelo E/R al Modelo Lógico Relacional. 7) Utilizar una herramienta de diseño para diagramar los ejercicios 2), 4) y 6). ¿Es posible realizar la transformación al Modelo Lógico Relacional en forma automática? Si es posible, hágalo. Yatay 240 - Buenos Aires - República Argentina -3- Guía de Trabajos Pràcticos INSTITUTO de TECNOLOGÍA O. R. T. Instituto Incorporado a la Enseñanza Oficial (A-763) Analista de Sistemas de Computación Diseño y Administración de Bases de Datos TRABAJO PRACTICO N° 3 LENGUAJES DE CONSULTA OBJETIVOS: Utilizar el lenguaje SQL como ejemplo de lenguaje de manipulación de datos, y de lenguaje de definición de datos, para resolver distintas problemáticas. Identificar las restricciones de integridad del Modelo Relacional, en las sentencias de un lenguaje comercial, relacionando conceptos teóricos con resoluciones prácticas. Utilizar un producto que soporte SQL para la resolución de las consultas. 1) Dados los esquemas de relación, EMPLEADO (nro-leg, nombre, domicilio, localidad, pcia, fecha_ingreso, sueldo, codigopostal) PLANTA (nro-planta, descripcion, localidad, pcia) TRABAJA (nro-leg, nro-planta) Resolver las siguientes consultas en SQL: • • SELECT BASICO 1. Listar los datos de todos los empleados 2. Listar el legajo y el nombre de todos los empleados 3. Listar el legajo y el nombre de todos los empleados de Santa Fe 4. Listar el legajo y el nombre de todos los empleados de Bs. As. que hayan ingresado después de 1985 5. Listar el legajo y el nombre de todos los empleados que sean de La Pampa o Bs. As. BETWEEN, LIKE, IS NULL, DISTINCT 6. Listar el legajo, el nombre y el sueldo de los empleados que ganan un sueldo entre $1500 y $2500 7. Listar el legajo, el nombre y el sueldo de los empleados que ganan un sueldo menor a $1500 o mayor a $2500 8. Listar los nombres de los empleados que comiencen con “AVA” 9. Listar los nombres de los empleados que vivan en una calle o avenida llamada “San Martin” 10. Listar los datos de los empleados que en la cuarta letra del nombre tengan una R 11. Listar el legajo y el nombre de los empleados que no tengan registrado el código postal 12. Listar todas las provincias presentes en la tabla EMPLEADO • UNION, IN 13. Listar todas las provincias presentes en la base de datos 14. Listar los datos de los empleados que trabajen en alguna planta 15. Listar los datos de los empleados que no trabajen en ninguna planta 16. Listar los datos de los empleados de Bs. As., Córdoba, Santa Cruz y La Pampa • FUNCIONES DE AGREGACION 17. Listar la cantidad de empleados registrados 18. Listar la suma de todos los sueldos 19. Listar la suma de todos los sueldos de empleados de Neuquén 20. Listar el sueldo máximo Yatay 240 - Buenos Aires - República Argentina -4- Guía de Trabajos Pràcticos INSTITUTO de TECNOLOGÍA O. R. T. Analista de Sistemas de Computación Instituto Incorporado a la Enseñanza Oficial (A-763) Diseño y Administración de Bases de Datos 21. Listar la cantidad de provincias presentes en la tabla EMPLEADO 22. Listar el nombre de los empleados cuyos sueldos son mayores que el promedio de sueldos de todos los empleados 23. Listar el nombre de los empleados cuyos sueldos son mayores que el promedio de sueldos de todos los empleados de Bs. As. • AGRUPAMIENTO 24. Obtener el promedio de sueldos de los empleados, por provincia 25. Obtener el promedio de sueldos de los empleados, por provincia, pero sólo para las provincias cuyo promedio supere los $900 26. Listar por cada planta, el número de planta y la cantidad de empleados que trabajan en ella 27. Listar por cada planta, el número de planta y la cantidad de empleados que trabajan en ella, sólo para las plantas donde trabajen más de 500 empleados • JUNTA NATURAL 28. Listar los nombres de los empleados que trabajen en alguna planta 29. Listar, por cada empleado, su número de legajo, el número de planta donde trabaja, su descripción, y la provincia donde está ubicada 30. Listar, por cada empleado, su número de legajo, su nombre, el número de planta donde trabaja, su descripción, y la provincia donde está ubicada 31. Listar los datos de los empleados que trabajan en la planta de La Plata 32. Listar el número de legajo y el nombre de los empleados que trabajen en una planta que se encuentre en una provincia distinta a la del domicilio del empleado • VARIOS 33. Listar el número de legajo y el nombre de los empleados que trabajen en una planta que se encuentre en una localidad distinta a la del domicilio del empleado, pero en la misma provincia 34. Listar los datos de los empleados que vivan en Bs.As. y trabajen en más de dos plantas 35. Listar la provincia asociada al mayor sueldo promedio 2) Dadas las siguientes tablas, LIBRO (NRO-LIBRO, TITULO, AUTOR, TIPO, PRECIO-ORI, PRECIO-ACT, EDICION, CANT) LECTOR (NRO-LECTOR, NOMBRE, DIRECCION, TRABAJO, SALARIO) PRESTAMO (NRO-LECTOR, NRO-LIBRO, NRO-COPIA, F-PREST) resolver los siguientes ejercicios utilizando SQL: 1. Indicar cuáles son los títulos y autores de los libros que son novelas y sus precios originales superen los $21. 2. ¿Cuáles son los títulos y nombres de los autores de los libros que son novelas o aquellos cuyos precios de origen superan $21? 3. ¿Cuáles son los números, precios originales y ediciones de los libros que son novelas o que sus precios originales superen $21 y las ediciones sean posteriores a 1985? 4. ¿Cuáles son los números, precios originales y ediciones de los libros cuyas ediciones son posteriores a 1985 y además o bien son novelas o el precio original supera $21? 5. Obtener la lista de títulos y precios originales de los libros que se editaron en 1948, 1978 y 1985 6. Obtener los títulos y ediciones de los libros cuyos precios originales estén dentro del rango de $12 a $25 inclusive Yatay 240 - Buenos Aires - República Argentina -5- Guía de Trabajos Pràcticos INSTITUTO de TECNOLOGÍA O. R. T. Analista de Sistemas de Computación Instituto Incorporado a la Enseñanza Oficial (A-763) Diseño y Administración de Bases de Datos 7. Obtener la lista autores y ediciones de los libros cuyos nombres de autores comienzen con la letra G. 8. Obtener la lista de autores, precios originales y ediciones de los libros cuyos autores tengan la hilera "RR" en algún lugar del nombre 9. Obtener la lista de títulos, precios originales y ediciones de aquellos libros cuyos títulos tengan las letras "R" y "S" en algún lugar y en ese orden. 10. Obtener la lista de títulos, precios originales y ediciones de aquellos libros que tengan la letra "A" en la segunda posición del título. 11. Obtener la lista de autores y ediciones de los libros cuyos nombres de autores no comienzen con la letra G. 12. Obtener la lista de títulos y ediciones de aquellos libros cuyos precios originales no estén comprendidos entre $12 y $25. 13. Ordenar en secuencia ascendente por año de edición los títulos de los libros que son novelas. Listar también la edición. 14. Listar los números, ediciones y tipos de libros cuyos precios originales superen los $20. Clasificar por edición en forma descendente y por número de libro ascendente en ese orden. 15. Idem anterior pero ordenado por edición (ascendente) y número de libro (descendente) 16. Obtener la lista de todos los tipos diferentes de libros. 17. Obtener todos los tipos y ediciones de los libros. 18. Idem anterior pero ordenado por año de edición ascendente 19. Listar los números, ediciones, tipos, precios originales, precios actuales y diferencias de precios para todos los libros de estudio. 20. Listar los números, ediciones, tipos, precios originales, precios actuales, calculando la diferencias de precios prorrateada por año desde el año de edición hasta el año 1992 para todos los libros de estudio. 21. Listar los números, ediciones, tipos, precios originales, precios actuales y diferencias de precios para todos los libros cuyas diferencias de precio sean superiores a $10. 22. Listar los números, ediciones, tipos, precios originales, precios actuales y diferencias de precios para todos los libros cuyas diferencias de precio sean superiores a $10, clasificado por dicha diferencia en forma descendente. 23. Listar los números, ediciones, tipos, precios originales, precios actuales y diferencias de precios para todos los libros clasificado por tipo y por dicha diferencia en forma ascendente, en ese orden. 24. Obtener la suma y el promedio de los precios originales y el mínimo y el máximo de los precios actuales para todos los libros cuyao año de edición sea mayor a 1970 25. Obtener la suma de los precios originales y actuales para cada libro y el promedio de dicha suma y el mínimo y el máximo de las diferencias de precios para todos los libros cuyo año de edición sea superior a 1970. 26. Contar la cantidad de libros, los distintos tipos de libros, el mínimo y el máximo del precio original, pero sólo para aquellos libros cuyo precio original supere los $30. 27. Calcular el promedio y el total de los precios actuales de todos los libros, imprimiendo los títulos adicionales "PROMEDIO --->" y "TOTAL --->" en la línea de resúmen. 28. Listar los tipos de libros, totales de precios originales y promedios de precios actuales, de aquellos libros que no fueron editados en 1946, resumidos por tipo de libro. 29. Idem anterior pero clasificado por promedio de precios actuales de menor a mayor. 30. Listar los tipos de libros, totales de precios originales, promedios de precios actuales, resumidos por tipo de libro y para los libros cuyas ediciones no sean de 1946, pero sólo para aquellos tipos de libros cuya sumatoria de precios originales supere $40. 31. Listar los tipos de libros y promedios de precios originales, resumidos por tipo de libro y para los libros cuyas ediciones no sean de 1946, pero sólo para aquellos tipos de libros que tengan más de dos libros cuyas ediciones no sean de 1946. Yatay 240 - Buenos Aires - República Argentina -6- Guía de Trabajos Pràcticos INSTITUTO de TECNOLOGÍA O. R. T. Analista de Sistemas de Computación Instituto Incorporado a la Enseñanza Oficial (A-763) Diseño y Administración de Bases de Datos 32. Obtener los cinco primeros caracteres de los nombres de todos los lectores de libros 33. Para cada préstamo, obtener el número del lector, el número del libro, título y fecha del préstamo (calificar con nombre de tabla) 34. Obtener la lista de los títulos de los libros prestados y los nombres de los lectores que los tienen en préstamo 35. Listar los nombres y la dirección de los lectores que tienen libros a préstamo (usar subconsultas) 36. Listar el número, título y precio original de aquellos libros cuyos precios originales sean más altos que el promedio de precios actuales de todos los libros. 37. Listar el número, título y precio actual del libro que tenga el máximo precio original. 38. Listar los números, títulos y precios originales de aquellos libros cuyos precios originales sean mayores que todos y cada uno de los precios originales de las novelas. 39. Listar los números, títulos y precios originales de aquellos libros cuyos precios originales sean mayores que alguno cualquiera de los precios originales de las novelas. 40. Listar los tipos de libros y promedios de precios originales agrupados por tipos, para aquellos tipos que tengan el promedio de sus precios originales por arriba del promedio de precios originales de todos los libros. 41. Listar aquellos libros (título, tipo y precio original) que tengan sus precios originales mayores que el promedio de los precios originales del tipo al que pertenecen. Porqué no aparece "ju" (juegos)? 42. Listar el número de lector, su nombre y la cantidad de préstamos realizados a ese lector. 43. Listar el número de libro, el título, y la cantidad de préstamos realizados para ese libro a partir del año 1999. 44. Listar el número de libro, el título, el número de copia, y la cantidad de préstamos realizados para cada copia de cada libro. 45. Listar el número de libro, el título, el número de copia, y la cantidad de préstamos realizados para cada copia de cada libro, pero sólo para aquellas copias que se hayan prestado más de 100 veces. 46. Listar los títulos y las fechas de préstamo de todos los libros que hayan estado en préstamo no 3) Utilizar un producto que soporte SQL para resolver las consultas del ejercicio 2), y probarlas con la base de datos del laboratorio. 4) Dada la siguiente sentencia SQL: CREATE TABLE Empleado (nro_leg int, tipo_doc char NOT NULL, num_doc char(8) NOT NULL, nombre varchar(40) NOT NULL, domicilio varchar(30), localidad varchar(20), provincia varchar(20), fecha_ingreso date, sueldo decimal(10,2), Depto_nro int, PRIMARY KEY (nro_leg), UNIQUE (tipo_doc, num_doc), FOREIGN KEY (Depto_nro) REFERENCES Depto (nrod), CHECK sueldo >=400 ) ; a) Indicar en qué cláusulas de la sentencia anterior se expresan las restricciones de integridad del modelo relacional, y explicar además qué significa cada restricción. Yatay 240 - Buenos Aires - República Argentina -7- Guía de Trabajos Pràcticos INSTITUTO de TECNOLOGÍA O. R. T. Instituto Incorporado a la Enseñanza Oficial (A-763) Analista de Sistemas de Computación Diseño y Administración de Bases de Datos b) En la sentencia SQL anterior, ¿todo lo escrito es estrictamente necesario o hay redundancias? Justifique. c) Escribir la sentencia SQL que permita agregar a la tabla Empleado el atributo cod_postal de 8 posiciones. d) Si en la sentencia anterior, la definición del atributo Depto_nro, fuera modificada de la siguiente manera: ... Depto_nro int NOT NULL DEFAULT 1, ... y la cláusula FOREIGN KEY fuera reemplazada por: ... FOREIGN KEY (Depto_nro) REFERENCES Depto (nrod) ON DELETE SET DEFAULT ON UPDATE CASCADE, ¿qué efecto causaría esto en las operaciones sobre la base de datos? ... 5) Escribir las sentencias SQL que generen la base de datos diseñada en el ejercicio 1) del Trabajo Práctico N°2. Yatay 240 - Buenos Aires - República Argentina -8- Guía de Trabajos Pràcticos INSTITUTO de TECNOLOGÍA O. R. T. Instituto Incorporado a la Enseñanza Oficial (A-763) Analista de Sistemas de Computación Diseño y Administración de Bases de Datos TRABAJO PRACTICO N°4 NORMALIZACION OBJETIVOS: Afianzar los conocimientos sobre el por qué de un buen diseño de base de datos, el procedimiento para obtener un buen diseño partiendo de un relevamiento de datos, y las herramientas conceptuales necesarias para lograrlo. Aplicar estos conocimientos para la resolución de problemáticas concretas. 1) ¿Por qué es necesario obtener un buen diseño de base de datos? 2) Dados los siguientes conceptos: . esquemas normalizados . dependencias funcionales . relevamiento de datos . clave primaria . esquemas de relación . formas normales . DER confeccionar un cuadro sinóptico que los relacione y que explique brevemente qué es cada uno. Indicar además, de dónde se parte, qué se obtiene como resultado final, y qué proceso se está describiendo. 3) Definir dependencia funcional y dar un ejemplo. 4) Enunciar todas las formas normales estudiadas, y por cada una, dar un ejemplo de un esquema de relación que no la cumpla, y otro que la cumpla. Justificar. 5) Para el siguiente conjunto de datos: B: agente de bolsa O: oficina I: inversor S: acciones Q: cantidad de acciones que posee cada inversor D: dividendo pagado por las acciones, y conociendo que se cumplen las siguientes dependencias funcionales: S --> D, I --> B, B --> O, IS --> Q a) Encontrar una clave para la relación R=R(BOSQID) b) En qué forma normal se encuentran las relaciones R1=R1(ISQD) y R2=R2(IBO)? c) ¿Qué redundancias y anomalías se presentan en las relaciones del punto b? d) Realizar las proyecciones correspondientes para expresar relaciones en 3FN 6) Para el siguiente conjunto de datos: S: barco T: tipo de barco P: puerto D: día V: identificación del viaje C: carga de un barco en un viaje, y conociendo que se cumplen las siguientes dependencias funcionales: S --> T, V-->SC, SD-->PV a) Encontrar las claves de las relaciones R1=R1(SDPVT) y R2=R2(VSC) b) ¿En qué forma normal se encuentran las relaciones? c) ¿Qué redundancias y anomalías se presentan? d) Realizar las proyecciones correspondientes para expresar las relaciones en 3FN. Yatay 240 - Buenos Aires - República Argentina -9- Guía de Trabajos Pràcticos INSTITUTO de TECNOLOGÍA O. R. T. Instituto Incorporado a la Enseñanza Oficial (A-763) Analista de Sistemas de Computación Diseño y Administración de Bases de Datos 7) Se almacena información sobre una empresa de microómnibus. Los principales datos a almacenar son los siguientes: ⇒ De los Choferes: Nro., Nombre, Antigüedad, etc. ⇒ De los Colectivos: Nro. de Interno, Patente, Dueño, etc. ⇒ De los Horarios: Fecha, Hora de Salida, Hora de llegada, Nro.de Interno, Nro.de chofer, boleteras, etc. ⇒ De los Supervisores: Nro., Nombre, etc. Hipótesis Semánticas: a) Un chofer se puede asignar a distintos micros en distintos horarios. Un micro puede ser conducido por distintos choferes en distintos horarios. Un supervisor verifica la exactitud de las boleteras en distintos puntos del recorrido. Un micro puede ser supervisado varias veces en su recorrido. Confeccionar el diagrama de dependencias funcionales. b) Escribir relaciones en 3FN que representen los datos anteriores. 8) En una empresa se lleva información acerca de los empleados y departamentos: a) Para cada departamento la base contiene un número (único) de departamento, un valor de presupuesto y el número (único) de empleado del administrador del departamento. Para cada departamento se lleva información acerca de todos los empleados que trabajan en él, todos los proyectos asignados al departamento y todas las oficinas ocupadas por el departamento La información de los empleados se compone de un número (único) de empleado, el número del proyecto donde trabaja y sus números de oficinas y de teléfono (único). La información de proyectos contiene el número (único) de proyecto y el valor del presupuesto. La información de las oficinas se compone de un número (único) de oficina y la superficie de la misma. Además para cada empleado se registra su historia en la empresa que contiene el cargo desempeñado, la fecha y el importe de cada salario distinto recibido en ese cargo; y para cada oficina contiene los números de todos los teléfonos de esa oficina. Confeccionar el DER que represente los datos dados agregando las hipótesis que sean necesarias. b) Escribir las relaciones normalizadas a 3FN c) Codifique en SQL las instrucciones necesarias para: c1) Obtener la fecha de ingreso a la empresa de cada uno de los jefes actuales de departamento. c2) Obtener un informe de la cantidad de oficinas asignadas a cada departamento y de la superficie total ocupada por el departamento. c3) Para el departamento liderado por "Juan Pérez" obtener la información de cada uno de los proyectos encomendados siempre que el presupuesto del proyecto sea superior a $5.000.- 9) Dado el siguiente esquema de relación, EXAMEN (nro-libreta, nombre-alumno, dirección, teléfono, cod-materia, nombre-materia, fechaexamen, calificación) y teniendo en cuenta que un alumno rinde muchos exámenes, y que además puede rendir varias veces la misma materia: a) Indicar las dependencias funcionales que se cumplen en el esquema. b) ¿En qué forma normal se encuentra el esquema? ¿Por qué? c) ¿Qué anomalías considera Ud. presenta el diseño? ¿Por qué? Relacione con el punto b). d) Si fuera necesario, lleve el esquema a 3FN, indicando y justificando todos los pasos que ha realizado. e) Si ha resuelto el punto d), los esquemas resultantes, ¿qué anomalías presentan? ¿Por qué? Compare con el diseño original. Yatay 240 - Buenos Aires - República Argentina - 10 - Guía de Trabajos Pràcticos INSTITUTO de TECNOLOGÍA O. R. T. Instituto Incorporado a la Enseñanza Oficial (A-763) Analista de Sistemas de Computación Diseño y Administración de Bases de Datos 10) Resuelva todos los puntos del ejercicio 9), para los siguientes esquemas de relación y compare los resultados entre ambos ejercicios: a) EXAMEN (nro-libreta, nombre-alumno, dirección, teléfono, cod-materia, nombre-materia, fecha-examen, calificación) b) EXAMEN (nro-libreta, nombre-alumno, dirección, teléfono, cod-materia, nombre-materia, fecha-examen, calificación) c) EXAMEN (nro-libreta, nombre-alumno, dirección, teléfono, cod-materia, nombre-materia, fecha-examen, calificación) 11) Dado el siguiente esquema de relación, PROYECTO (nro-proy, descripción, nro-investigador, nombre-investigador, fecha-inicio-proy, fecha-finproy) a) Resolver las consignas del ejercicio 9) sobre el esquema PROYECTO, considerando las siguientes hipótesis semánticas: En cada proyecto trabajan uno o varios investigadores Un investigador sólo puede estar asignado a un único proyecto b) Resolver las consignas del ejercicio 9) sobre el esquema PROYECTO, considerando las siguientes hipótesis semánticas: En cada proyecto trabajan uno o varios investigadores c) Un investigador puede estar asignado a varios proyectos ¿Cómo resolvería los puntos a) y b) para PROYECTO (nro-proy, descripción, nro-investigador, nombre-investigador, fecha-inicio-proy, fecha-fin-proy) d) ¿Cómo resolvería los puntos a) y b) para PROYECTO (nro-proy, descripción, nro-investigador, nombre-investigador, fecha-inicio-proy, fecha-fin-proy) Yatay 240 - Buenos Aires - República Argentina - 11 - Guía de Trabajos Pràcticos INSTITUTO de TECNOLOGÍA O. R. T. Instituto Incorporado a la Enseñanza Oficial (A-763) Analista de Sistemas de Computación Diseño y Administración de Bases de Datos TRABAJO PRACTICO N°5 ESTRUCTURA DE ARCHIVOS Y SISTEMAS OBJETIVOS: Resaltar las características de distintas estructuras de acceso a datos. Distinguir los elementos en las estructuras de árbol B y B+. Comparar ambas estructuras apreciando ventajas y desventajas de cada una. Visualizar la importancia de la altura del árbol en el cálculo del costo de acceso a los datos. 1) ¿Cuándo es preferible usar un índice denso en vez de uno escaso? 2) ¿Cuál es la diferencia entre un índice primario y uno secundario? 3) ¿Cuántos índices de tipo denso pueden definirse sobre una tabla de datos? ¿Por qué? Ejemplifique. 4) ¿Cuántos índices de tipo no denso pueden definirse sobre una tabla de datos? ¿Por qué? Ejemplifique. 5) Diagrame una estructura de árbol B+ de tres niveles, con un máximo de 4 claves de búsqueda por nodo. a) Identifique en el diagrama cada elemento de la estructura. b) Indique cuáles son los pasos para la recuperación de los datos, dada una clave de búsqueda, y utilizando el árbol B+ diagramado. c) Para las mismas claves utilizadas en el árbol B+, diagrame el árbol B correspondiente, y compare ambas estructuras. 6) En forma general, ¿cuántos accesos a disco son necesarios para, dada una clave de búsqueda, y utilizando la estructura de árbol B+, a) recuperar el registro de datos correspondiente a esa clave de búsqueda, que existe en la tabla de datos? b) modificar un dato en el registro de datos correspondiente a esa clave de búsqueda, que existe en la tabla de datos? c) responder que la clave de búsqueda es inexistente? d) realizar un listado de todos los datos, ordenados por clave de búsqueda? e) Responder los puntos desde el a) hasta el d) para el ejemplo del ejercicio 5. 7) Supongamos un archivo de 50.000 registros lógicos de 120 bytes cada uno. El campo de clave primaria utiliza 20 bytes y todos los apuntadores son de 4 bytes. Suponiendo que se utiliza el método de acceso indexado utilizando el sistema de area encadenada y sabiendo que el tamaño de un registro físico (bucket) de 1K bytes, calcular: a) cantidad de registros físicos utilizados por el área primaria de datos b) cantidad de niveles que posee el árbol B+ de índices c) cantidad de registros físicos que ocupa cada uno de los niveles del índice 8) Con el archivo del ejercicio anterior, recalcular los puntos b y c suponiendo que posee un árbol B de índices, en lugar del árbol B+. Yatay 240 - Buenos Aires - República Argentina - 12 - Guía de Trabajos Pràcticos INSTITUTO de TECNOLOGÍA O. R. T. Instituto Incorporado a la Enseñanza Oficial (A-763) Analista de Sistemas de Computación Diseño y Administración de Bases de Datos DISEÑO Y ADMINISTRACIÓN DE BASE DE DATOS Trabajo Práctico Final El presente trabajo práctico consiste en diseñar una base de datos, evitando anomalías, y partiendo de un relevamiento de datos sencillo. El objetivo es integrar los conocimientos adquiridos durante el cuatrimestre en una aplicación concreta. Cada grupo deberá entregar, como parte de la documentación: 1) Enunciado / Relevamiento (será entregado por el profesor oportunamente) 2) DER 3) Modelo Relacional normalizado a 3FN (con justificación) 4) Características del SGBD a utilizar 5) Sentencias ejecutadas para la creación de los esquemas de relación pertenecientes al diseño presentado. Dichas sentencias deben incluir las restricciones de integridad vistas para el Modelo Relacional, permitiendo actualizaciones y eliminaciones en cascada (si lo considera conveniente) 6) Sentencias ejecutadas para la inserción de datos, junto con los datos ingresados. (impresión de tablas) 7) Prueba del funcionamiento de las restricciones de integridad 8) Propuesta de al menos dos consultas sobre las tablas creadas, una con agrupamiento y otra con junta, para lo cual se deberá presentar: el enunciado de la consulta, la resolución y el resultado según los datos cargados 9) Propuesta justificada de creación de índices sobre los esquemas de relación, y sentencia de creación de dicho(s) índice(s) 10) Desarrollo de alguno de los siguientes temas, a) Disparadores (triggers) b) Asertos c) Distintos tipos de junta d) Vistas e) Definición de dominios que incluye una presentación teórica del tema asignado, y luego la aplicación del mismo al problema resuelto en el presente trabajo. Yatay 240 - Buenos Aires - República Argentina - 13 - Guía de Trabajos Pràcticos Diseño y Administración de Base de Datos Ejemplos de Parcial INSTITUTO de TECNOLOGÍA O. R. T. Instituto Incorporado a la Enseñanza Oficial (A-763) Analista de Sistemas de Computación Diseño y Administración de Bases de Datos DISEÑO DE BASE DE DATOS Parcial - Tema 1 1) Nombrar y describir brevemente los componentes principales de un SGBD. 2) Clasificar los distintos tipos de usuarios y definir la función de cada uno. 3) ¿Cuál es el principal objetivo de un SGBD? ¿Qué problemas se propone resolver? 4) Se desea diseñar una base de datos para una empresa de viajes y turismo con las siguientes características: a) Los productos comercializados son paquetes de servicios turísticos que se compran a operadores mayoristas. Es necesario almacenar información sobre los operadores a saber: nombre, domicilio, localidad, país, teléfono, fax, monto de la deuda a pagar por la empresa de viajes y turismo. b) Los paquetes se caracterizan por su código, descripción del recorrido, costo y precio. c) Periódicamente se arman contingentes de pasajeros que toman un mismo conjunto de paquetes. Los datos del contingente son: nombre, nombre del guía, fecha de partida, duración, cupo máximo, cantidad de pasajeros. d) Por cada pasajero se almacena su nombre, nro. de pasaporte, nacionalidad , edad, sexo. e) Un contingente puede estar compuesto por uno o más paquetes, y un paquete puede estar programado en varios contingentes en fechas diferentes. f) Cada paquete pertenece a un único operador. g) Cada pasajero participa a lo sumo de un contingente. Se pide: 4.1. Realizar el DER correspondiente, aclarando todas las suposiciones que sean necesarias y que no contradigan el enunciado. 4.2. Convertir el diagrama del punto 4.1. al modelo relacional. 4.3. Para cada esquema definir las claves primaria, candidatas y foráneas, y las dependencias funcionales que se cumplan. 4.4. Decir en qué forma normal se encuentra cada esquema y justificar. 4.5. Expresar todas las relaciones en 3FN. 4.6. Defina los índices que crea conveniente sobre los esquemas del punto 4.5., justificando su elección. 5) Dadas las relaciones CIUDAD(nroC, nombreC, cant_habitantes) PROYECTO(nroP, nombreP, categoría) DESARROLLADO_EN(nroP, nroC) resolver las siguientes consultas en SQL: a) Listar los proyectos ordenados por nombre de proyecto, y que pertenezcan a la categoría “A”, o que perteneciendo a cualquier categoría se desarrollen en la ciudad de Córdoba. b) Listar los nombres de las ciudades que tengan más de 10 proyectos en desarrollo. Yatay 240 - Buenos Aires - República Argentina -2- Ejemplos de parcial INSTITUTO de TECNOLOGÍA O. R. T. Instituto Incorporado a la Enseñanza Oficial (A-763) Analista de Sistemas de Computación Diseño y Administración de Bases de Datos DISEÑO DE BASE DE DATOS 1° Parcial - Tema 2 1) ¿Cuáles son los objetivos de un SGBD? 2) ¿En qué consiste cada uno de los tres niveles distinguibles en un SGBD? 3) ¿Cuántos índices no denso puede tener como máximo un archivo? Justificar. 4) Se desea diseñar una base de datos para una empresa de viajes y turismo con las siguientes características: a) Los productos comercializados son paquetes de servicios turísticos que se caracterizan por su código, descripción del recorrido, costo y precio. b) Periódicamente se arman contingentes de pasajeros que toman un mismo conjunto de paquetes. Los datos del contingente son: nombre, nombre del guía, fecha de partida, duración, cupo máximo, cantidad de pasajeros. c) Por cada pasajero se almacena su nombre, nro. de pasaporte, nacionalidad , edad, sexo. Se desea registrar el titular de cada grupo familiar y el parentesco de cada pasajero con el mismo. d) Se emite una factura por cada pasajero titular registrado en la base de datos. No olvidar que cada factura puede tener varios renglones con la descripción, cantidad, precio unitario, y precio total por cada item facturado. e) Un contingente puede estar compuesto por uno o más paquetes, y un paquete puede estar programado en varios contingentes en fechas diferentes. f) Cada pasajero puede participar en varios contingentes. Se pide: 4.1. Realizar el DER correspondiente, aclarando todas las suposiciones que sean necesarias y que no contradigan el enunciado. 4.2. Convertir el diagrama del punto 4.1. al modelo relacional. 4.3. Para cada esquema definir las claves primaria, candidatas y foráneas, y las dependencias funcionales que se cumplan. 4.4. Decir en qué forma normal se encuentra cada esquema y justificar. 4.5. Expresar todas las relaciones en 3FN. 4.6. Defina los índices que crea conveniente sobre los esquemas del punto 4.5, justificando su elección. 5) Dadas las relaciones CIUDAD(nroC, nombreC, cant_habitantes) PROYECTO(nroP, nombreP, categoría) DESARROLLADO_EN(nroP, nroC) resolver las siguientes consultas en SQL: a) Listar el nombre de los proyectos que se desarrollan en más de dos ciudades, ordenados por categoría de mayor a menor. b) Listar el nombre de las ciudades en las que se desarrolle algún proyecto de categoría “A”, y que además tengan una población entre 500.000 y 1.000.000 de habitantes. Yatay 240 - Buenos Aires - República Argentina -3- Ejemplos de parcial INSTITUTO de TECNOLOGÍA O. R. T. Instituto Incorporado a la Enseñanza Oficial (A-763) Analista de Sistemas de Computación Diseño y Administración de Bases de Datos DISEÑO DE BASE DE DATOS Parcial - Tema 1 1) Definir y explicitar las características principales de Base de Datos y Sistema de Gestión de Base de Datos. 2) Indicar qué significan cada uno de los siguientes puntos: a) RID en la implementación de páginas con ranuras. ¿Qué ventajas presenta? b) Independencia de datos c) Instancia y Esquema 3) ¿Qué función cumple la estructura de árbol B+ en un SGBD? Describa sus componentes y mencione ventajas y desventajas. 4) Se desea diseñar una base de datos para una empresa de alquiler de embarcaciones con las siguientes características: d) La empresa alquila embarcaciones a clientes por una determinada tarifa. De cada embarcación se desea registrar su patente, bandera, denominación y tipo. e) Es necesario almacenar información de los clientes y de los alquileres, teniendo en cuenta que el importe total de cada alquiler incluye, además de la tarifa de la embarcación, un monto adicional correspondiente al equipo de consumo (como toallas, artículos de tocador, y provisiones en general) diferente para cada alquiler. Es importante registrar también el período del alquiler (fecha_desde y fecha_hasta), para saber qué embarcaciones están disponibles en cada momento. f) La empresa no posee barcos propios, sino que los alquila a nombre de los propietarios que desean obtener ingresos cuando no usan sus botes. Por este servicio la empresa le cobra una cuota por embarcación a cada propietario (de cada embarcación se registra un único propietario). g) Por cada propietario se desean almacenar sus datos personales incluyendo su tipo y número de documento, un código identificatorio dentro de la empresa, y la cantidad de barcos que tiene actualmente en alquiler. h) Se realiza un contrato con cada propietario y por cada embarcación, en el que se especifican todos los procesos y costos referentes al mantenimiento. El contrato posee un número identificatorio, el texto correspondiente y una fecha de vencimiento. Se pide: 4.1) Realizar el DER correspondiente, aclarando todas las suposiciones que sean necesarias y que no contradigan el enunciado. 4.2) Convertir el diagrama del punto anterior al modelo relacional, e indicar claves candidatas, primarias y foráneas. 5) Dado el siguiente esquema de relación, indicar las dependencias funcionales que se cumplen en el mismo, las claves candidatas y clave primaria. Indicar, además, en qué forma normal se encuentra el esquema, justificando la respuesta, y si es necesario, normalizar a 3FN. SOCIO(nro_socio, nombre, dirección, tel, cod_deporte, nombre_deporte, arancel) Hipótesis semánticas: Un socio puede realizar varios deportes; el socio paga un arancel por cada deporte realizado; los valores de los atributos nro_socio, cod_deporte y nombre_deporte no se repiten. 6) Dadas las relaciones PRODUCTO(fabricante, modelo) PC(modelo, velocidad, ram, hd, cd, precio) resolver las siguientes consultas en SQL: a) Listar la cantidad de modelos de computadoras personales (PC) por fabricante, teniendo en cuenta sólo los que fabrican más de 3 (tres) modelos distintos. b) Listar el o los modelos de PC de máximo precio. Yatay 240 - Buenos Aires - República Argentina -4- Ejemplos de parcial INSTITUTO de TECNOLOGÍA O. R. T. Instituto Incorporado a la Enseñanza Oficial (A-763) Analista de Sistemas de Computación Diseño y Administración de Bases de Datos DISEÑO DE BASE DE DATOS Parcial - Tema 2 1) Comparar las características de un SGBD con un sistema de archivos convencional. 2) Indicar qué significan cada uno de los siguientes puntos: a) Niveles de abstracción b) LDD y LMD c) Anomalías de actualización, inserción y borrado. 3) ¿Qué función cumple la estructura de árbol B en un SGBD? Describa sus componentes y mencione ventajas y desventajas. 4) Se desea diseñar una base de datos para una empresa de alquiler de embarcaciones con las siguientes características: a) La empresa alquila embarcaciones a clientes por una determinada tarifa. De cada embarcación se desea registrar su patente, bandera, denominación y tipo. b) Se tiene registro de itinerarios fijos que cada embarcación puede realizar, a saber: identificación de itinerario, descripción, condiciones climatológicas habituales, época del año recomendada para cada embarcación en particular. c) Es necesario almacenar información de cada cliente (datos personales y cuántos alquileres ha realizado), y de los alquileres, como el importe total, que depende del período del alquiler (fecha_desde y fecha_hasta). d) La empresa no posee barcos propios, sino que los alquila a nombre de los propietarios que desean obtener ingresos cuando no usan sus botes. Por este servicio la empresa le cobra una cuota por embarcación a cada propietario (de cada embarcación se registra un único propietario). e) Por cada propietario se desean registrar sus datos personales, incluyendo su tipo y número de documento y un código identificatorio dentro de la empresa. Se pide: 4.1) Realizar el DER correspondiente, aclarando todas las suposiciones que sean necesarias y que no contradigan el enunciado. 4.2) Convertir el diagrama del punto anterior al modelo relacional, e indicar claves candidatas, primarias y foráneas. 5) Dado el siguiente esquema de relación, indicar las dependencias funcionales que se cumplen en el mismo, las claves candidatas y clave primaria. Indicar, además, en qué forma normal se encuentra el esquema, justificando la respuesta, y si es necesario, normalizar a 3FN. SOCIO(nro_socio, nombre, dirección, tel, cod_categoría, descrip_categoría, nro_cuota, fecha, importe) Hipótesis semánticas: Un socio pertenece a una única categoría; un socio paga varias cuotas por año; los valores de los atributos nro_socio y cod_categoría no se repiten. 6) Dadas las relaciones PRODUCTO(fabricante, modelo) PC(modelo, velocidad, ram, hd, cd, precio) resolver las siguientes consultas en SQL: a) Listar el o los modelos de PC de velocidad mínima. b) Listar el o los fabricantes de computadoras personales (PC), que fabriquen algún modelo con precio mayor al de todas las PC’s con velocidad mayor a 133 Mhz. Yatay 240 - Buenos Aires - República Argentina -5- Ejemplos de parcial