1. Servicio de asesoría y resolución de ejercicios ciencias_help@hotmail.com
www.maestronline.com
Pide una cotización a 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
Actividad integradora 1 Instrucciones: Una institución educativa ha solicitado un sistema para llevar el control de los alumnos, profesores, materias y cursos. Debido a tus amplios conocimientos en bases de datos, se te ha asignado la tarea de generar los diseños de bases de datos lógico y físico que se adapten a las necesidades del cliente. El analista de sistemas que entrevistó al cliente te ha entregado los siguientes requerimientos como resultado del análisis. Los alumnos y profesores comparten las siguientes características: número único para cada persona, nombre, apellido paterno, apellido materno y fecha de nacimiento. Los profesores son divididos por el área de conocimiento de la materia que tienen asignada que son las siguientes: Tecnologías de Información, Humanidades, Negocios, Ingenierías. Cada profesor solamente puede tener asignada dos materias. Un alumno se diferencia de un profesor porque tiene una matrícula. Un profesor se diferencia de un alumno porque tiene un número de nómina. Los alumnos y profesores pueden tener dada de alta una laptop de uso personal con los datos: MAC address y el número de serie. Todos los alumnos tienen laptops mientras que los profesores pueden o no tener una laptop. Muchos alumnos cursan muchas materias en un periodo específico. Las materias se registran con un número distinto para cada una de ellas y el nombre de la materia. Las materias se imparten en un salón, mientras que en un salón puede impartirse a lo mucho una materia a la vez, pero puede haber momentos en donde no haya clases. Cada profesor es supervisado por un coordinador de acuerdo al área de la materia asignada. Los profesores pueden impartir clases en diferentes salones, mientras que los salones pueden ser utilizados por varios profesores. Cada salón se identifica con un número y el piso en el que se encuentra. Aunque la institución tiene salones en varios pisos, el número de salón jamás se repite. Conociendo esta información, realiza lo siguiente: 1. Genera un diagrama entidad-relación con los requerimientos anteriores en donde especifiques los atributos de cada entidad, identificando las llaves primarias. 2. En base a las necesidades, analiza si existe alguna relación que pueda 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. Transforma el ERD a un diagrama de bases de datos físico a manera de tablas relacionales utilizando MySQL Workbench especificando lo siguiente:
3. Servicio de asesoría y resolución de ejercicios ciencias_help@hotmail.com
www.maestronline.com
o Las tablas y sus relaciones. o Identificación de llaves primarias. o Identificación de llaves foráneas. o Los atributos obligatorios y nulos (si aplica) de cada tabla. 5. Exporta tu modelo relacional a imagen y colócalo en tu actividad. 6. 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) 7. Justifica tus resultados explicando para cada transformación la elección de llave primaria, llaves foráneas, campos obligatorios y campos nulos. 8. Genera dos tablas de tu modelo relacional con 5 renglones que tengan datos ficticios; una vez hecho esto contesta la pregunta ¿existe la necesidad de normalización?, si / no ¿por qué? Entregables: Un reporte de Word con lo solicitado en la actividad. Un archivo de MySQL Workbench con el diagrama relacional.
Actividad integradora 2 Instrucciones: Una empresa bienes raíces 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 empleados, administrativos y clientes, por lo que deberá permitir el uso de mecanismo de vistas. c. Por la sensibilidad de los datos de los clientes, es primordial que la base de datos permita rutinas de encriptación. d. El sistema será implementado en todas las sucursales 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.
4. Servicio de asesoría y resolución de ejercicios ciencias_help@hotmail.com
www.maestronline.com
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. Parte 1: 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. 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. Parte 2: Después de unos meses la empresa te ha contactado nuevamente porque presenta problemas para obtener las consultas necesarias para recuperar información de la base de datos. Ellos te han proporcionado algunas tablas de su base de datos de prueba, analízalas detalladamente:
5. Servicio de asesoría y resolución de ejercicios ciencias_help@hotmail.com
www.maestronline.com
El equipo de desarrollo tiene problemas para resolver las siguientes consultas: a. Listar los nombres de todas las personas que hayan nacido después de 1972. b. Listar la calle, número y colonia de las direcciones de Mex. c. Listar las direcciones de todas las personas de sexo masculino. d. Listar los números y tipo de teléfono de las claves lada 617. e. Listar los teléfonos de todas las personas que no vivan en el estado de Pue. f. Listar los teléfonos y ladas de todas las personas que no se apelliden Ramírez.
6. Servicio de asesoría y resolución de ejercicios ciencias_help@hotmail.com
www.maestronline.com
g. Listar todas las personas que tengan un teléfono de casa y su número. Para cada consulta genera la operación en álgebra relacional y la relación resultante. Agrega los resultados a tu reporte. Parte 3: Para cada uno de los siguientes ejercicios copia las pantallas resultado de tus operaciones. 1. Selecciona el RDBMS que más te agrade. 2. Crea la base de datos “bienesraíces”. 3. Crea las tablas “dirección" y “teléfono". 4. Lista las tablas de la base de datos y muestra que las tablas del paso anterior se han creado satisfactoriamente. 5. Inserta todos los datos de la imagen en las tablas “dirección" y “teléfono". 6. Realiza una consulta de todas las tuplas de la tabla “dirección". 7. Realiza una consulta de todos los registros de la tabla “teléfono" mostrando únicamente las columnas de los atributos “lada” y “número”. 8. Lista todas las ciudades de la tabla “dirección" recuperando solamente los nombres de ciudades distintas, es decir, no debe haber repeticiones.
Actividad integradora 3 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 aquellos atributos que puedan tener valores nulos. 4. Inserta 10 tuplas 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 inciso e agrega 5 tuplas más. 7. 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. 8. Utilizando la instrucción UPDATE, modifica 5 tuplas de una de las tablas. 9. Elimina los datos de una de las tablas con base en una restricción y utilizando la instrucción DELETE. 10. Selecciona 10 funciones nativas de MySQL que puedan ser útiles para manipular los datos del sistema. 11. Piensa en 3 subqueries que permitan recuperar datos interesantes que puedan tener sentido para el sistema.
7. Servicio de asesoría y resolución de ejercicios ciencias_help@hotmail.com
www.maestronline.com
12. Piensa en dos posibles perfiles de usuario que puedan necesitar un reporte como resultado de la consulta de dos o más tablas. 13. Crea dos vistas para generar los reportes de los usuarios identificados en el inciso anterior. 14. Elimina una de las tablas utilizando la instrucción DROP. 15. Reflexiona sobre las siguientes preguntas en el contexto del sistema de tesorería: 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? f. ¿Qué proceso del sistema bancario podría realizarse aplicando transacciones de bases de datos? 16. 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. 17. Para crear el reporte toma en cuenta las siguientes especificaciones: a. Para el punto 7 justifica la necesidad de la consulta; para aquellas que utilicen joins identifica y sustenta qué tipo de join aplicaste. b. Para el punto 11 justifica la necesidad de la consulta e identifica para cada una de ellas qué tipo de subquery utilizaste. c. Justifica la elección de los roles de usuario del punto 12 y explica por qué cada uno de ellos necesita conocer los datos que incluiste en las vistas. d. Para cada pregunta del punto 15 genera el pseudocódigo de SQL que contenga las instrucciones para satisfacer los requerimientos identificados.
Actividad integradora 4 Instrucciones: 1. Investiga un caso de éxito (impreso) de una empresa Mexicana que haya seleccionado tecnologías Oracle para resolver sus problemas de negocio. 2. Reflexiona lo siguiente: a. ¿Cuál es el giro de negocio de la empresa y sus características? b. ¿Cuáles eran los principales retos o problemas? c. ¿Qué tecnologías Oracle se utilizaron para resolver los problemas? d. ¿Qué beneficios tuvo la empresa después de implementar las diversas tecnologías Oracle? 3. Genera un algoritmo para solucionar cada uno de los siguientes problemas: a. Obtener el área de un círculo de radio de 10. b. Obtener la distancia entre los puntos P1(5, 25) – P2(5, 15).
8. Servicio de asesoría y resolución de ejercicios ciencias_help@hotmail.com
www.maestronline.com
c. Recorrer todos los registros de una tabla de maestros (nómina, nombre, materia) utilizando un cursor, y mostrar en pantalla para cada registro el siguiente mensaje: Profesor: <nombre> - Nomina: <nomina> - Materia: <materia>. d. Verificar la edad de una persona que desea entrar a una película clasificación ‘C’. La persona solamente será admitida si tiene una edad mayor o igual a 18 años. e. Identificar si un triángulo es isósceles, equilátero o escaleno, conociendo la longitud de todos sus lados. f. Verificar si un año es bisiesto. g. Buscar por número de nómina un trabajador en una tabla de empleados, mostrar su nombre completo en caso de encontrarse, mostrar un error en caso de no existir. h. Aumentar $3,000 pesos de salario a todos aquellos empleados que ganan menos de $4,000 pesos. 4. Programa las soluciones de los ejercicios de los incisos d, e y f utilizando PL/SQL. 5. Para cada uno de los problemas restantes piensa: ¿qué es más factible utilizar para la solución, una función o un stored procedure? 6. Programa las funciones y/o stored procedures correspondientes.
Instrucciones 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.
9. Servicio de asesoría y resolución de ejercicios ciencias_help@hotmail.com
www.maestronline.com
o Si un equipo participa en diferentes torneos, entonces tendrá un número de 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. Continúa con tu actividad realizando lo siguiente: 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
10. Servicio de asesoría y resolución de ejercicios ciencias_help@hotmail.com
www.maestronline.com
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, llena la base de datos con datos de prueba. 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?