You are on page 1of 13

UNIVERSIDAD TCNICA DE AMBATO

FACULTAD DE INGENIERA EN SISTEMAS


CENTRO DE ESTUDIOS DE POSGRADO
MAESTRA EN GERENCIA DE SISTEMAS DE
INFORMACIN

TEMA: Modelamiento de una base de datos para un Mundial de Ftbol

AUTOR: MARIO TORRES


TUTOR: MSC. KLEVER URBINA

AMBATO-ECUADOR
2016

MUNDIAL DE FUTBOL

Enunciado

Disear una base de datos para organizar el campeonato mundial de ftbol. 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 funcin en un partido y otra distinta en otro
partido.
Estadsticas: Se desea saber los goles que ha marcado un jugador en qu partido y en qu minuto,
tambin se desea poder describir cmo sucedi el gol.
Porteros: Se desea almacenar cuntas paradas ha realizado, en qu minuto, y en qu situacin se
han producido: penalti, tiro libre, crner 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 eliminacin 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 ms de una vez en un solo da.
En una fecha si pueden jugar varios partidos.
Un rbitro solo es central en una fecha, es decir no puede ser central ms de una vez en un solo da.
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) Cul es el equipo ms goleador?
b) Cul es el equipo al que le anotaron ms goles?
c) Cul es el equipo campen?
d) Cules equipos llegaron a cuartos de final?
e) Quin(es) es el jugador con ms anotaciones?
f) Quin(es) es el portero con ms atajadas?
g) Quin(es) es el jugador con ms lesiones?

Diagrama ER Chen

Diagrama ERD IDF1X

Diagrama ER UML

Diagrama Relacional

SQL de Creacin 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 ()
;