Estructura de Datos

Tomada de: https://dev.to/snj/how-to-learn-data-structures-and-algorithms-an-ultimate-guide-for-beginners-2h9c
CREATE TABLE libro (
idlibro VARCHAR(10) PRIMARY KEY NOT NULL,
titulo VARCHAR(50) NOT NULL,
nropagina INT (5) NOT NULL,
precio INT (50),
codigomat VARCHAR(60),
CONSTRAINT `FK_STOCK_ID` FOREIGN KEY (`codigomat`) REFERENCES `materia` (`codigomat`)
);
ALTER TABLE libro CHANGE titulo descripcion VARCHAR(50);
CREATE TABLE materia (
codigomat VARCHAR(10) PRIMARY KEY NOT NULL,
nombre VARCHAR(50) NOT NULL
);
CREATE TABLE autor (
codautor VARCHAR(10) PRIMARY KEY NOT NULL,
nombre VARCHAR(50) NOT NULL
);
CREATE TABLE editorial (
codedit VARCHAR(10) PRIMARY KEY NOT NULL,
nombre VARCHAR(50) NOT NULL
);
CREATE TABLE LIAUTEDI
(
idlibro VARCHAR(10) NOT NULL,
codautor VARCHAR(10) NOT NULL,
codedit VARCHAR(10) NOT NULL,
CONSTRAINT id PRIMARY KEY
(
idlibro,
codautor,
codedit
),
FOREIGN KEY (idlibro) REFERENCES libro (idlibro),
FOREIGN KEY (codautor) REFERENCES autor (codautor),
FOREIGN KEY (codedit) REFERENCES editorial (codedit)
);
INSERT INTO materia (codigomat, nombre)
VALUES ("M01", 'Calculo');
INSERT INTO materia (codigomat, nombre)
VALUES ("M02", 'Matematicas');
INSERT INTO materia (codigomat, nombre)
VALUES ("M03", 'Estructura de datos');
INSERT INTO materia (codigomat, nombre)
VALUES ("M04", 'Ingl');
INSERT INTO materia (codigomat, nombre)
VALUES ("M05", 'Diagramacion');
INSERT INTO materia (codigomat, nombre)
VALUES ("M06", 'Contabilidad');
INSERT INTO materia (codigomat, nombre)
VALUES ("M07", 'Redes');
INSERT INTO materia (codigomat, nombre)
VALUES ("M08", 'Sistemas de Inf.');
INSERT INTO materia (codigomat, nombre)
VALUES ("M09", 'Base de datos');
INSERT INTO libro (idlibro, descripcion, nropagina, precio, codigomat)
VALUES ("L01", 'Calculo II', 120, 55000, 'M01');
INSERT INTO libro (idlibro, descripcion, nropagina, precio, codigomat)
VALUES ("L02", 'BD II', 150, 65000, 'M09');
INSERT INTO libro (idlibro, descripcion, nropagina, precio, codigomat)
VALUES ("L03", 'Estructura de datos', 180, 85000, 'M03');
INSERT INTO libro (idlibro, descripcion, nropagina, precio, codigomat)
VALUES ("L08", 'Diagramacion', 85, 45000, 'M08');
INSERT INTO libro (idlibro, descripcion, nropagina, precio, codigomat)
VALUES ("L05", 'Admon en una pagina', 70, 7500, 'M05');
INSERT INTO libro (idlibro, descripcion, nropagina, precio, codigomat)
VALUES ("L06", 'Contabilidad I', 170, 27500, 'M06');
INSERT INTO libro (idlibro, descripcion, nropagina, precio, codigomat)
VALUES ("L07", 'Redes', 370, 32500, 'M07');
INSERT INTO libro (idlibro, descripcion, nropagina, precio, codigomat)
VALUES ("L04", 'Ingles', 280, 105000, 'M04');
INSERT INTO editorial (codedit, nombre)
VALUES ("E01", 'Oveja Negra');
INSERT INTO editorial (codedit, nombre)
VALUES ("E02", 'Norma');
INSERT INTO editorial (codedit, nombre)
VALUES ("E03", 'Mc Graw Hill');