Documentos de Académico
Documentos de Profesional
Documentos de Cultura
RESUMEN .......................................................................................................................................... 5
INTRODUCCIÓN .............................................................................................................................. 6
Planteamiento del problema ............................................................................................................ 6
JUSTIFICACIÓN ............................................................................................................................... 8
OBJETIVOS ....................................................................................................................................... 9
Objetivo General ............................................................................................................................. 9
Objetivos Específicos ...................................................................................................................... 9
MARCO TEORICO .......................................................................................................................... 10
BASES DE DATOS ...................................................................................................................... 10
Tipos de bases de datos ................................................................................................................. 10
Entidad .......................................................................................................................................... 11
Atributos ........................................................................................................................................ 12
Relación......................................................................................................................................... 13
Relaciones de cardinalidad ............................................................................................................ 14
Claves ............................................................................................................................................ 15
METODOLOGÍA ............................................................................................................................. 16
DICCIONARIO DE SUSTANTIVOS Y VERBOS ......................................................................... 18
Sustantivos (Entidades candidatas) ............................................................................................... 18
Verbos (Relaciones candidatas) .................................................................................................... 19
DICCIONARIO DE ENTIDADES Y RELACIONES ..................................................................... 19
Relaciones ..................................................................................................................................... 19
Entidades (Corregidas - Normalización) ....................................................................................... 21
MODELO CONCEPTUAL .............................................................................................................. 26
MODELO LÓGICO.......................................................................................................................... 27
MODELO LÓGICO CORREGIDO (Tercera Entrega) .................................................................... 28
MODELO FÍSICO (Ver modelo corregido en Anexo 4) .................................................................. 28
PROCESO DE NORMALIZACIÓN ......................................................................................................... 39
CARDINALIDAD ............................................................................................................................ 43
Script para poblado de entidades (Ver Anexo 5): ............................................................................. 50
Acciones mínimas para implementar: ............................................................................................... 50
Script consultas (Ver Anexo 6): ........................................................................................................ 52
CONCLUSIONES ............................................................................................................................ 55
REFERENCIAS BIBLIOGRÁFICAS .............................................................................................. 56
Lista de ilustraciones
Para elaborar el proyecto, el estudiante debe ir aplicando los procesos metodológicos del
programa, hacer ejercicios de clase y una vez afianzado el conocimiento debe comenzar a
construir las respectivas tres entregas en las fechas pactadas en el curso.
Segunda Entrega: Elaboración del Modelo Lógico. Con base en el modelo conceptual,
proceder a identificar los atributos, las llaves primarias, las llaves únicas si existen, las llaves
foráneas e identificar las entidades débiles del modelo, agregar los atributos faltantes y tablas
adicionales que requiera el modelo que no fueron identificadas. Normalizar el modelo y
pasarlo a modelo físico. Finalmente elaborar el documento de esta entrega. Implementar un
motor de base de datos libre en su portátil como HSBQL DB o crear una carpeta de Oracle
en línea.
Tercera entrega: Elaboración de los desarrollos de los puntos 6y7, junto con el documento
final con los dos modelos entregados anteriormente reflejando las correcciones sugeridas
sobre las entregas 1 y 2, por el tutor de la materia.
Incluir el código sql, los datos de prueba y los resultados obtenidos.
Sustantivo Descripción
Verbo Descripción
Tener Poseer una cosa o disfrutar de ella.
Jugar Oportunidad de hacer provecho o disfrute de un partido
Cambiar Capacidad de transformar o variar una condición o característica.
Anotar Generar registro de goles a favor
Disputar Oportunidad de pertenecer a un equipo.
Participar Oportunidad de participar en un encuentro.
Clasificar Avanzar en categoría a lo largo del torneo.
Puntear Generar puntos a partir de los goles y partidos ganados.
Eliminar Ser desclasificado del torneo.
Ofrece Cualidad de dar o permitir el uso de una cosa
Obtiene Capacidad de recibir algo
Generar Surgimiento de una acción o cosa.
Pertenecer Acción de ser parte de una cosa o un lugar
Tabla 2. Verbos (Relaciones candidatas)
Relaciones
Nombre de la CLASIFICACIONES
Entidad:
Descripción: Muestra el estado de clasificación de un equipo en el mundial. Esta puede
ser Octavos de final, Cuartos de final, Semifinal, Final.
Atributo Descripción del Atributo
Equipo_PK Nombre del equipo
Desarrollo PK Fase de clasificación (Octavos, Cuartos, Semifinal, Final)
Tabla 4. Entidades
MODELO CONCEPTUAL
Para esta segunda entrega realizamos el modelo lógico y físico en el programa MySQL Workbech,
Datagrip - Postgres, inicialmente debemos tener claro que el proceso de normalización se centra
en simplificar los datos, con esto lograremos optimizar el funcionamiento de nuestra base de
datos, reducir el almacenamiento, identificar y corregir datos repetidos y errores lógicos. Es
importante tener en cuenta que el momento de realizar la simplificación no debe tener perdida de
datos para la continuidad del funcionamiento del funcionamiento.
Se corrigió el atributo edad, por fecha de nacimiento en la entidad “Persona”, esto con el fin de
realizar el cálculo interno y garantizar una actualización optima en los datos personales de cada
una de las personas que se incluirán en dicho torneo.
Las siguientes entidades tenían una cardinalidad de N:M, por lo cual se crearon nuevas entidades
débiles según lo establecido en la normalización.
En el modelo conceptual se identificó una entidad llamada “Estadísticas” dicha entidad contenía
atributos estadísticos como los son tarjetas, puntos, goles, etc. En el proceso de normalización se
eliminó dicha entidad pues estos se pueden visualizar por medio de las consultas de las otras
entidades establecidas.
CLASIFICACIONES
GRUPOS
CONTINENTES
Pais_clasificados INT
ESTADISTICAS
Nombre de columna Tipo de PK FK 1:1 1:M N:M
datos
Pais_estadistica VARCHAR SI SI
(15)
Parti_jugados INT
Parti_ganados INT
Parti_perdidos INT
Parti_empatados INT
Goles_favor INT
Goles_contra INT
Diferecia_goles INT
Tarjeta_amarillas INT
Sanciones INT
Puntos INT
Estados_clasificacion INT
Posicion INT
*La Entidad Estadísticas fue removida debido a que sus atributos correspondían a consultas sobre
datos de otras tablas.
ESTADIOS
ANFITRION
Entradas_vendidas INT
Total_recaudo INT
ALQUILER
Nombre_estadio_alquiler VARCHAR
(15)
Tarifa INT
Fecha_incio DateTime
Fecha_fin DateTime
EQUIPOS
Jugador_anotador VARCHAR
(20)
Id_partido_goles INT
Minuto_partido_gol TIME
Equipo_anotador VARCHAR
(15)
Equipo_perdedor VARCHAR
(15)
PARTIDOS
Fecha_partido DateTime
Equipo_local VARCHAR
(15)
Equipo_visitante VARCHAR
(15)
TARJETAS
CAMBIOS
PERSONA
POSICIONES
Nombre de columna Tipo de PK FK 1:1 1:M N:M
datos
Persona_posicion VARCHAR SI SI
(20)
Id_partido_posicion INT SI SI
Posicion VARCHAR
(15)
Minuto_partido_posicion TIME
TITULARIDADES
LESIOINES
SANCIONES
BAJAS
Motivo_baja VARCHAR
(20)
Fecha_baja DateTime
Script para poblado de entidades (Ver Anexo 5):
4. crear, consultar, eliminar y modificar los datos de un partido jugado o por jugar.
INSERT INTO partidos(id_partido, fecha_partido, entradas_vendidas,
total_recaudo, nombre_estadio,equipo_1,equipo_2,id_fase)
VALUES(1,'2018-06-14',77137,611729,'Rostov Arena','Rusia','Arabia
Saudita',1);
1. Listar los datos de los estadios, para un rango de ciudades y ordenado por ciudad.
SELECT *
FROM estadios
count(partidos.id_partido) total_partidos,
equipos1.grupo_equipo,
estadios.ciudad
FROM partidos
WHERE fases.id_fase = 1
order by equipos1.grupo_equipo
FROM bajas
4. Listar el precio total del alquiler acumulado de todos los estadios contratados por
fecha en un rango de fechas dado, acumulado por ciudad y total.
SELECT
sum(tarifa),
ciudad_alquiler
FROM alquileres
group by (alquileres.ciudad_alquiler)
grupos.descripcion,
count(goles.id_gol)
FROM goles
GROUP BY grupos.grupo
ORDER BY grupos.grupo
personas.pasaporte,
personas.nombres_persona,
personas.apellidos_persona,
count(tarjetas.id_tarjeta),
tarjetas.color_tarjeta
FROM tarjetas
INNER JOIN color_tarjeta on tarjetas.color_tarjeta =
color_tarjeta.color
ORDER BY tarjetas.jugador_tarjeta
e.nombre_estadio AS Estadio,
e.ciudad AS Ciudad
FROM partidos
ORDER BY partidos.fecha_partido;
REFERENCIAS BIBLIOGRÁFICAS
Estado_clasificación
Posición (Ranking)
# Equipo_clasificado
Tarjetas_amarillas
Diferencia_goles
# Desarrollo CLASIFICACIONES
Tarjetas_rojas
Goles_contra
Goles_favor
Sanciones
Puntos
1
Obtienen
# Pais_estadistica
Parti_jugados
1
# Grupo
1
Tienen ESTADÍSTICAS Parti_ganados # Nombre_anfitrión
GRUPOS Pertenecen Parti_perdidos Estadios_anfitrión
Bandera
ANFITRIÓN
Escudo
Descripción Parti_empatados Año_mundial
País
1
Tienen
M 1 M
M
# Nombre_estadio
# Nombre_continente Ciudad
1 M 1 M
Número_paises CONTINENTES Tienen EQUIPOS Ofrecen ESTADIOS Capacidad # id_Alquiler
Paises_clasificados Altitud M Nombre_estadio_alquiler
Temperatura_prom ALQUILER Tarifa
Fecha_Inicio
1 1 M 1 1 Fecha_Fin
Reciben
Tienen Tienen
Obtienen
# Id_cambio
M Jugador_saliente
# Id_gol Tienen M CAMBIOS Jugador_entrante
Jugador_anotador Minuto_partido_cambio
Id_partido_goles Conteo_cambio
Anotan M GOLES Minuto_partido_gol
# Persona_titular
Equipo_anotador
Titularidad
Id_partido_titularidad TITULARIDADES M
Tienen Equipo_perdedor
M
Minuto_Partido
Rol
Tienen
Tienen
M M 1 1 M M 1 1 1
Pasaporte
Nombres_persona # Id_partido Id_boletería
# Persona_lesionada
Apellidos_persona Fecha_partido
Tipo de lesión LESIONES Tienen 1 PERSONA Edad PARTIDOS Equipo_Local BOLETERÍA Entradas_vendidas
Fecha_lesión M Total_recaudo
Camiseta Equipo_Visitante
Nacionalidad
1 M 1 M M M M 1
# Persona_sancionada # persona_amonestada
Tipo de sanción M M # Id_partido_tarjeta
Tienen Participan Tienen
Estado_sanción SANCIONES TARJETAS Minuto_partido_tarjeta
Fecha_sanción Color_tarjeta
Tienen
# Persona_en_baja
Estado_baja 1
Motivo_baja BAJAS Obtienen
# Fecha_baja
M M
# Persona_posicion
POSICIONES # Id_partido_posicion
Tienen
Posición
Minuto_partido_posicion