
Poyecto Final
Poyecto Final
Introduce un texto aquí...
FINAL BASE DE DATOS I
Definir el enunciado del problema a sistematizar según las necesidades detectadas. (Debe ser Claro y tener mínimo 8 tablas) (Entrega 1)
Esta base de datos tiene como propósito almacenar y gestionar información clave de un equipo de fútbol infantil, que incluye jugadores de entre 6 y 10 años. Permitirá el control de datos sobre los jugadores, categorias, equipos, sus entrenadores, entrenamientos, partidos, y el desempeño en cada temporada.
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)
Tabla Jugadores
- Descripción: Almacena información sobre cada jugador, incluyendo sus datos personales, posición en el campo, y la categoría de edad.
- Campos: id_jugador (PK), nombre, apellido, fecha_nacimiento, edad, posicion, categoria, telefono_contacto, email_contacto.
Tabla Entrenadores
- Descripción: Contiene la información de los entrenadores del equipo.
- Campos: id_entrenador (PK), nombre, apellido, telefono, email, experiencia, certificacion.
Tabla Categorías
- Descripción: Define las categorías de edad en las que se dividen los jugadores (por ejemplo, 6-7 años, 8-9 años, etc.).
- Campos: id_categoria (PK), nombre_categoria, edad_min, edad_max.
Tabla Equipos
- Descripción: Almacena los diferentes equipos que participan en torneos. Cada equipo está asociado a una categoría.
- Campos: id_equipo (PK), nombre_equipo, id_categoria (FK).
Tabla Partidos
- Descripción: Registra los partidos programados y sus detalles, como la fecha, el lugar y el equipo contrario.
- Campos: id_partido (PK), fecha, ubicacion, id_equipo_local (FK), id_equipo_visitante (FK), resultado.
Tabla Participación_Partidos
- Descripción: Define la participación de cada jugador en cada partido, registrando estadísticas como goles, asistencias y tiempo jugado.
- Campos: id_participacion (PK), id_jugador (FK), id_partido (FK), goles, asistencias, minutos_jugados.
Tabla Entrenamientos
- Descripción: Almacena los entrenamientos del equipo, indicando fecha, lugar y tipo de entrenamiento.
- Campos: id_entrenamiento (PK), fecha, ubicacion, tipo_entrenamiento.
Tabla Asistencia_Entrenamientos
- Descripción: Lleva el control de asistencia de los jugadores en cada entrenamiento.
- Campos: id_asistencia (PK), id_entrenamiento (FK), id_jugador (FK), asistio (booleano).
Relaciones Clave:
- Jugadores y Entrenadores están relacionados con las Categorías mediante id_categoria.
- Equipos y Partidos permiten la programación de encuentros y mantienen registros históricos de los resultados.
- Entrenamientos y Asistencia_Entrenamientos permiten llevar un seguimiento del desempeño y asistencia en prácticas.
- Participación_Partidos relaciona a los jugadores con sus estadísticas en cada partido.
Tablas Referenciales :
- Jugadores: Almacena información básica de cada jugador, como nombre, posición y datos de contacto.
- Entrenadores: Contiene los datos de los entrenadores, incluyendo experiencia y certificación.
- Categorías: Define las categorías de edad para organizar a los jugadores.
- Equipos: Almacena los diferentes equipos dentro de cada categoría.
Tablas de Movimiento :
- Partidos: Registra los partidos programados, indicando fecha, ubicación y equipos involucrados.
- Participación_Partidos: Almacena la participación de cada jugador en los partidos, junto con estadísticas de desempeño (goles, asistencias, etc.).
- Entrenamientos: Almacena los entrenamientos programados, especificando la fecha, lugar y tipo.
- Asistencia_Entrenamientos: Lleva el control de la asistencia de cada jugador a los entrenamientos.
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) e insertar 10 registros en cada tabla (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)
consultar equipos y categorias

Análisis:
¿Qué desea consultar y de qué tablas?
categorías y equipos de las tablas categorías y equipos
¿Qué tablas se ven afectadas o involucradas?
categorias equipos
¿Cómo se relacionan las tablas?
Equipos.id_categoria1 = Categorias.id_categoria
¿Qué comando se debe utilizar?
join
Sintaxis: select Equipos.nombre_equipo, Categorias.nombre_categoria from equipos Equipos join categorias Categorias on Equipos.id_categoria1 = Categorias.id_categoria;
consultar jugadores con información de categoria

Análisis:
¿Qué desea consultar y de qué tablas?
nombre de los jugadores e informacion de la categoria
¿Qué tablas se ven afectadas o involucradas?
jugadores y categorias
¿Cómo se relacionan las tablas?
Jugadores.categoria = Categorias.id_categoria;
¿Qué comando se debe utilizar?
join
Sintaxis: select Jugadores.nombre, Jugadores.apellido, Jugadores.edad, Categorias.nombre_categoria from jugadores Jugadores join categorias Categorias on Jugadores.categoria = Categorias.id_categoria;
consultar lugar entrenamiento

Análisis:
¿Qué desea consultar y de qué tablas?
lugar de entrenamiento de la tabla entrenamiento
¿Qué tablas se ven afectadas o involucradas?
entrenamientos
¿Cómo se relacionan las tablas?
N/A
¿Qué comando se debe utilizar?
select
where
Sintaxis: select * from entrenamientos Entrenamientos where Entrenamientos.ubicacion = 'Cancha Central';
consultar jugadores asignados a un entrenamiento

Análisis:
¿Qué desea consultar y de qué tablas?
jugadores asigndos a un entrenamiento
¿Qué tablas se ven afectadas o involucradas?
entrenamiento y jugadores
¿Cómo se relacionan las tablas?
JugadoresEntrenamientos.id_jugador2 = Jugadores.id_jugador
JugadoresEntrenamientos.id_entrenamiento1 = Entrenamientos.id_entrenamiento
Entrenamientos.id_entrenamiento = 1;
¿Qué comando se debe utilizar?
join
Sintaxis: select Jugadores.nombre, Jugadores.apellido, Entrenamientos.fecha, Entrenamientos.tipo_entrenamiento from jugadores_entrenamientos JugadoresEntrenamientos join jugadores Jugadores on JugadoresEntrenamientos.id_jugador2 = Jugadores.id_jugador join entrenamientos Entrenamientos on JugadoresEntrenamientos.id_entrenamiento1 = Entrenamientos.id_entrenamiento where Entrenamientos.id_entrenamiento = 1;
consultar partidos

Análisis:
¿Qué desea consultar y de qué tablas?
partidos de la tabla equipo y partidos
¿Qué tablas se ven afectadas o involucradas?
equipo y partidos
¿Cómo se relacionan las tablas?
Partidos.id_equipo_local = EquipoLocal.id_equipo
Partidos.id_equipo_visitante = EquipoVisitante.id_equipo;
¿Qué comando se debe utilizar?
join
Sintaxis: select Partidos.fecha, Partidos.ubicacion, EquipoLocal.nombre_equipo AS equipo_local, EquipoVisitante.nombre_equipo AS equipo_visitante, Partidos.resultado from partidos Partidos join equipos EquipoLocal on Partidos.id_equipo_local = EquipoLocal.id_equipo join equipos EquipoVisitante on Partidos.id_equipo_visitante = EquipoVisitante.id_equipo;
consultar entrenadores con mas de 4 años de experiencia

Análisis:
¿Qué desea consultar y de qué tablas?
entrenadores con mas de 4 años de experiencia
¿Qué tablas se ven afectadas o involucradas?
entrenadores
¿Cómo se relacionan las tablas?
N/A
¿Qué comando se debe utilizar?
select
Sintaxis: select Entrenadores.nombre, Entrenadores.apellido, Entrenadores.experiencia from entrenadores Entrenadores where Entrenadores.experiencia > 4;
consultar categorias que no tienen jugadores asignados

Análisis:
¿Qué desea consultar y de qué tablas?
categorías que no tienen jugadores asignados
¿Qué tablas se ven afectadas o involucradas?
categorias jugadores
¿Cómo se relacionan las tablas?
Categorias.id_categoria = Jugadores.categoria
¿Qué comando se debe utilizar?
left join
where
Sintaxis: select Categorias.nombre_categoria from categorias Categorias left join jugadores Jugadores on Categorias.id_categoria = Jugadores.categoria where Jugadores.id_jugador is null;
consultar entrenamientos realizados por cada jugador

Análisis:
¿Qué desea consultar y de qué tablas?
entrenamientos realizados por cada jugador
¿Qué tablas se ven afectadas o involucradas?
jugadores y entrenamientos
¿Cómo se relacionan las tablas?
JugadoresEntrenamientos.id_jugador2 = Jugadores.id_jugador
JugadoresEntrenamientos.id_entrenamiento1=Entrenamientos.id_entrenamiento
¿Qué comando se debe utilizar?
join
Sintaxis: select Jugadores.nombre, Jugadores.apellido, Entrenamientos.fecha, Entrenamientos.tipo_entrenamiento from jugadores_entrenamientos JugadoresEntrenamientos join jugadores Jugadores on JugadoresEntrenamientos.id_jugador2 = Jugadores.id_jugador join entrenamientos Entrenamientos on JugadoresEntrenamientos.id_entrenamiento1=Entrenamientos.id_entrenamiento order by Jugadores.nombre;
consultar partido jugado por un jugador en especifico y resultado

Análisis:
¿Qué desea consultar y de qué tablas?
partido especifico y resultado
¿Qué tablas se ven afectadas o involucradas?
jugadores partidos
¿Cómo se relacionan las tablas?
JugadoresPartidos.id_jugador1 = Jugadores.id_jugador
JugadoresPartidos.id_partido1 = Partidos.id_partido
¿Qué comando se debe utilizar?
join
Sintaxis: select Jugadores.nombre, Jugadores.apellido, Partidos.fecha, Partidos.resultado from jugadores_partidos JugadoresPartidos join jugadores Jugadores on JugadoresPartidos.id_jugador1 = Jugadores.id_jugador join partidos Partidos on JugadoresPartidos.id_partido1 = Partidos.id_partido where Jugadores.id_jugador = 1;
- consultar promedio de edad de los jugadores

Análisis:
¿Qué desea consultar y de qué tablas?
edad promedio de los jugadores
¿Qué tablas se ven afectadas o involucradas?
jugadores y equipos
¿Cómo se relacionan las tablas?
Jugadores.categoria = Equipos.id_equipo
¿Qué comando se debe utilizar?
join
group by
Sintaxis: select Equipos.nombre_equipo, avg(Jugadores.edad) as promedio_edad from jugadores Jugadores join equipos Equipos on Jugadores.categoria = Equipos.id_equipo group by Equipos.nombre_equipo;
- consultar equipos y sus categorías asociadas

Análisis:
¿Qué desea consultar y de qué tablas?
equipos y categorias acosiadas
¿Qué tablas se ven afectadas o involucradas?
equipo categoria
¿Cómo se relacionan las tablas?
Equipos.id_categoria1 = Categorias.id_categoria;
¿Qué comando se debe utilizar?
select
join
Sintaxis: select Equipos.nombre_equipo, Categorias.nombre_categoria from equipos Equipos join categorias Categorias on Equipos.id_categoria1 = Categorias.id_categoria;
5. Sustentación