-- Eliminar tablas si existen (sin esquemas)
DROP TABLE IF EXISTS venta;
DROP TABLE IF EXISTS libro;
DROP TABLE IF EXISTS editorial;
DROP TABLE IF EXISTS autor;
CREATE TABLE autor(
autId INT AUTO_INCREMENT PRIMARY KEY,
autNombre VARCHAR(30) NOT NULL,
autApellido VARCHAR(30) NOT NULL,
autEmail CHAR(25),
autPais VARCHAR(20) DEFAULT 'Colombia' -- reemplazo ENUM por VARCHAR
);
CREATE TABLE editorial(
ediId SMALLINT AUTO_INCREMENT PRIMARY KEY,
ediNombre CHAR(30) NOT NULL
);
CREATE TABLE libro(
libId INT PRIMARY KEY,
libNombre CHAR(50) NOT NULL,
libPub SMALLINT,
ediId SMALLINT NOT NULL,
autId INT NOT NULL,
libPrecio DECIMAL(10,1) NOT NULL,
FOREIGN KEY(ediId) REFERENCES editorial(ediId),
FOREIGN KEY(autId) REFERENCES autor(autId)
);
CREATE TABLE venta(
vtaId INT AUTO_INCREMENT PRIMARY KEY,
vtaFecha DATE NOT NULL,
libId INT NOT NULL,
vtaCantidad SMALLINT NOT NULL,
vtaTotal DECIMAL(10,1) NOT NULL,
FOREIGN KEY(libId) REFERENCES libro(libId)
);
-- Insertar datos
INSERT INTO editorial(ediNombre) VALUES('Sudamericana'),('Cromos'),('GEUP Colombia'),('Samuel'),('Planeta'),('Panamericana'),('Penguin Random House');
INSERT INTO autor(autNombre, autApellido) VALUES
('Gabriel', 'García Márquez'),
('Rafael','Pombo'),
('Jorge','Isaacs'),
('José Eustasio','Rivera'),
('Gustavo','Álvarez Gardeazábal'),
('Paulo','Coelho'),
('Héctor','Abad Faciolince');
UPDATE autor SET autEmail = 'pcoelho@gmail.com', autPais = 'Brasil' WHERE autNombre = 'Paulo';
UPDATE autor SET autEmail = 'hAbad@gmail.com' WHERE autNombre = 'Héctor';
INSERT INTO libro(libId,libNombre,libPub,ediId,autId,libPrecio) VALUES
(1001, 'Cien años de soledad',1967,1,1, 100000),
(1002, 'La Vorágine',1924,2,4, 110000),
(1003, 'María',1867,4,3, 80000),
(1004, 'Condores no entierran todos los días',1971,3,5,80000),
(1005, 'El renacuajo paseador',1867,5,2,60000),
(1006, 'El olvido que seremos',2005,6,7,150000),
(1007, 'El camino del arquero',2017,5,6,130000),
(1008, 'El amor en los tiempos del cólera',1985,6,1,120000);
INSERT INTO venta(vtaFecha, libId, vtaCantidad, vtaTotal) VALUES
('2020-04-17', 1005, 2,120000),
('2020-07-08', 1001, 2,200000),
('2020-09-23', 1001, 1,100000),
('2020-09-27', 1003, 1,80000),
('2020-11-07', 1003, 2,160000),
('2020-11-17', 1007, 2,260000),
('2020-12-18', 1007, 1,130000),
('2021-01-17', 1008, 1,120000),
('2021-02-17', 1002, 3,330000),
('2021-03-17', 1005, 1,60000),
('2021-03-17', 1006, 2,300000),
('2021-04-17', 1004, 1,80000),
('2021-04-17', 1001, 1,120000),
('2021-05-17', 1007, 1,130000),
('2021-06-09', 1006, 1,150000);
SELECT libnombre FROM libro