Modelo Entidad Relacion Futbol

UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE INGENIERÍA EN SISTEMAS CENTRO DE ESTUDIOS DE POSGRADO MAESTRÍA EN GERENCIA DE

Views 239 Downloads 67 File size 600KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE INGENIERÍA EN SISTEMAS CENTRO DE ESTUDIOS DE POSGRADO MAESTRÍA EN GERENCIA DE SISTEMAS DE INFORMACIÓN

TEMA: “Modelamiento de una base de datos para un Mundial de Fútbol”

AUTOR: MARIO TORRES TUTOR: MSC. KLEVER URBINA

AMBATO-ECUADOR 2016

MUNDIAL DE FUTBOL

Enunciado

Diseñar una base de datos para organizar el campeonato mundial de fútbol. Considerar los siguientes aspectos: Jugadores: un jugador puede pertenecer a un único equipo y puede actuar en varios puestos distintos, pero en determinado partido solo puede jugar en un puesto. Árbitros: En un partido intervienen 3 árbitros titulares, linier izquierdo, derecho, principal y un árbitro secundario. Un árbitro puede realizar una función en un partido y otra distinta en otro partido. Estadísticas: Se desea saber los goles que ha marcado un jugador en qué partido y en qué minuto, también se desea poder describir cómo sucedió el gol. Porteros: Se desea almacenar cuántas paradas ha realizado, en qué minuto, y en qué situación se han producido: penalti, tiro libre, córner o jugada de ataque. Partidos: Todos generan un acta arbitrar donde se pueden incluir todos los comentarios que el árbitro considere oportuno: lesiones, expulsiones, tarjetas, etc. Fases: la primera fase la juegan todos los equipos (32 en total) en grupos de 4 equipos; cada partido ganado significa 3 puntos al ganador, cada empate es un punto a cada equipo; clasifican los dos primeros de cada grupo. La segunda fase son de eliminación directa (no se permite empates) y ésta comprende los octavos, cuartos, semifinales y final. Un partido solo puede tener 2 equipos participantes. Un equipo solo puede jugar en una fecha, es decir no puede jugar más de una vez en un solo día. En una fecha si pueden jugar varios partidos. Un árbitro solo es central en una fecha, es decir no puede ser central más de una vez en un solo día. Un equipo tiene 11 jugadores titulares y 3 suplentes en cada partido; pero puede tener hasta 22 jugadores. Verifique la validez del modelo respondiendo las siguientes preguntas: a) ¿Cuál es el equipo más goleador? b) ¿Cuál es el equipo al que le anotaron más goles? c) ¿Cuál es el equipo campeón? d) ¿Cuáles equipos llegaron a cuartos de final? e) ¿Quién(es) es el jugador con más anotaciones? f) ¿Quién(es) es el portero con más atajadas? g) ¿Quién(es) es el jugador con más lesiones?

Diagrama ER – Chen

Diagrama ERD IDF1X

Diagrama ER UML

Diagrama Relacional

SQL de Creación de Modelo Relacional /* ---------------------------------------------------- */ /* Generated by Enterprise Architect Version 12.1 /* Created On : 29-May-2016 9:44:08 PM /* DBMS : MSAccess /* ---------------------------------------------------- */ /* Create Tables */ CREATE TABLE [Acta] ( [id] Short NOT NULL, [fecha] datetime NULL ) ; CREATE TABLE [Amarillas] ( [id] Short NULL ) ; CREATE TABLE [arbitrar_linear] ( [id] Short NOT NULL ) ; CREATE TABLE [arbitrar_principal] ( [id] Short NOT NULL ) ; CREATE TABLE [arbitrar_secundario] ( [id] Short NOT NULL ) ; CREATE TABLE [Arbitro] ( [id] Short NOT NULL, [nombre] text NULL ) ; CREATE TABLE [Atajadas] ( [id_situacion] Short NULL, [id_eventos] Short NOT NULL ) ; CREATE TABLE [Cuartos] (

*/ */ */

[grupo] text NULL ) ; CREATE TABLE [Equipo] ( [id] Short NOT NULL, [nombre] text NULL ) ; CREATE TABLE [Eventos] ( [id_evento] Short NOT NULL, [descripcion] text NULL, [minuto] Short NULL ) ; CREATE TABLE [Eventos_jugador] ( [id_evento] Short NOT NULL, [id_jugador] Short NULL ) ; CREATE TABLE [Eventos_otros] ( [tipo] text NULL ) ; CREATE TABLE [Fase_dos] ( [fase_id] Short NOT NULL ) ; CREATE TABLE [Fase_uno] ( [grupo] text NULL ) ; CREATE TABLE [Fases] ( [id] Short NOT NULL ) ; CREATE TABLE [Final] ( [grupo] text NULL ) ; CREATE TABLE [genera]

( [id_evento] Short NOT NULL ) ; CREATE TABLE [Goles] ( [id] Short NULL ) ; CREATE TABLE [Jugadores] ( [id_jugador] Short NOT NULL, [nombre] text NULL, [apellido] text NULL, [edad] Short NULL, [id] Short NULL ) ; CREATE TABLE [jugar_local] ( [puntos] Short NULL, [goles] Short NULL, [id] Short NOT NULL ) ; CREATE TABLE [jugar_visitante] ( [goles] Short NULL, [puntos] Short NULL, [id] Short NOT NULL ) ; CREATE TABLE [Lesiones] ( [id] Short NULL ) ; CREATE TABLE [Octavos] ( [grupo] text NULL ) ; CREATE TABLE [participan] ( [id] Short NOT NULL ) ; CREATE TABLE [Partido] (

[fecha] datetime NULL ) ; CREATE TABLE [Posicion] ( [nombre] Text(50) NULL, [id] Short NOT NULL ) ; CREATE TABLE [Rojas] ( [id] Short NULL ) ; CREATE TABLE [Semifinal] ( [grupo] text NULL ) ; CREATE TABLE [ser_suplente] ( [desde_minuto] Short NULL, [hasta_minuto] Short NULL, [id_jugador] Short NOT NULL ) ; CREATE TABLE [ser_titular] ( [hasta_minuto] Short NULL, [desde_minuto] Short NULL, [id] Short NULL, [id_jugador] Short NOT NULL ) ; CREATE TABLE [Situacion] ( [id] Short NOT NULL ) ; CREATE TABLE [Tarjetas] ( [id_eventos] Short NULL ) ; /* Create Primary Keys, Indexes, Uniques, Checks */ ALTER TABLE [Acta] ADD CONSTRAINT [PK_Acta] PRIMARY KEY ([id]) ;

ALTER TABLE [arbitrar_linear] ADD CONSTRAINT [PK_arbitrar_linear] PRIMARY KEY ([id]) ; ALTER TABLE [arbitrar_principal] ADD CONSTRAINT [PK_arbitrar_principal] PRIMARY KEY ([id]) ; ALTER TABLE [arbitrar_secundario] ADD CONSTRAINT [PK_arbitrar_secundario] PRIMARY KEY ([id]) ; ALTER TABLE [Arbitro] ADD CONSTRAINT [PK_Arbitro] PRIMARY KEY ([id]) ; ALTER TABLE [Atajadas] ADD CONSTRAINT [PK_Atajadas] PRIMARY KEY ([id_eventos]) ; ALTER TABLE [Equipo] ADD CONSTRAINT [PK_Equipo] PRIMARY KEY ([id]) ; ALTER TABLE [Eventos] ADD CONSTRAINT [PK_Eventos] PRIMARY KEY ([id_evento]) ; ALTER TABLE [Eventos_jugador] ADD CONSTRAINT [PK_Eventos_jugador] PRIMARY KEY ([id_evento]) ; ALTER TABLE [Fase_dos] ADD CONSTRAINT [PK_Fase_dos] PRIMARY KEY ([fase_id]) ; ALTER TABLE [Fases] ADD CONSTRAINT [PK_Fases] PRIMARY KEY ([id]) ; ALTER TABLE [genera] ADD CONSTRAINT [PK_genera] PRIMARY KEY ([id_evento]) ; ALTER TABLE [Jugadores] ADD CONSTRAINT [PK_Jugadores] PRIMARY KEY ([id_jugador]) ; ALTER TABLE [jugar_local] ADD CONSTRAINT [PK_jugar_local] PRIMARY KEY ([id]) ; ALTER TABLE [jugar_visitante] ADD CONSTRAINT [PK_jugar_visitante] PRIMARY KEY ([id]) ;

ALTER TABLE [participan] ADD CONSTRAINT [PK_participan] PRIMARY KEY ([id]) ; ALTER TABLE [Posicion] ADD CONSTRAINT [PK_Posicion] PRIMARY KEY ([id]) ; ALTER TABLE [ser_suplente] ADD CONSTRAINT [PK_ser_suplente] PRIMARY KEY ([id_jugador]) ; ALTER TABLE [Situacion] ADD CONSTRAINT [PK_Situacion] PRIMARY KEY ([id]) ; CREATE INDEX [pk_eventos] ON [Tarjetas] ([id_eventos] ASC) ; /* Create Foreign Key Constraints */ ALTER TABLE [Amarillas] ADD CONSTRAINT [FK_puede_incluir_amarillas_Amarillas] FOREIGN KEY ([id]) REFERENCES [Acta] ([id]) ; ALTER TABLE [arbitrar_linear] ADD CONSTRAINT [FK_Arbitro_arbitrar_linear] FOREIGN KEY ([id]) REFERENCES [Arbitro] ([id]) ; ALTER TABLE [arbitrar_principal] ADD CONSTRAINT [FK_Arbitro_arbitrar_principal] FOREIGN KEY ([id]) REFERENCES [Arbitro] ([id]) ; ALTER TABLE [arbitrar_secundario] ADD CONSTRAINT [FK_Arbitro_arbitrar_secundario] FOREIGN KEY ([id]) REFERENCES [Arbitro] ([id]) ; ALTER TABLE [Atajadas] ADD CONSTRAINT [FK_Situacion_Atajadas] FOREIGN KEY ([id_eventos]) REFERENCES () ; ALTER TABLE [Atajadas] ADD CONSTRAINT [FK_Eventos] FOREIGN KEY ([id_eventos]) REFERENCES () ; ALTER TABLE [Eventos_jugador] ADD CONSTRAINT [FK_generar_Jugadores] FOREIGN KEY ([id_jugador]) REFERENCES [Jugadores] ([id_jugador]) ; ALTER TABLE [Eventos_jugador] ADD CONSTRAINT [FK_eventos] FOREIGN KEY ([id_evento]) REFERENCES () ; ALTER TABLE [Fases] ADD CONSTRAINT [FK_estar_Equipo] FOREIGN KEY ([id]) REFERENCES [Equipo] ([id]) ;

ALTER TABLE [genera] ADD CONSTRAINT [FK_Eventos_genera] FOREIGN KEY ([id_evento]) REFERENCES [Eventos] ([id_evento]) ; ALTER TABLE [Goles] ADD CONSTRAINT [FK_puede_incluir_goles_Goles] FOREIGN KEY ([id]) REFERENCES [Acta] ([id]) ; ALTER TABLE [Jugadores] ADD CONSTRAINT [FK_pertenecer_Equipo] FOREIGN KEY ([id]) REFERENCES [Equipo] ([id]) ; ALTER TABLE [jugar_local] ADD CONSTRAINT [FK_Equipo_jugar_local] FOREIGN KEY ([id]) REFERENCES [Equipo] ([id]) ; ALTER TABLE [jugar_visitante] ADD CONSTRAINT [FK_Equipo_jugar_visitante] FOREIGN KEY ([id]) REFERENCES [Equipo] ([id]) ; ALTER TABLE [Lesiones] ADD CONSTRAINT [FK_puede_incluir_lesiones_Lesiones] FOREIGN KEY ([id]) REFERENCES [Acta] ([id]) ; ALTER TABLE [participan] ADD CONSTRAINT [FK_Equipo_participan] FOREIGN KEY ([id]) REFERENCES [Equipo] ([id]) ; ALTER TABLE [Rojas] ADD CONSTRAINT [FK_puede_incluir_rojas_Rojas] FOREIGN KEY ([id]) REFERENCES [Acta] ([id]) ; ALTER TABLE [ser_suplente] ADD CONSTRAINT [FK_Jugadores_ser_suplente] FOREIGN KEY ([id_jugador]) REFERENCES [Jugadores] ([id_jugador]) ; ALTER TABLE [ser_titular] ADD CONSTRAINT [PK_ser_titular] FOREIGN KEY ([id_jugador]) REFERENCES () ; ALTER TABLE [ser_titular] ADD CONSTRAINT [FK_Jugadores_ser_titular] FOREIGN KEY ([id_jugador]) REFERENCES [Jugadores] ([id_jugador]) ; ALTER TABLE [ser_titular] ADD CONSTRAINT [FK_Posicion] FOREIGN KEY ([id]) REFERENCES () ;