
Proyecto Final
Proyecto Final
PROYECTO FINAL BASE DE DATOS II
- Definir el enunciado del problema a sistematizar según las necesidades detectadas. (Debe ser Claro y tener mínimo 12 tablas) (Entrega 1)
Este proyecto tiene como finalidad crear y poner en marcha una base de datos para el Club Deportivo Corporación Academy World Sport (AWS), un club donde se forman niños entre los 6 y 10 años que sueñan con ser grandes futbolistas. La idea surge porque actualmente no tienen un sistema que organice toda la información importante de forma clara, como los datos de los jugadores, entrenadores, entrenamientos, partidos y cómo les va durante cada temporada.
Hoy en día, toda esa información se lleva de forma manual o en diferentes lugares, lo cual hace más difícil planear los entrenamientos, hacer seguimiento al progreso de los niños y organizar bien los partidos. Por eso, esta base de datos busca resolver todo eso con un sistema bien estructurado que sea fácil de usar, seguro y que ayude a tener todo bien ordenado.
La base de datos tendrá al menos ocho tablas, algunas serán para guardar información básica (como jugadores, entrenadores, categorías y equipos) y otras para registrar actividades del día a día (como entrenamientos, partidos, estadísticas y asistencias). También se va a diseñar el modelo con todos los datos y relaciones, y luego se montará en MySQL para que funcione correctamente.
Además, se van a hacer varias consultas (como búsquedas inteligentes) que permitirán saber cosas como: cuántos años tienen en promedio los jugadores de cada equipo, quién ha asistido a los entrenamientos, cómo fue el rendimiento en los partidos y si hay categorías sin jugadores.
Este sistema será muy útil para que el club tenga un mejor control de todo lo que pasa, tome decisiones más acertadas y siga creciendo como una organización deportiva seria y bien organizada.
2. REALIZAR LO SIGUIENTE:
2.1. Darle un nombre a la base de datos.
club deportivo corporación Academy World Sport (AWS)
2.2. Listado de tablas que llevara la BD. (Cuales son referenciales y cuales son de movimiento)
Tablas Referenciales:
Jugadores
Entrenadores
Categorías
Equipos
Tablas de Movimiento:
Entrenamientos
Asistencia_Entrenamientos
Partidos
Participación_Partidos
2.3. Diseñar el diccionario de datos de cada tabla (campo, nombre el campo, tipo, tamaño y descripción).
2.4. Montar o diseñar el modelo entidad relación.

2.5. Dibujar el Diagrama relacional.

3. Crear la BD y las tablas respectivas en MySQL (guardar evidencias del código MySQL con el que resuelva dicha actividad) (Entrega 2)
4. Diseñar ejercicios en los que se apliquen los diferentes comandos que se utilizaron durante el semestre con su respectivo análisis y resultados. (Entrega 3)
MANEJO DE FECHAS
SELECT nombre, apellido, fecha_nacimiento
FROM jugadores
WHERE MONTH(fecha_nacimiento) = 5;
Análisis:
¿Qué hace esta consulta?
Muestra los jugadores que nacieron en el mes de mayo, o sea, el mes número 5.
Nombre de la tabla:
jugadores
Campos que contiene:
nombre, apellido, fecha_nacimiento
Comandos utilizados:
SELECT, FROM, WHERE, MONTH()
Sintaxis:
Se seleccionan los nombres y fechas de nacimiento de la tabla jugadores, pero solo si el mes de nacimiento es mayo.
SELECT AVG(edad) AS edad_promedio
FROM jugadores;
Análisis:
¿Qué hace esta consulta?
Saca el promedio de las edades de todos los jugadores.
Nombre de la tabla:
jugadores
Campo que se calcula:
edad
Comandos utilizados:
SELECT, AVG(), FROM
Sintaxis:
AVG() es una función que calcula el promedio de los valores del campo edad.
MANEJO DE CADENAS
SELECT nombre, apellido, email_contacto
FROM jugadores
WHERE email_contacto LIKE '%gmail.com';
Análisis:
¿Qué hace esta consulta?
Muestra los jugadores que usan correos de Gmail.
Nombre de la tabla:
jugadores
Campos que contiene:
nombre, apellido, email_contacto
Comandos utilizados:
SELECT, FROM, WHERE, LIKE
Sintaxis:
Se usa LIKE con %gmail.com para buscar correos que terminan en gmail.com.
SELECT SUBSTRING_INDEX(email_contacto, '@', -1) AS dominio
FROM jugadores;
¿Qué hace esta consulta?
Saca solo el dominio del correo (por ejemplo, gmail.com).
Nombre de la tabla:
jugadores
Campo:
email_contacto
Comandos utilizados:
SELECT, SUBSTRING_INDEX(), FROM
Sintaxis (explicada):
SUBSTRING_INDEX() corta el texto del correo en donde encuentre @ y devuelve la parte después de él.
ENUM, SET Y BLOB
CREATE TABLE ejemplo_enum_set_blob (
id INT AUTO_INCREMENT PRIMARY KEY,
nivel_juego ENUM('bajo', 'medio', 'alto') NOT NULL,
habilidades SET('velocidad', 'resistencia', 'pase', 'defensa', 'ataque'),
documento BLOB
);
¿Qué hace esta consulta?
Crea una tabla nueva que usa campos especiales para niveles y habilidades, y uno para guardar archivos (BLOB).
Nombre de la tabla:
ejemplo_enum_set_blob
Campos que contiene:
-
nivel_juego (ENUM): solo puede ser bajo, medio o alto.
-
habilidades (SET): permite múltiples opciones.
-
documento (BLOB): sirve para guardar archivos como PDFs o imágenes.
Comandos utilizados:
CREATE TABLE, ENUM, SET, BLOB
CREAR TABLAS A PARTIR DE OTRA
CREATE TABLE jugadores_10 AS
SELECT * FROM jugadores
WHERE edad = 10;
¿Qué hace esta consulta?
Crea una nueva tabla llamada jugadores_10 con los jugadores que tienen exactamente 10 años.-
Nombre de la tabla original:
jugadores -
Nombre de la nueva tabla:
jugadores_10 -
Comandos utilizados:
CREATE TABLE ... AS SELECT, WHERE -
Sintaxis
Crea una tabla nueva con los datos que cumplan la condición.
JOINs
SELECT j.nombre, j.apellido, e.nombre_equipo
FROM jugadores j
INNER JOIN inscripciones i ON j.id_jugador = i.jugador_id
INNER JOIN equipos e ON i.equipo_id = e.id_equipo;
- ¿Qué hace esta consulta?
Muestra qué jugadores están inscritos en qué equipo. -
Tablas utilizadas:
jugadores, inscripciones, equipos -
Comandos:
SELECT, INNER JOIN, ON -
Sintaxis (explicada):
Une las tres tablas usando los campos en común, solo si hay coincidencia.
USUARIOS
CREATE USER 'entrenador2'@'localhost' IDENTIFIED BY 'entrenador456';
- Crea un nuevo usuario en MySQL que se puede conectar desde el mismo equipo (localhost).
-
Nombre del usuario:
entrenador2 -
Contraseña asignada:
entrenador456 -
Comando utilizado:
CREATE USER -
Sintaxis (explicada):
Se define el nombre de usuario, la dirección desde donde se conecta, y su contraseña.
5. Sustentación
EXITOS...