0% encontró este documento útil (0 votos)
26 vistas2 páginas

TP II

El documento define un esquema de base de datos llamado 'tp_II' con tablas para equipos, encuentros, resultados y arenas, incluyendo sus respectivas relaciones y claves foráneas. Se incluyen ejemplos de inserciones de datos y consultas SQL para obtener información sobre encuentros y resultados, así como operaciones de eliminación y actualización de datos. Además, se establece un sistema de puntuación para los equipos y se realizan operaciones de filtrado basadas en criterios de puntaje.

Cargado por

adriano10ardi
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como TXT, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
26 vistas2 páginas

TP II

El documento define un esquema de base de datos llamado 'tp_II' con tablas para equipos, encuentros, resultados y arenas, incluyendo sus respectivas relaciones y claves foráneas. Se incluyen ejemplos de inserciones de datos y consultas SQL para obtener información sobre encuentros y resultados, así como operaciones de eliminación y actualización de datos. Además, se establece un sistema de puntuación para los equipos y se realizan operaciones de filtrado basadas en criterios de puntaje.

Cargado por

adriano10ardi
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como TXT, PDF, TXT o lee en línea desde Scribd

DROP SCHEMA IF EXISTS tp_II;

CREATE SCHEMA tp_II;


USE tp_II;
SET foreign_key_checks=0;

CREATE TABLE equipo (


cod_equipo INT NOT NULL,
nombre VARCHAR(50) NOT NULL,
puntaje INT NOT NULL,
PRIMARY KEY(cod_equipo)
);

CREATE TABLE equipo_encuentro (


id_encuentro INT NOT NULL,
cod_equipo INT NOT NULL,
PRIMARY KEY(id_encuentro, cod_equipo),
FOREIGN KEY (cod_equipo) REFERENCES equipo(cod_equipo),
FOREIGN KEY (id_encuentro) REFERENCES encuentro(id_encuentro)
);

CREATE TABLE encuentro (


id_encuentro INT NOT NULL,
id_arena INT NOT NULL,
equipo_1 INT NOT NULL,
equipo_2 INT NOT NULL,
descripcion VARCHAR(90),
PRIMARY KEY(id_encuentro),
FOREIGN KEY (id_arena) REFERENCES arena(id_arena)
);

CREATE TABLE resultado (


id_resultado INT NOT NULL,
id_encuentro INT NOT NULL,
descripcion VARCHAR(90),
PRIMARY KEY(id_resultado),
FOREIGN KEY (id_encuentro) REFERENCES encuentro(id_encuentro)
);

CREATE TABLE arena (


id_arena INT NOT NULL,
nombre VARCHAR(50) NOT NULL,
tamaño VARCHAR(20) NOT NULL,
descripcion VARCHAR(90),
PRIMARY KEY(id_arena)
);

/* CONSULTAS: */
/* Ejemplos para verificar: */

INSERT INTO equipo (cod_equipo, nombre, puntaje) VALUES


(1, 'Equipo A', 91),
(2, 'Equipo B', 85),
(3, 'Equipo C', 75);

INSERT INTO equipo_encuentro (id_encuentro, cod_equipo) VALUES


(1, 3),
(2, 4),
(3, 1);
INSERT INTO encuentro (id_encuentro, id_arena, equipo_1, equipo_2, descripcion)
VALUES
(1, 1, 1, 2, 'Encuentro 1'),
(2, 2, 1, 3, 'Encuentro 2'),
(3, 1, 2, 3, 'Encuentro 3');

INSERT INTO resultado (id_resultado, id_encuentro, descripcion) VALUES


(1, 1, 'Resultado Encuentro 1'),
(2, 2, 'Resultado Encuentro 2'),
(3, 3, 'Resultado Encuentro 3');

INSERT INTO arena (id_arena, nombre, tamaño, descripcion) VALUES


(1, 'Arena 1', '250m2', 'Descripción Arena 1'),
(2, 'Arena 2', '280m2', 'Descripción Arena 2');

/* 1. */

SELECT CONCAT(e.id_encuentro,' ',e.descripcion) AS descripcion_encuentro,


r.descripcion AS descripcion_resultado,
a.nombre AS nombre_arena,
eq1.nombre AS nombre_equipo1, eq2.nombre AS nombre_equipo2
FROM encuentro e
JOIN resultado r ON e.id_encuentro = r.id_encuentro
JOIN arena a ON e.id_arena = a.id_arena
JOIN equipo eq1 ON e.equipo_1 = eq1.cod_equipo
JOIN equipo eq2 ON e.equipo_2 = eq2.cod_equipo
WHERE eq1.puntaje > 80 AND eq2.puntaje > 80
GROUP BY eq1.nombre
ORDER BY eq1.puntaje DESC;

/* 2. */

DELETE FROM arena


WHERE tamaño <= '270m2';

/* 3. */

UPDATE equipo
SET puntaje = puntaje * 1.3
WHERE puntaje < (SELECT MIN(puntaje) FROM equipo);|

También podría gustarte