1. Servicio de asesoría y resolución de ejercicios ciencias_help@hotmail.com
www.maestronline.com
Solicita una cotización a través de nuestros correos.
Maestros Online Base de datos Apoyo en ejercicios
Servicio de asesorías y solución de ejercicios
Ciencias_help@hotmail.com
2. Servicio de asesoría y resolución de ejercicios ciencias_help@hotmail.com
www.maestronline.com
Ejercicio 1 Instrucciones: Las bases de datos han evolucionado con el paso del tiempo como respuesta a las necesidades de mejora en el diseño, manipulación y recuperación de datos. En la actualidad, los sistemas de bases de datos relacionales son los que brindan la mayor eficiencia teniendo como base estos factores. 1. Investiga en fuentes confiables de información las ventajas y desventajas de los sistemas basados en archivos y el modelo de base de datos relacional. 2. Identifica los beneficios que brindan las bases de datos relacionales sobre los sistemas de archivos. 3. Busca en la Biblioteca Digital o en sitios reconocidos y confiables, un caso de éxito donde la implementación de sistemas de bases de datos haya sido un factor atenuante para mejorar los procesos de negocio una empresa real, contestando las siguientes preguntas: o ¿Cuáles eran los problemas de los procesos antes de la implementación de la base de datos? o ¿Qué DBMS seleccionaron para mejorar sus procesos? o ¿Qué productos ayudaron a resolver los problemas de la organización?, explica la solución a cada problema. 4. Busca un proveedor de DBMS alterno que la organización podría haber seleccionado para lograr sus objetivos de mejora, fundamenta por qué consideras que también hubiera sido una buena opción. 5. Elabora un reporte con los resultados de tu investigación e incluye en tus conclusiones la importancia que tiene para las organizaciones contar con bases de datos.
Ejercicio 2 Instrucciones: Analiza la relación de la figura 1, describe e ilustra el proceso de normalización de la tabla hasta la tercera forma normal (3NF). Define cualquier suposición acerca de los datos mostrados en la tabla. Figura 1: Detalles de facturas de mantenimiento para bancos en el estado de Puebla. Ejercicios: 1. Convierte la relación a primera forma normal (1NF) eliminando los grupos repetidos y muestra la tabla resultante. 2. Crea un diagrama de dependencias funcionales identificando la llave primaria, llaves candidatas, dependencias parciales y dependencias transitivas (servirá de apoyo a los
3. Servicio de asesoría y resolución de ejercicios ciencias_help@hotmail.com
www.maestronline.com
siguientes pasos del proceso de normalización). 3. Convierte la relación resultado del ejercicio 1 a segunda forma normal (2NF) eliminando todas las dependencias parciales y muestra las relaciones resultantes. 4. Convierte las relaciones del ejercicio 3 a tercera forma normal (3NF) eliminando las dependencias transitivas y muestra las relaciones resultantes. 5. Muestra los resultados finales seleccionando los nombres apropiados para cada relación, subraya los campos que fungirán como llaves primarias de cada relación e identifica las llaves foráneas (para aquellas que aplique). Ejemplo: Concierto(idArtista, fechaConcierto, numConcierto) Llaves foráneas: idArtista
Ejercicio 3 Instrucciones: 1. Genera un diagrama entidad-relación teniendo como base los siguientes requerimientos de negocio de un hospital: o El hospital contrata médicos de planta y médicos por contrato (ambos son médicos). o Un departamento contrata muchos médicos, pero cada médico sólo pertenece a un departamento. o Una división dirige muchos departamentos, pero cada departamento es dirigido sólo por una división. o Un médico puede asignarse a muchos pacientes y un paciente puede consultar a muchos médicos. o Un paciente debe tener asignado mínimo a un médico. o Uno de los médicos es director de cada departamento y cada departamento es liderado solamente por un médico. o Todos los médicos tienen un jefe que también es un médico. 2. Selecciona los atributos de cada entidad como consideres conveniente, identificando las llaves primarias. Analiza si existen algunas relaciones que puedan tener atributos, de ser necesario agrégalos en el modelo. 3. Identifica en el diagrama las cardinalidades de cada una de las relaciones y escribe las formas de lectura de ambos lados de la relación. También identifica si las relaciones uno-a- uno y uno-a-muchos son obligadas o no obligadas. 4. Finalmente, en base a tu ERD, genera los siguientes diagramas de red semántica: a. Un diagrama ejemplo de uno-a-uno. b. Un diagrama ejemplo de uno-a-muchos. c. Un diagrama ejemplo de muchos-a-muchos. Nota: Para cada diagrama identifica el atributo llave de las entidades y genera datos simulados para mostrar los ejemplos de las ocurrencias de relación.
Ejercicio 4 Instrucciones: Un videoclub ha solicitado un sistema para llevar el control de la renta de películas, clientes, membresías y sucursales. Debido a que el diseñador de bases de datos tuvo que realizar un viaje de último momento y no pudo traducir su diseño lógico a físico, se te ha solicitado
4. Servicio de asesoría y resolución de ejercicios ciencias_help@hotmail.com
www.maestronline.com
completar esta tarea. La figura 1 muestra el ERD del sistema del videoclub. Para ver la imagen en grande, haz clic aquí. Figura 1 Diagrama entidad-relación para sistema de videoclub. 1. Transforma el ERD a un diagrama de bases de datos físico a manera de tablas relacionales utilizando MySQL Workbench especificando: o Las tablas y sus relaciones. o La identificación de llaves primarias. o La identificación de llaves foráneas. o Los atributos obligatorios y nulos (si aplica) de cada tabla. 2. Exporta tu modelo relacional a imagen y colócalo en tu reporte. 3. Especifica las relaciones resultantes de cada elemento del ERD mostrando las llaves primarias con subrayado simple y las llaves foráneas con doble subrayado. Ejemplo entidad (llave_primaria, atributo1, atributo2, atributoN, llave_foranea) 4. Justifica tus resultados explicando para cada transformación la elección de llave primaria, llaves foráneas, campos obligatorios y campos nulos. 5. Entregables: a. Un reporte en Word con lo solicitado en la actividad.
5. Servicio de asesoría y resolución de ejercicios ciencias_help@hotmail.com
www.maestronline.com
b. Un archivo de MySQL Workbench con el diagrama relacional.
Ejercicio 5 Instrucciones: Analiza detalladamente las siguientes relaciones: Para cada uno de los siguientes ejercicios, escribe la operación en álgebra relacional y la relación
6. Servicio de asesoría y resolución de ejercicios ciencias_help@hotmail.com
www.maestronline.com
resultante. Ejercicios: 1. Listar los nombres de todas las personas que hayan nacido después de 1972. 2. Listar la calle, número y colonia de las direcciones de Mex. 3. Listar las direcciones de todas las personas de sexo femenino. 4. Listar los números y tipo de teléfono de las claves lada 222. 5. Listar los teléfonos de todas las personas que no vivan en el estado de Pue. 6. Listar los teléfonos y ladas de todas las personas que no se apelliden Perez. 7. Listar todas las personas que tengan un teléfono celular.
Ejercicio 6 Instrucciones: Una empresa del giro de salud te ha seleccionado por tus amplios conocimientos en bases de datos y te ha contratado para fungir como consultor DBA del proyecto de desarrollo de su nuevo sistema. El equipo de sistemas del proyecto te ha resumido los siguientes requerimientos relacionados con la base de datos: a. La base de datos deberá ser fácil de reestructurar. b. El sistema soportará usuarios médicos, administrativos y pacientes, por lo que deberá permitir el uso de mecanismo de vistas. c. Por la sensibilidad de los datos de los pacientes, es primordial que la base de datos permita rutinas de encriptación. d. El sistema será implementado en todos los hospitales del país, por lo que deberá soportar una gran cantidad de usuarios. e. Es deseable que tenga buena seguridad y mecanismos de autorización. f. Es muy importante que la base de datos tenga mecanismos de respaldo y recuperación en caso de desastres. g. Es prioritario que el proveedor brinde servicio de soporte de administración de la base de datos. h. El sistema será distribuido, es importante que la base de datos provea herramientas de desarrollo web. i. Los altos directivos NO están dispuestos a invertir en software de licenciamiento por derechos. j. La posibilidad de actualizaciones de nuevas versiones es considerado un extra. El proceso de selección del RDBMS ya ha iniciado; el equipo de proyecto te ha comunicado que deberán evaluar los siguientes productos: DB2 Express-C. MySQL Community Server. Deberás realizar los pasos 3 y 4 del proceso de selección a través de las siguientes especificaciones: 1. Selecciona los grupos de evaluación y los elementos que deberás tomar en cuenta para el paso 3 del proceso.
7. Servicio de asesoría y resolución de ejercicios ciencias_help@hotmail.com
www.maestronline.com
2. Asigna los pesos de los grupos justificando tu decisión (recuerda que la suma de los pesos debe ser igual a 100%). 3. Realiza una investigación de las características de cada producto a evaluar y genera las tablas de cada grupo para ambos manejadores. Por ejemplo, si seleccionaste 3 grupos, entonces deberás generar 6 tablas (3 por cada manejador evaluado). 4. Asigna el rating y calcula las calificaciones por cada elemento de cada grupo. 5. Calcula la calificación final de cada grupo para cada manejador. 6. Genera un reporte de evaluación que contenga: a. Tabla de reporte consolidado de evaluación. b. Gráfica de comparación de rating de características entre los manejadores. c. Gráfica de evaluación final. 7. Reflexiona sobre tus resultados y agrega en tu reporte la recomendación de adquisición del RDBMS.
Ejercicio 8 Instrucciones: 1. Busca en la Biblioteca Digital 2 artículos que hablen sobre la importancia del uso de estándares internacionales en el ámbito de las Tecnologías de Información. 2. Utilizando la explicación del tema 8 reflexiona sobre la siguiente pregunta: ¿Cuáles serían las dificultades de mantenimiento y tratamiento de las bases de datos si no existieran estándares como SQL en la actualidad?
Ejercicio 9 Instrucciones: 1. Piensa en 4 tablas que sean de utilidad para un sistema de viajes. Además, reflexiona y elige los atributos que debe tener cada una de las tablas (mínimo 5 atributos por tabla). 2. Utilizando MySQL crea una base de datos llamada “viajes”. 3. Genera las 4 tablas y configura sus llaves primarias; además, define aquellos atributos que puedan tener valores nulos. 4. Inserta 10 tuplas en cada una de las tablas. 5. Selecciona una de las tablas y agrega un nuevo atributo utilizando la instrucción ALTER. Coloca este nuevo atributo entre el segundo y tercer atributo de la tabla actual. 6. En la tabla modificada en el punto anterior agrega 5 tuplas más. 7. Elimina una de las tablas utilizando la instrucción DROP. Genera un reporte en donde expliques detalladamente cada uno de los pasos descritos en la actividad. Sustenta tu reporte con capturas de pantalla a manera de evidencia.
Ejercicio 10 Instrucciones: 1. Piensa en 4 tablas que sean de utilidad para un sistema de vuelos. Además, reflexiona y elige los atributos que debe tener cada una de las tablas (mínimo 5 atributos por tabla). 2. Utilizando MySQL crea una base de datos llamada “vuelos”. 3. Genera las 4 tablas y configura sus llaves primarias, además define también aquellos
8. Servicio de asesoría y resolución de ejercicios ciencias_help@hotmail.com
www.maestronline.com
atributos que puedan tener valores nulos. 4. Inserta 10 tuplas en cada una de las tablas. 5. Piensa en 10 consultas que recuperen datos interesantes que tengan sentido para el sistema. Cuando menos 3 de ellas deben implicar el uso de joins. Además, una de ellas deberá utilizar las instrucciones GROUP BY, HAVING y ORDER BY. 6. Utilizando la instrucción UPDATE, modifica 5 tuplas de una de las tablas. 7. Elimina los datos de una de las tablas con base en una restricción y utilizando la instrucción DELETE. Genera un reporte en donde expliques detalladamente cada uno de los pasos descritos en la actividad. Sustenta tu reporte con capturas de pantalla a manera de evidencia. Para el punto 5 justifica la necesidad de la consulta; para aquellas que utilicen joins identifica y sustenta por qué aplicaste ese tipo de join.
Ejercicio 11 Instrucciones: 1. Piensa en 4 tablas que sean de utilidad para un sistema de vuelos. Además, reflexiona y elige los atributos que debe tener cada una de las tablas (mínimo 5 atributos por tabla). 2. Utilizando MySQL crea una base de datos llamada “vuelos”. 3. Genera las 4 tablas y configura sus llaves primarias, además define también aquellos atributos que puedan tener valores nulos. 4. Inserta 10 tuplas en cada una de las tablas. 5. Selecciona 10 funciones nativas de MySQL que puedan ser útiles para manipular los datos del sistema. 6. Piensa en 3 subqueries que permitan recuperar datos interesantes que puedan tener sentido para el sistema. 7. Piensa en dos posibles perfiles de usuario que puedan necesitar un reporte como resultado de la consulta de dos o más tablas. 8. Crea dos vistas para generar los reportes de los usuarios identificados en el inciso anterior. Genera un reporte en donde expliques detalladamente cada uno de los pasos descritos en la actividad. Sustenta tu reporte con capturas de pantalla a manera de evidencia. Para el punto 6 justifica la necesidad de cada consulta e identifica qué tipo de subquery utilizaste. Asimismo, justifica la elección de los roles de usuario del punto 7 y explica por qué cada uno de ellos necesita conocer los datos que incluiste en las vistas.
Ejercicio 12 Instrucciones: 1. Piensa en 4 tablas que sean de utilidad para un sistema de vuelos. Además reflexiona y elige los atributos que debe tener cada una de las tablas (mínimo 5 atributos por tabla). 2. Reflexiona sobre las siguientes preguntas en el contexto del sistema de vuelos: a. ¿Qué requerimiento podría necesitar la creación de una función? b. ¿Qué necesidad podría requerir la creación de una función con declaración compuesta? c. ¿En qué requerimientos podrían utilizarse stored procedures y qué tipos de parámetros requerirían? d. ¿Qué requerimiento podría satisfacerse a través de una función o stored procedure que utilice un cursor? e. ¿Qué necesidad podría cubrirse a través de la aplicación de uno o más triggers?
9. Servicio de asesoría y resolución de ejercicios ciencias_help@hotmail.com
www.maestronline.com
f. ¿Qué proceso del sistema de vuelos podría realizarse aplicando transacciones de bases de datos? 3. Genera un reporte en donde contestes cada una de las preguntas planteadas y justifica detalladamente tu elección. Para cada pregunta genera el pseudocódigo de SQL que contenga las instrucciones para satisfacer los requerimientos identificados.
Ejercicio 13 Instrucciones: Esta actividad tiene como objetivo que aprendas características más detalladas de Oracle Reports. 1. Descarga el archivo de documentación técnica de Oracle Reports dando clic aquí. 2. Analiza la lectura e identifica los conceptos más importantes sobre las características técnicas de Oracle Forms. 3. Realiza un resumen de la lectura.
Instrucciones Avance del proyecto: Una asociación de soccer necesita un sistema para guardar y mantener la información de los torneos, partidos, y los registros y jugadores que participan en los torneos. Debido a tus amplios conocimientos en bases de datos, has sido seleccionado para fungir como DBA del proyecto. Después de una serie de entrevistas con el cliente, el analista de sistemas identificó los siguientes requerimientos de negocio: Los sistemas actuales de la organización se encuentran implementados utilizando DB2 Express-C. Es necesario almacenar la información de los torneos. Ten en cuenta los siguientes datos: o Cada torneo tiene un nombre. o Los torneos pueden ser de partidos oficiales o amistosos. o Es necesario mantener la información del equipo vencedor de cada torneo. o Cada torneo se compone de un número de rondas. o Una ronda puede tener muchos partidos. Para participar en un torneo, un equipo debe llenar un registro. Considera que: o Cada equipo se compone de al menos 22 jugadores. o Cada equipo tiene un director técnico y un entrenador. o El número de registro del equipo es asignado por la persona encargada de llevar la administración de inscripciones al torneo. o Cada jugador tiene un número de registro independiente de su registro como equipo. o Si un equipo participa en diferentes torneos, entonces tendrá un número de
10. Servicio de asesoría y resolución de ejercicios ciencias_help@hotmail.com
www.maestronline.com
registro distinto para cada torneo. o Al llenar el registro, el director técnico escribe la información del nombre del torneo en el que desea participar, y los nombres de todos los jugadores. Es necesario almacenar la información de los partidos, cuyas características se describen a continuación: o Cada partido pertenece a una ronda de un torneo. o Se necesita mantener el marcador final del partido. o Se debe guardar el ganador y el perdedor del partido. o Un equipo puede perder en casos especiales por diversas razones (no se presentaron al menos 11 jugadores para el partido o durante el curso del partido acumulan más de 5 expulsiones). o Si un equipo se retira, entonces debe mantenerse la información de la razón de retirada. Es necesario almacenar la información de los jugadores en los partidos, particularmente en los siguientes casos: o Para cada jugador se debe llevar el conteo de goles por partido. o Para cada jugador se debe llevar el conteo de faltas cometidas en el juego. Teniendo en cuenta lo anterior, realiza lo siguiente: 1. Identifica las entidades necesarias para crear correctamente la base de datos. 2. Identifica los atributos de las entidades y su dominio. 3. Identifica las llaves primarias y foráneas de cada una de las entidades. 4. Identifica las relaciones existentes entre las diversas entidades. 5. Diseña el diagrama Entidad-Relación que represente la base de datos. 6. Analiza el diagrama generado y asegúrate que el nivel de normalización sea adecuado y, en caso de ser necesario, realiza los ajustes pertinentes para que la forma de normalización de las tablas no sea menor a 2NF. Es deseable que la base de datos esté en 3NF. 7. Redacta una justificación que describa por qué decidiste relacionar las entidades de la manera en que lo hiciste en la fase del diseño del modelo de datos lógico. 8. Utilizando una herramienta computacional realiza el diagrama relacional de la base de datos, aplicando las nomenclaturas aprendidas a lo largo del curso. 9. Traduce el diagrama generado en el paso anterior a un diagrama de tablas relacional. 10. Utilizando MySQL Workbench genera el diseño de base de datos físico del paso 8, respetando los tipos de datos identificados en tus atributos. 11. Redacta una justificación de la traducción del diagrama utilizando las reglas aprendidas durante el curso. Entrega del proyecto: Para esta fase de tu proyecto, procederás a generar la base de datos física. Asegúrate de recolectar la evidencia necesaria, a través de copias de pantallas, para justificar que todos los pasos se realizaron correctamente (ejecutar la instrucción DESCRIBE para justificar los atributos de una tabla y sus tipos de datos, ejecutar la instrucción SELECT para mostrar todos los datos de prueba de una tabla, etc.). 1. Genera la base de datos “soccer” en DB2 Express-C. 2. Utilizando el diagrama relacional que generaste, crea todas las tablas de la base de datos. 3. Configura las llaves primarias y foráneas de cada una de las tablas. 4. Tomando en cuenta las especificaciones del paso 5 de tu avance, llena la base de datos con datos de prueba.
11. Servicio de asesoría y resolución de ejercicios ciencias_help@hotmail.com
www.maestronline.com
5. Utiliza la base de datos y genera el código para obtener las siguientes consultas: NOTA: Para cada consulta deberás mostrar el código SQL y una copia de pantalla del resultado. a. El número de partidos que ha perdido el equipo Azul. b. Los equipos ganadores de la tercera ronda del torneo Copa Dorada y sus entrenadores. c. Los nombres de los torneos en los que ha jugado Ed Smith. d. Los marcadores de los partidos de las segundas rondas de todos los torneos con el nombre del torneo al que pertenece cada partido. e. Los números de registro de los participantes inscritos en el torneo Copa Dorada. f. El número de goles que ha marcado Lou Markson. g. Todos los jugadores (nombre y apellido) del torneo Copa del Rey, ordenados por nombre. h. Todos los equipos que se han retirado de un partido y la razón por la que se retiraron. i. Todos los jugadores (nombre y apellido) y los nombres de los torneos en los que han participado. j. Todos los nombres de los torneos y su cantidad de rondas. k. Número de faltas cometidas por el equipo Amarillo en el torneo Copa Dorada. 6. En la sección de resultados, redacta una reflexión guiada por las siguientes preguntas: a. ¿Cómo el modelo Entidad-Relación es útil para generar bases de datos normalizadas? b. ¿Cuál es la importancia del uso del lenguaje SQL para la definición y manipulación de datos? c. ¿Por qué piensas que la asociación de soccer seleccionó el RDBMS DB2 Express-C en lugar de otra de las herramientas existentes? d. Imagina que para hacer este proyecto hubieras pasado directamente de los requerimientos a la codificación en DB2 Express-C. ¿Consideras que hubieras implementado una solución eficiente en menos tiempo? e. ¿Qué aportó la elaboración de este proyecto a tu preparación profesional?