Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Relaciones
Relación Entidades que Intervienen Cardinalidad
pertenece Jugador, Equipo 1,n
tiene Jugador, Acciones 1,n
presenta Partido, Acciones 1,n
registra Tabla de Resultados, Partido 1,n
Se_relaciona Equipo, Tabla de Resultados n,1
Juega Equipo, Partido n,n
participa Equipo, Campeonato n,1
tiene Campeonato, Partido 1,1
Entidades
Nombre Entidad Jugador
Descripción Corresponde a los miembros del equipo
Atributo Descripción del Atributo
Posición Corresponde a la posición jugador en el campo.
Seguimiento Se refiere al desempeño del jugador a medida
que pasan los partidos.
Proceso de Normalización
Primera forma normal. Se dividió el atributo Nombre en la tabla Jugadores entre Nombres y
Segunda forma normal. Se halló una dependencia funcional parcial en la tabla Jugadores con
el atributo Equipo y en la tabla Equipos con el atributo Jugadores por lo que se creó una tabla llamada
Equipos-Jugadores. Los atributos no dependían de la llave primaria. Por otra parte, en la tabla
Jugadores el atributo Posicion no dependía de la llave primaria en por lo que se creo la tabla
Jugadores-Posiciones.
Tercera forma normal. Existía una dependencia funcional transitiva en la tabla Jugadores-
Posiciones ya que el atributo Id_Posicion era un atributo no clave del cual dependía Nombre_Posicion
que a su vez era un atributo no clave. De este modo se crea la tabla Posiciones.
Modelo lógico.
Capturas del Modelo Físico
Tabla Acciones
Tabla CAMPEONATO
Tabla Equipos
Tabla Equipos-Jugadores
Tabla Jugadores
Tabla Partidos
Tabla Posiciones
Tabla Resultados
Script o Código
-- -----------------------------------------------------
-- Schema Mundial
-- -----------------------------------------------------
-- -----------------------------------------------------
-- Schema Mundial
-- -----------------------------------------------------
CREATE SCHEMA IF NOT EXISTS `Mundial` DEFAULT CHARACTER SET utf8 ;
USE `Mundial` ;
-- -----------------------------------------------------
-- Table `Mundial`.`Equipos`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `Mundial`.`Equipos` (
`id_Equipo` INT NOT NULL,
`Pais` VARCHAR(15) NOT NULL,
`Grupo` INT NOT NULL,
`Continente` VARCHAR(15) NOT NULL,
PRIMARY KEY (`id_Equipo`))
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `Mundial`.`Jugadores`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `Mundial`.`Jugadores` (
`id_jugador` INT NOT NULL,
`Apellidos` VARCHAR(45) NOT NULL,
`Nombres` VARCHAR(45) NOT NULL,
`Dorsal` INT NOT NULL,
`Enfermedad` TINYINT NULL,
PRIMARY KEY (`id_jugador`))
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `Mundial`.`Posiciones`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `Mundial`.`Posiciones` (
`id_Posicion` INT NOT NULL,
`Nombre_posicion` VARCHAR(20) NULL,
PRIMARY KEY (`id_Posicion`))
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `Mundial`.`Equipos-Jugadores`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `Mundial`.`Equipos-Jugadores` (
`Equipos_id_Equipo` INT NOT NULL,
`Jugadores_id_jugador` INT NOT NULL,
PRIMARY KEY (`Equipos_id_Equipo`, `Jugadores_id_jugador`),
INDEX `fk_Equipos-jugadores_Jugadores1_idx` (`Jugadores_id_jugador` ASC) VISIBLE,
CONSTRAINT `fk_Equipos-jugadores_Equipos1`
FOREIGN KEY (`Equipos_id_Equipo`)
REFERENCES `Mundial`.`Equipos` (`id_Equipo`)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT `fk_Equipos-jugadores_Jugadores1`
FOREIGN KEY (`Jugadores_id_jugador`)
REFERENCES `Mundial`.`Jugadores` (`id_jugador`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `Mundial`.`Partidos`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `Mundial`.`Partidos` (
`Id_partido` INT NOT NULL,
`Fecha_Hora` DATETIME NOT NULL,
`Equipos_id_Equipo1` INT NOT NULL,
`Equipos_id_Equipo2` INT NOT NULL,
`Estadio` VARCHAR(45) NOT NULL,
`Goles_Equipo1` INT NULL,
`Goles_Equipo2` INT NULL,
PRIMARY KEY (`Id_partido`, `Equipos_id_Equipo1`, `Equipos_id_Equipo2`),
INDEX `fk_Partidos_Equipos2_idx` (`Equipos_id_Equipo2` ASC) VISIBLE,
CONSTRAINT `fk_Partidos_Equipos1`
FOREIGN KEY (`Equipos_id_Equipo1`)
REFERENCES `Mundial`.`Equipos` (`id_Equipo`)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT `fk_Partidos_Equipos2`
FOREIGN KEY (`Equipos_id_Equipo2`)
REFERENCES `Mundial`.`Equipos` (`id_Equipo`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `Mundial`.`Acciones`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `Mundial`.`Acciones` (
`Jugadores_id_jugador` INT NOT NULL,
`Goles` INT NULL,
`Tarjetas_Rojas` INT NULL,
`Tarjetas_Amarillas` INT NULL,
`Lesiones` INT NULL,
`Cambio_JEntrante` INT NULL,
`Cambio_JSaliente` INT NULL,
INDEX `fk_Acciones_Jugadores1_idx` (`Jugadores_id_jugador` ASC) VISIBLE,
CONSTRAINT `fk_Acciones_Jugadores1`
FOREIGN KEY (`Jugadores_id_jugador`)
REFERENCES `Mundial`.`Jugadores` (`id_jugador`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `Mundial`.`Tabla Resultados`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `Mundial`.`Tabla_Resultados` (
`Equipos_id_Equipo` INT NOT NULL,
`Posicion` INT NOT NULL,
`P_Ganados` INT NOT NULL,
`P_Empatados` INT NOT NULL,
`P_Perdidos` INT NOT NULL,
`P_Jugados` INT NOT NULL,
`Goles_Favor` INT NOT NULL,
`Goles_Contra` VARCHAR(45) NOT NULL,
`Total_puntos` INT NOT NULL,
PRIMARY KEY (`Equipos_id_Equipo`),
CONSTRAINT `fk_Tabla_Resultados_Equipos1`
FOREIGN KEY (`Equipos_id_Equipo`)
REFERENCES `Mundial`.`Equipos` (`id_Equipo`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `Mundial`.`CAMPEONATO`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `Mundial`.`CAMPEONATO` (
`Campeon` TINYINT NOT NULL,
`Subcampeon` TINYINT NOT NULL,
`Cuartos` TINYINT NOT NULL,
`Octavos` TINYINT NOT NULL,
`Equipos_id_Equipo` INT NOT NULL,
INDEX `fk_CAMPEONATO_Equipos1_idx` (`Equipos_id_Equipo` ASC) VISIBLE,
CONSTRAINT `fk_CAMPEONATO_Equipos1`
FOREIGN KEY (`Equipos_id_Equipo`)
REFERENCES `Mundial`.`Equipos` (`id_Equipo`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `Mundial`.`Jugadores-Posiciones`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `Mundial`.`Jugadores-Posiciones` (
`Jugadores_id_jugador` INT NOT NULL,
`Posiciones_id_Posicion` INT NOT NULL,
PRIMARY KEY (`Jugadores_id_jugador`, `Posiciones_id_Posicion`),
INDEX `fk_Jugadores-Posiciones_Posiciones1_idx` (`Posiciones_id_Posicion` ASC) VISIBLE,
CONSTRAINT `fk_Jugadores-Posiciones_Jugadores1`
FOREIGN KEY (`Jugadores_id_jugador`)
REFERENCES `Mundial`.`Jugadores` (`id_jugador`)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT `fk_Jugadores-Posiciones_Posiciones1`
FOREIGN KEY (`Posiciones_id_Posicion`)
REFERENCES `Mundial`.`Posiciones` (`id_Posicion`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;
SET SQL_MODE=@OLD_SQL_MODE;
SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;
SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS;