Ejemplo #1:
Crear una tabla para registrar los tres restaurantes de la lista, otra tabla con los tres tipos de pizza, otra tabla con las tres área de envío y una cuarta tabla que registre todos los pedidos que se muestran en la lista.
Posteriormente realizar una consulta SELECT utilizando la clausula INNER-JOIN que muestre la información como se refleja en la lista.
Restaurante
|
Tipo de Pizza
|
Área de envío
|
Power Pizza
|
Corteza gruesa
|
San Bosco
|
Power Pizza
|
Corteza gruesa
|
Las Eugenias
|
Power Pizza
|
Corteza fina
|
San Bosco
|
Power Pizza
|
Corteza fina
|
Las Eugenias
|
Modena Pizza
|
Corteza fina
|
Las velitas
|
Modena Pizza
|
Corteza rellena
|
Las velitas
|
Pizzeria Josue
|
Corteza gruesa
|
San Bosco
|
Pizzeria Josue
|
Corteza gruesa
|
Las Eugenias
|
Pizzeria Josue
|
Corteza gruesa
|
Las velitas
|
Pizzeria Josue
|
Corteza rellena
|
San Bosco
|
Pizzeria Josue
|
Corteza rellena
|
Las Eugenias
|
Pizzeria Josue
|
Corteza rellena
|
Las velitas
|
CREATE DATABASES IF NOT EXISTS pizzerias;
CREATE TABLE IF NOT EXISTS restaurante(
codigo INT(5) NOT NULL PRIMARY KEY,
nombre VARCHAR(40) NOT NULL
)ENGINE INNODB;
CREATE TABLE IF NOT EXISTS pizza(
codigo INT(5) NOT NULL PRIMARY KEY,
nombre VARCHAR(40) NOT NULL
)ENGINE INNODB;
CREATE TABLE IF NOT EXISTS area(
codigo INT(5) NOT NULL PRIMARY KEY,
nombre VARCHAR(40) NOT NULL
)ENGINE INNODB;
CREATE TABLE IF NOT EXISTS pedidos(
cod_rest INT(5) NOT NULL,
cod_pizza INT(5) NOT NULL,
cod_area INT(5) NOT NULL,
FOREIGN KEY (cod_rest) REFERENCES restaurante(codigo)
ON DELETE CASCADE
ON UPDATE CASCADE,
FOREIGN KEY (cod_pizza) REFERENCES pizza(codigo)
ON DELETE CASCADE
ON UPDATE CASCADE,
FOREIGN KEY (cod_area) REFERENCES area(codigo)
ON DELETE CASCADE
ON UPDATE CASCADE
) ENGINE INNODB;
INSERT INTO restaurante(codigo,nombre) VALUES(1,"Power Pizza"),(2,"Modena Pizza"),(3,"Pizzeria Josue");
INSERT INTO pizza(codigo,nombre) VALUES(1,"Corteza gruesa"),(2,"Corteza fina"),(3,"Corteza rellena");
INSERT INTO area(codigo,nombre) VALUES(1,"San Bosco"),(2,"Las Eugenias"),(3,"Las Velitas");
INSERT INTO pedidos(cod_rest,cod_pizza,cod_area)
VALUES(1,1,1),(1,1,2),(1,2,1),(1,2,2),(2,2,3),(2,3,3),(3,1,1),(3,1,2),(3,2,3),(3,3,1),(3,3,2),(3,3,3);
SELECT r.nombre AS "Restaurante",z.nombre AS "Tipo de Pizza",a.nombre AS "Area de Envío"
FROM pedidos AS p INNER JOIN restaurante AS r ON p.cod_rest = r.codigo INNER JOIN pizza AS z ON p.cod_pizza = z.codigo INNER JOIN area AS a ON p.cod_area = a.codigo
ORDER BY r.nombre,z.nombre;
Imagen de: WikiHow
No hay comentarios:
Publicar un comentario