Bases de Datos Base de datos mundial de Rusia 2018

Bases de Datos Base de datos mundial de Rusia 2018 Docente Bases de Datos Facultad de Ingeniería y Ciencias Básicas Bo

Views 85 Downloads 8 File size 759KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

Bases de Datos Base de datos mundial de Rusia 2018

Docente Bases de Datos

Facultad de Ingeniería y Ciencias Básicas Bogotá 2019

Diagrama Conceptual DataBase Mundial de Fútbol Rusia 2018

Tabla de sustantivos Atributos (Adjetivos) Número de jugadores Cambios País Registro posiciones Jugador Registrar resultado Registro países Partidos jugados Partido ganado Partido empatado Partidos perdidos Goles a favor Goles en contra Puntos totales Goles por jugador Tarjetas por jugador Lesiones por jugador Lesiones por equipo Cambios realizados por equipo Jugadores dados de baja por equipo

Tabla de sustantivos general Entidades (Nombres o sustantivos) Equipos Partidos Jugadores Encuentro (Partido) Continente Grupos

Relaciones (Verbos) tiene juegan Disputan Llevar Organizar Hace Pertenece

Tabla sustantivos candidatos SUSTANTIVO ATRIBUTOS (ADJETIVOS) PK:ID_Grupo REGISTROS

Entidad: Grupos NombreGrupo 1A 2B 3C 4D 5E 6F 7G 8H

SUSTANTIVO Entidad: Continente ATRIBUTOS (ADJETIVOS) PK: ID_Continente NombreContinente REGISTROS

SUSTANTIVO ATRIBUTOS (ADJETIVOS) PK:ID_Equipo REGISTROS

50 Europa 51 Europa 52 Europa 53 Sur América 54 Sur América 55 Europa 56 Europa 57 Sur América

Entidad: Equipo FK:ID_Grupo 100 101 102 103 104 105 106 107

FK:ID_Continente 1 2 3 4 5 6 7 8

SUSTANTIVO Entidad: Jugador ATRIBUTOS (ADJETIVOS) PK:CodigoJugador FK:ID_Equipo REGISTROS

300 301 302 303 304 305 306 307

200 201 202 203 204 205 206 207

PartidosJugados

PartidosGanados

NombreJugador

5 4 7 4 5 3 7 4

EdadJugador

100 Denis Cheryshev 101 Cristiano Ronaldo 102 Antoine Griezmann 103 Lionel Messi 104 Neymar Santos 105 Toni Kroos 106 Harry Kane 107 Yerry Mina

SUSTANTIVO Entidad: Partido ATRIBUTOS (ADJETIVOS) PK:ID_Partido FK:CodigoJugador REGISTROS

NombreEquipo 50 Russia 51 Portugal 52 Francia 53 Argentina 54 Brasil 55 Alemania 56 Inglaterra 57 colombia

NumeroCamiseta 28 34 28 31 27 29 25 24

FasePartido

FechaPartido

300 Octavos 301 Octavos 302 Final 303 Octavos 304 Cuartos 305 Jornada1 306 Semifinal 307 Octavos

PartidosEmpatados 3 1 6 1 3 1 4 2

TarjetasAmarillas 6 7 7 10 10 8 9 13

NombrePartido

1/07/2018 Rusia vs España 30/06/2018 Uruguay vs Portugal 15/07/2018 Francia vs Croacia 30/06/2018 Francia vs Argentina 6/07/2018 Bélgica vs Brasil 17/06/2018 México vs Alemania 11/07/2018 Croacia vs Inglaterra 3/07/2018 Colombia vs Inglaterra

TarjetasRojas 0 2 0 1 1 0 0 0

PartidosPerdidos 0 2 1 1 1 0 0 0

GolesaFavor 2 1 0 2 1 2 3 2

PosicionPartido 0 CentroCampista 0 Delantero 0 Delantero 0 Delantero 0 Delantero 0 CentroCampista 0 Delantero 0 Defensa

GolesEnContra 11 6 14 6 8 2 12 6

GolesAnotados 4 4 4 1 2 1 6 3

MarcadorPartido 1 a1 2a1 4a2 4a3 2a1 1a0 2a1 1 a1

SUSTANTIVO Entidad Débil: Goles_Partido ATRIBUTOS (ADJETIVOS) FK:ID_Goles FK:ID_Partido REGISTROS

SUSTANTIVO ATRIBUTOS (ADJETIVOS) PK:ID_Goles REGISTROS

250 251 252 253 254 255 256 257

200 201 202 203 204 205 206 207

Entidad: Goles NumeroGolesAnotados 250 251 252 253 254 255 256 257

NumeroGolesAnulados 11 6 14 6 8 2 12 6

0 0 0 0 0 0 0 0

Modelo Lógico DataBase Mundial de Fútbol Rusia 2018 (DIAGRAMA)

TotalPuntos 7 6 6 9 3 4 8 3

9 5 19 4 10 3 12 6

TarjetasAmarillas

TarjetasRojas 6 7 12 11 7 2 8 9

1 0 0 0 0 1 0 1

Scripts DataBase Mundial -- ------------------------------------------------------ Schema MundialRusiaDB -- ----------------------------------------------------CREATE SCHEMA IF NOT EXISTS `MundialRusiaDB` DEFAULT CHARACTER SET utf8 ; USE `MundialRusiaDB` ; -- ------------------------------------------------------ Table `MundialRusiaDB`.`Grupos` -- ----------------------------------------------------CREATE TABLE IF NOT EXISTS `MundialRusiaDB`.`Grupos` ( `ID_Grupo` INT NOT NULL, `NombreGrupo` VARCHAR(1) NOT NULL, PRIMARY KEY (`ID_Grupo`)) ENGINE = InnoDB; -- ------------------------------------------------------ Table `MundialRusiaDB`.`Continente` -- ----------------------------------------------------CREATE TABLE IF NOT EXISTS `MundialRusiaDB`.`Continente` ( `ID_Continente` INT NOT NULL, `NombreContinente` VARCHAR(15) NOT NULL, PRIMARY KEY (`ID_Continente`)) ENGINE = InnoDB; -- ------------------------------------------------------ Table `MundialRusiaDB`.`Equipo` -- ----------------------------------------------------CREATE TABLE IF NOT EXISTS `MundialRusiaDB`.`Equipo` ( `ID_Equipo` INT NOT NULL, `ID_Grupo` INT NOT NULL, `ID_Continente` INT NOT NULL, `NombreEquipo` VARCHAR(40) NOT NULL, `PartidosJugados` INT NOT NULL, `PartidosGanados` INT NOT NULL, `PartidosEmpatados` INT NOT NULL, `PartidosPerdidos` INT NOT NULL, `GolesaFavor` INT NOT NULL, `GolesEnContra` INT NOT NULL, `TotalPuntos` INT NOT NULL, `TarjetasAmarillas` INT NOT NULL, `TarjetasRojas` INT NOT NULL, PRIMARY KEY (`ID_Equipo`), INDEX `ID_Grupo_idx` (`ID_Grupo` ASC), INDEX `ID_Continente_idx` (`ID_Continente` ASC), CONSTRAINT `ID_Grupo`

FOREIGN KEY (`ID_Grupo`) REFERENCES `MundialRusiaDB`.`Grupos` (`ID_Grupo`) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT `ID_Continente` FOREIGN KEY (`ID_Continente`) REFERENCES `MundialRusiaDB`.`Continente` (`ID_Continente`) ON DELETE CASCADE ON UPDATE CASCADE) ENGINE = InnoDB; -- ------------------------------------------------------ Table `MundialRusiaDB`.`Jugador` -- ----------------------------------------------------CREATE TABLE IF NOT EXISTS `MundialRusiaDB`.`Jugador` ( `CodigoJugador` INT NOT NULL, `ID_Equipo` INT NOT NULL, `NombreJugador` VARCHAR(45) NOT NULL, `EdadJugador` INT NOT NULL, `NumeroCamiseta` INT NOT NULL, `TarjetasAmarillas` INT NOT NULL, `TarjetasRojas` INT NOT NULL, `PosicionPartido` VARCHAR(45) NOT NULL, `GolesAnotados` INT NOT NULL, PRIMARY KEY (`CodigoJugador`), INDEX `ID_Equipo_idx` (`ID_Equipo` ASC), CONSTRAINT `ID_Equipo` FOREIGN KEY (`ID_Equipo`) REFERENCES `MundialRusiaDB`.`Equipo` (`ID_Equipo`) ON DELETE CASCADE ON UPDATE CASCADE) ENGINE = InnoDB; -- ------------------------------------------------------ Table `MundialRusiaDB`.`Partido` -- ----------------------------------------------------CREATE TABLE IF NOT EXISTS `MundialRusiaDB`.`Partido` ( `ID_Partido` INT NOT NULL, `CodigoJugador` INT NOT NULL, `FasePartido` VARCHAR(45) NOT NULL, `FechaPartido` DATE NOT NULL, `NombrePartido` VARCHAR(50) NOT NULL, `MarcadorPartido` VARCHAR(10) NOT NULL, PRIMARY KEY (`ID_Partido`), INDEX `CodigoJugador_idx` (`CodigoJugador` ASC), CONSTRAINT `CodigoJugador`

FOREIGN KEY (`CodigoJugador`) REFERENCES `MundialRusiaDB`.`Jugador` (`CodigoJugador`) ON DELETE CASCADE ON UPDATE CASCADE) ENGINE = InnoDB; -- ------------------------------------------------------ Table `MundialRusiaDB`.`Goles` -- ----------------------------------------------------CREATE TABLE IF NOT EXISTS `MundialRusiaDB`.`Goles` ( `ID_Goles` INT NOT NULL, `NumeroGolesAnotados` INT NOT NULL, `NumeroGolesAnulados` INT NOT NULL, PRIMARY KEY (`ID_Goles`)) ENGINE = InnoDB; -- ------------------------------------------------------ Table `MundialRusiaDB`.`Goles_Partido` -- ----------------------------------------------------CREATE TABLE IF NOT EXISTS `MundialRusiaDB`.`Goles_Partido` ( `ID_Goles` INT NOT NULL, `ID_Partido` INT NOT NULL, INDEX `ID_Goles_idx` (`ID_Goles` ASC), INDEX `ID_Partido_idx` (`ID_Partido` ASC), CONSTRAINT `ID_Goles` FOREIGN KEY (`ID_Goles`) REFERENCES `MundialRusiaDB`.`Partido` (`ID_Partido`) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT `ID_Partido` FOREIGN KEY (`ID_Partido`) REFERENCES `MundialRusiaDB`.`Goles` (`ID_Goles`) ON DELETE CASCADE ON UPDATE CASCADE) ENGINE = InnoDB;

SET SQL_MODE=@OLD_SQL_MODE; SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS; SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS;

Script para poblar las tablas de datos: Script Tabla Grupos:

Script Tabla Continente:

Script Tabla Equipo:

Script Tabla jugador:

Script Tabla partido:

Script Tabla goles:

Script para actualizar el número de camiseta de un jugador:

Script para borrar un partido:

Script para actualizar un gol anotado por un gol anulado:

Script para ¿Cuál es el jugador más joven que anotó un gol?

¿En qué equipo juega el jugador de nombre x?

¿Cuántos partidos ha jugado el jugador de número de camiseta x?

¿Quién es el máximo goleador de la copa y en qué equipo juega?

¿Qué equipo recibió menos goles en contra?

¿Cuál es el equipo que más tarjetas rojas acumuló?

¿Cuál el equipo que más tarjetas amarillas acumuló?

¿Cuántos partidos dieron como resultado empate?

¿Cuál es la tabla de equipo, partidos ganados, partidos perdidos, partidos empatados, goles a favor, goles en contra, puntos acumulados?