Cátedra Ingeniería de Software
Asignatura: Base de Datos
Código 00826
Primer cuatrimestre 2023
Proyectos
Proyecto Programado 1
Tema
Modelo conceptual y físico de una base de datos, utilizando una DBMS Relacional.
Objetivo
Crear el modelo conceptual y físico de una base de datos relacional.
Descripción del problema
Diseñe el diagrama de base (diagrama entidad-relación), para la base de datos de tipo
transaccional (OLTP) correspondiente al siguiente enunciado:
La empresa TicoSoftCR.com desea crear un sistema para llevar el control de mesas de
ayuda, también conocidas como Help Desk, por lo tanto se le pide al ingeniero que diseñe
una base de datos afín que cumpla con los siguientes requerimientos:
1. La mesa de ayuda o Help Desk, es el punto de contacto donde los usuarios finales
de cada empresa, acuden para pedir ayuda cuando requieren soporte técnico. En
este caso, la idea es que cada vez que un usuario final tiene un problema, debe
crear un nuevo tiquete en el sistema y ahí se irá dando seguimiento a la solicitud.
2. Debe existir una entidad principal donde se muestre toda la información
relacionada al tiquete, por ejemplo: id del tiquete, descripción, fecha de creación,
estado actual, fecha de completado, usuario que lo creó, técnico asignado que
está resolviendo el problema y sobre todo, debe tener un detalle donde guarde
todo el historial del caso, es decir, se debe guardar todos los registros para una
fecha específica, cuando un técnico haga actualizaciones al tiquete.
3. Con respecto al historial, diferentes técnicos pueden colaborar con la resolución de
un caso, esto quiere decir que distintos técnicos pueden agregar registros en el
historial cada vez que trabajen en un tiquete específico, por lo tanto, se debe de
llevar control de los técnicos que están trabajando en cada tiquete.
4. Debe existir una entidad donde se registre la lista de todos los usuarios, la
principal información a almacenar será: código de usuario, nombre, departamento,
teléfono y email. Es importante mencionar que un tiquete es creado por un único
usuario.
5. Debe existir una entidad donde se registren todos los técnicos, los cuales son
quienes resuelven los tiquetes. Nota: es muy importante recalcar que un tiquete
puede tener uno o muchos técnicos asignados.
Se debe considerar que a la empresa le interesa lo siguiente:
✔ Poder generar reportes de todos sus tiquetes, y poder agrupar por su estado:
pendiente, completado, cancelado.
✔ Poder ver el historial de un tiquete ordenado por fecha.
✔ Poder ver el o los técnicos involucrados en la resolución de un tiquete.
Desarrollo
Con base en la información brindada anteriormente, diseñe el diagrama de
entidad-relación que se ajuste al requerimiento planteado.
Como parte de lo realizado, debe asegurar que el modelo entidad-relación propuesto, se
encuentre normalizado correctamente.
Tome en cuenta que es muy importante la relación entre las tablas (cardinalidad), de
manera que quede claro el tipo de relación que se está utilizando, para lo cual puede
utilizar la notación Chen o la de patas de gallo (Crow’s foot), ya que esto es clave para
crear las llaves primarias y llaves foráneas de las tablas.
Prepare el script de creación de la base de datos en el DBMS MySQL incluyendo todas
las tablas, así como sus constraints (llaves primarias, llaves foráneas, etc). Para la
creación de script debe utilizar la herramienta visual de diseño de bases de datos MySQL
Workbench.
Entregables (en la plataforma del curso)
1. Documento PDF que cumpla con las Reglas generales para la presentación de
trabajos (portada, introducción, índice, desarrollo, conclusión y bibliografía que
respete la norma APA).
2. En el documento PDF se debe incluir el diagrama de entidad-relación completo,
normalizado y con la cardinalidad correspondiente. También, como parte del
desarrollo, se deben incluir las sentencias para la creación de la base de datos con
las tablas y constraints.
3. Script de los comandos SQL para la creación de la base de datos con las tablas y
constraints. El script debe venir en el formato generado por MySQL Workbench,
además en el PDF mencionado en punto anterior. Se debe tener presente que el
docente cargará el script a la herramienta, para probar que funciona.
Rúbrica de evaluación del proyecto programado 1
Aspectos generales Valor
Formato: redacción, ortografía, portada, índice, introducción, 5%
desarrollo, conclusiones y bibliografía.
Uso del DBMS MySQL y la herramienta visual de diseño de 5%
bases de datos MySQL Workbench.
Desarrollo
Diagrama entidad – relación completo. Debe incluir mínimo 4 40%
entidades con sus atributos.
Cardinalidad del diagrama (las relaciones entre tablas están 20%
correctas).
Normalización correcta del diagrama entidad-relación. 20%
Script funcional de creación de la base de datos con sus 10%
tablas.
Total 100%
Proyecto Programado 2
Tema
Generación de consultas utilizando comandos SQL.
Objetivo
Aplicar lo aprendido con respecto al lenguaje SQL y ponerlo en práctica en la creación y
ejecución de sentencias SQL, que respondan a un requerimiento específico.
Desarrollo
Notas:
A. Para el desarrollo del proyecto programado 2, se debe utilizar como base de
trabajo, el diseño entidad-relación, el script de creación de las tablas y la tabla de
datos de ejemplo, publicados en la plataforma del curso.
B. Para el desarrollo del proyecto programado 2, se utiliza como DBMS, el software
Microsoft SQL Express.
Cree las sentencias SQL, que respondan a los siguientes requerimientos:
1. Genere los comandos en SQL para primero eliminar todos los datos de las tablas y
luego cargar datos a todas las tablas de la base de datos, según el diagrama
entidad relación y la tabla de datos de ejemplo, que se encuentran publicados en
la plataforma del curso.
2. Cree una consulta en SQL que presente la siguiente información de los tiquetes
existentes en la base de datos: id del tiquete, descripción, fecha de creación, fecha
de completado, id de usuario, nombre de usuario, id de técnico, nombre de
técnico, id de estado y descripción de estado.
3. Genere una consulta en SQL que indique la cantidad de tiquetes que hay,
agrupados por el estado.
Ejemplo:
Tipo Estado Cantidad
Completos 7
Pendientes 14
Cancelados 3
4. Cree un comando en SQL que actualice el estado del tiquete y que ponga como
“Completado” los registros donde la fecha de completado no sea nula, es decir,
que la columna fecha de completada tenga alguna fecha indicada.
Importante: en la tabla de tiquetes, lo que existe es el código de estado, y como se
desconoce cuál es el id de “Completado” se debe primero averiguar este valor en
un SQL, para posteriormente aplicar el update. Todo debe realizarse en un solo
comando SQL anidado y no en comandos por aparte.
Entregables (en la plataforma del curso)
1. Documento PDF que cumpla con las Reglas generales para la presentación de
trabajos (portada, índice, introducción, desarrollo, conclusión y bibliografía que
respete la norma APA).
2. Incluir en dicho documento PDF, como parte del desarrollo, las sentencias SQL
solicitadas en los puntos 1, 2, 3 y 4 de la sección anterior (Desarrollo). Además,
se debe incluir la evidencia de los resultados, es decir, se debe de mostrar cada
comando con su respectivo resultado, retornado por el motor de base de datos.
3. Script de los comandos SQL solicitados en los puntos 1, 2, 3 y 4 de la sección
anterior (Desarrollo). El script debe venir en el formato generado por Microsoft
SQL Express, además en el PDF mencionado en punto anterior. Se debe tener
presente que el docente cargará el script a la herramienta, para probar que
funciona.
Rúbrica de evaluación del proyecto programado 2
Aspectos generales Valor
Formato: redacción, ortografía, portada, índice, introducción, 5%
desarrollo, conclusiones y bibliografía.
Uso del diseño entidad-relación, el script de creación de las 5%
tablas y la tabla de datos de ejemplo, publicados en la
plataforma del curso y el DBMS Microsoft SQL Express.
Desarrollo
Script funcional de borrado y carga de datos 20%
Script funcional para obtener el resultado del comando SQL 20%
en el punto 2 de Desarrollo.
Script funcional para obtener el resultado del comando SQL 20%
en el punto 3 de Desarrollo.
Script funcional para obtener el resultado del comando SQL 20%
en el punto 4 de Desarrollo.
Imagen que evidencia el funcionamiento de los 4 scripts 10%
solicitados.
Total 100%
Proyecto Programado 3
Tema
Generación de procedimientos y funciones en una base de datos.
Objetivo
Poner en práctica los conocimientos aprendidos con respecto al lenguaje SQL avanzado
de base de datos, para poder crear código de programación que permita ejecutar
diferentes tareas a nivel de la base de datos.
Desarrollo
Notas:
1. Para el desarrollo del proyecto programado 3, se debe utilizar como base de
trabajo, el diseño entidad-relación, el script de creación de las tablas y la tabla de
datos de ejemplo, publicados en la plataforma del curso. Además, debe utilizar la
carga de datos que usted realizó, en el punto 1 del Desarrollo del proyecto
programado 2.
2. Para el desarrollo del proyecto programado 3, se utiliza como DBMS, el software
Microsoft SQL Express.
Basado en lo indicado en las notas anteriores, realice las siguientes tareas que se le
solicitan a continuación:
1. Creación de un procedimiento almacenado que reciba como parámetro la misma
cantidad de columnas definidas en la entidad “Usuarios”, y una vez que el
procedimiento se ejecute, inserte los datos que se le pasaron por parámetro, en la
tabla “Usuarios” haciendo uso del comando insert. Nota aclaratoria: si la tabla
consta de 5 atributos, el procedimiento deberá recibir 5 parámetros, uno para cada
columna de la tabla.
2. Creación de una función que reciba como parámetro el código del usuario y que
devuelva el nombre del mismo. La lógica de esta función consiste en consultar la
información en la entidad “Usuarios” y con base en el código que recibe como
parámetro, devolver el nombre del usuario.
Entregables (en la plataforma del curso)
1. Documento PDF que cumpla con las Reglas generales para la presentación de
trabajos (portada, índice, introducción, desarrollo, conclusión y bibliografía que
respete la norma APA).
2. Incluir en dicho documento PDF, como parte del desarrollo, las sentencias SQL de
creación del procedimiento y la función. Además, se debe incluir la evidencia de
los resultados, es decir, se debe de mostrar el procedimiento y la función con su
respectivo resultado, retornado por el motor de base de datos.
3. Script del procedimiento y la función SQL solicitadas en los puntos 1 y 2 de la
sección anterior (Desarrollo). El script debe venir en el formato generado por
Microsoft SQL Express, además de en el PDF mencionado en punto anterior. Se
debe tener presente que el docente cargará el script a la herramienta, para probar
que funciona.
Rúbrica de evaluación del proyecto programado 3
Aspectos generales Valor
Formato: redacción, ortografía, portada, índice, introducción, 5%
desarrollo, conclusiones y bibliografía.
Uso del diseño entidad-relación, el script de creación de las 5%
tablas y la tabla de datos de ejemplo, publicados en la
plataforma del curso y el DBMS Microsoft SQL Express.
Desarrollo
Sentencias SQL para crear el procedimiento en el punto 1 de 35%
Desarrollo.
Imagen que evidencia el funcionamiento del procedimiento 10%
solicitado en el punto 1 de Desarrollo.
Sentencias SQL para crear la función en el punto 2 de 35%
Desarrollo.
Imagen que evidencia el funcionamiento de la función 10%
solicitada en el punto 2 de Desarrollo.
Total 100%