1. Servicio de asesoría y resolución de ejercicios ciencias_help@hotmail.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
www.maestronline.com
2. Servicio de asesoría y resolución de ejercicios ciencias_help@hotmail.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:
www.maestronline.com
3. Servicio de asesoría y resolución de ejercicios ciencias_help@hotmail.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.
www.maestronline.com
4. Servicio de asesoría y resolución de ejercicios ciencias_help@hotmail.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:
www.maestronline.com
5. Servicio de asesoría y resolución de ejercicios ciencias_help@hotmail.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.
www.maestronline.com
6. Servicio de asesoría y resolución de ejercicios ciencias_help@hotmail.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.
www.maestronline.com
7. Servicio de asesoría y resolución de ejercicios ciencias_help@hotmail.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).
www.maestronline.com
8. Servicio de asesoría y resolución de ejercicios ciencias_help@hotmail.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.
www.maestronline.com
9. Servicio de asesoría y resolución de ejercicios ciencias_help@hotmail.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
www.maestronline.com
10. Servicio de asesoría y resolución de ejercicios ciencias_help@hotmail.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?
www.maestronline.com