drop table lector
CREATE TABLE lector(
id_lector serial NOT NULL,
cedula character varying(13) NOT NULL,
nombre character varying(30) NOT NULL,
direccion character varying(255) NOT NULL,
telefono character varying(10) NOT NULL,
email character varying NOT NULL,
CONSTRAINT pk_idlector PRIMARY KEY (id_lector)
);
select * from lector
create table editorial(
id_editorial serial not null,
razon_social character varying(30) not null,
direccion character varying(255) NOT NULL,
telefono character varying(10) NOT NULL,
CONSTRAINT pk_ideditorial PRIMARY KEY (id_editorial)
);
drop table libro
create table libro(
id_libro serial NOT NULL,
titulo character varying(255) NOT NULL,
isdn character varying(255) NOT NULL,
fecha_publicacion time(255) NOT NULL,
cod_editorial integer not null,
CONSTRAINT pk_idlibro PRIMARY KEY (id_libro),
CONSTRAINT fk_editorial FOREIGN KEY (cod_editorial) REFERENCES editorial
(id_editorial)
);
INSERT INTO EDITORIAL (RAZON_SOCIAL,DIRECCION,TELEFONO)
VALUES ('LNS','AVDA JUAN TANCA MARENGO','65758769');
INSERT INTO EDITORIAL (RAZON_SOCIAL,DIRECCION,TELEFONO)
VALUES ('PRENTICE HALL','AVDA LAS AGUAS','635475457');
INSERT INTO EDITORIAL (RAZON_SOCIAL,DIRECCION,TELEFONO)
VALUES ('ALIANZA','URDESA','965875687');
INSERT INTO EDITORIAL (RAZON_SOCIAL,DIRECCION,TELEFONO)
VALUES ('MONARG','AVDA DEL EJERCITO','966497587');
INSERT INTO EDITORIAL (RAZON_SOCIAL,DIRECCION,TELEFONO)
VALUES ('MOUSEAN','AVDA MACHALA','964975777');
select * from editorial
DELETE FROM EDITORIAL WHERE ID_EDITORIAL=3
DROP TABLE libro;
CREATE TABLE autor(
id_autor serial NOT NULL,
nombre character varying(30) NOT NULL,
CONSTRAINT pk_idautor PRIMARY KEY (id_autor)
);
CREATE TABLE estado(
id_estado serial NOT NULL,
descripcion character varying(200) NOT NULL,
CONSTRAINT pk_idestado PRIMARY KEY (id_estado)
);
select * from libro
CREATE TABLE libro (
id_libro serial NOT NULL,
titulo character varying(255) NOT NULL,
isbn character varying(255) NOT NULL,
fecha_publicacion date NOT NULL,
cod_editorial integer not null,
cod_autor integer not null,
cod_estado integer not null,
CONSTRAINT pk_idlibro PRIMARY KEY (id_libro),
CONSTRAINT pk_editorial FOREIGN KEY (cod_editorial) REFERENCES editorial
(id_editorial),
CONSTRAINT pk_autor FOREIGN KEY (cod_autor) REFERENCES autor (id_autor),
CONSTRAINT pk_estado FOREIGN KEY (cod_estado) REFERENCES estado (id_estado)
);
CREATE TABLE cargo(
id_cargo serial NOT NULL,
descripcion character varying(200) NOT NULL,
CONSTRAINT pk_idcargo PRIMARY KEY (id_cargo)
);
CREATE TABLE empleado(
id_empleado serial NOT NULL,
cedula character varying(13) NOT NULL,
nombre character varying(30) NOT NULL,
direccion character varying(255) NOT NULL,
telefono character varying(10) NOT NULL,
email character varying NOT NULL,
edad integer NOT NULL,
sexo character varying(1) NOT NULL,
cod_cargo integer not null,
CONSTRAINT pk_empleado PRIMARY KEY (id_empleado),
CONSTRAINT pk_cargo FOREIGN KEY (cod_cargo) REFERENCES cargo (id_cargo)
);
CREATE TABLE prestamo(
id_prestamo serial NOT NULL,
fecha_entrada character varying(255) NOT NULL,
fecha_salida character varying(255) NOT NULL,
cod_empleado integer NOT NULL,
cod_lector integer NOT NULL,
cod_libro integer NOT NULL,
CONSTRAINT pk_prestamo PRIMARY KEY (id_prestamo),
CONSTRAINT fk_empleado FOREIGN KEY (cod_empleado) REFERENCES empleado
(id_empleado),
CONSTRAINT fk_lector FOREIGN KEY (cod_lector) REFERENCES lector (id_lector),
CONSTRAINT fk_libro FOREIGN KEY (cod_libro) REFERENCES libro (id_libro)
);
INSERT INTO cargo (descripcion)
VALUES ('Bibliotecario');
INSERT INTO cargo (descripcion)
VALUES ('Administrador');
INSERT INTO cargo (descripcion)
VALUES ('Conserje');
INSERT INTO cargo (descripcion)
VALUES ('Guardia');
INSERT INTO cargo (descripcion)
VALUES ('Empleado de entregas');
select * from cargo
INSERT INTO EMPLEADO (cedula, nombre, direccion, telefono, email, edad, sexo,
cod_cargo)
VALUES ('989916736','Pedro Ortiz','Sauces 2', '9876879456',
'pedroOrtiz@[Link]', '23', 'M',1);
INSERT INTO EMPLEADO (cedula, nombre, direccion, telefono, email, edad, sexo,
cod_cargo)
VALUES ('979986854','Carmen Segura','Guayacanes', '9876923677',
'carmenSgura@[Link]', '27', 'F',2);
INSERT INTO EMPLEADO (cedula, nombre, direccion, telefono, email, edad, sexo,
cod_cargo)
VALUES ('928759624','Mauricio Morales','Urdesa', '9247973586',
'mauricoMoles@[Link]', '31', 'M',3);
INSERT INTO EMPLEADO (cedula, nombre, direccion, telefono, email, edad, sexo,
cod_cargo)
VALUES ('943023637','Vanessa Bohorques','Alborada', '9498536456',
'vanesBorques@[Link]', '23', 'F',1);
INSERT INTO EMPLEADO (cedula, nombre, direccion, telefono, email, edad, sexo,
cod_cargo)
VALUES ('956984276','Carlos Oliveira','Garzota', '9843579456',
'carlosOliverira@[Link]', '36', 'M',4);
INSERT INTO EMPLEADO (cedula, nombre, direccion, telefono, email, edad, sexo,
cod_cargo)
VALUES ('945673567','Marcelo Oyola','Garcia Goyeno', '9885423546',
'marcelOyola@[Link]', '25', 'M',5);
INSERT INTO EMPLEADO (cedula, nombre, direccion, telefono, email, edad, sexo,
cod_cargo)
VALUES ('945569568','Mathias Soza','AV. Perimetral', '9887424456',
'mathiSoz@[Link]', '18', 'M',5);
INSERT INTO EMPLEADO (cedula, nombre, direccion, telefono, email, edad, sexo,
cod_cargo)
VALUES ('945569568','Arturo Peñanieto','SAUCES', '9887762445', 'arPeña@[Link]',
'20', 'M',3);
select * from empleado
INSERT INTO estado (descripcion)
VALUES ('Ocupado');
INSERT INTO estado (descripcion)
VALUES ('No Ocupado');
INSERT INTO estado (descripcion)
VALUES ('Sin existencia');
INSERT INTO estado (descripcion)
VALUES ('En reserva');
INSERT INTO estado (descripcion)
VALUES ('Proximo en stock');
select * from estado
INSERT INTO autor (nombre)
VALUES ('Mateo Vernan');
INSERT INTO autor (nombre)
VALUES ('Julio Mars');
INSERT INTO autor (nombre)
VALUES ('Carlos Torres');
INSERT INTO autor (nombre)
VALUES ('Pedro Ortiz');
INSERT INTO autor (nombre)
VALUES ('Luke The Jong');
select * from autor
INSERT INTO LIBRO (titulo, isbn, fecha_publicacion, cod_editorial, cod_autor,
cod_estado)
VALUES ('Analisis','1234-5678', '01-01-2023', 1, 1, 1);
INSERT INTO LIBRO (titulo, isbn, fecha_publicacion, cod_editorial, cod_autor,
cod_estado)
VALUES ('Vision Oscura','1334-5998', '01-04-2007', 4, 5, 2);
INSERT INTO LIBRO (titulo, isbn, fecha_publicacion, cod_editorial, cod_autor,
cod_estado)
VALUES ('Historia del ser','1323-7888', '03-07-2000', 2, 3, 3);
INSERT INTO LIBRO (titulo, isbn, fecha_publicacion, cod_editorial, cod_autor,
cod_estado)
VALUES ('Manejo de conciencia','1986-8978', '02-04-2005', 3, 2, 4);
INSERT INTO LIBRO (titulo, isbn, fecha_publicacion, cod_editorial, cod_autor,
cod_estado)
VALUES ('Vision numerica','1213-5895', '07-07-2010', 5, 4, 5);
INSERT INTO LIBRO (titulo, isbn, fecha_publicacion, cod_editorial, cod_autor,
cod_estado)
VALUES ('Manos infinitas','1274-5797', '08-05-2002', 3, 2, 2);
INSERT INTO LIBRO (titulo, isbn, fecha_publicacion, cod_editorial, cod_autor,
cod_estado)
VALUES ('Monstruos internos','1224-5778', '17-07-2012', 4, 5, 2);
INSERT INTO LIBRO (titulo, isbn, fecha_publicacion, cod_editorial, cod_autor,
cod_estado)
VALUES ('Base de datos 1','1894-5778', '18-07-2021', 4, 1, 2);
INSERT INTO LIBRO (titulo, isbn, fecha_publicacion, cod_editorial, cod_autor,
cod_estado)
VALUES ('las Base datos','1224-5998', '20-09-2012', 4, 4, 2);
select * from libro
INSERT INTO LECTOR (cedula, nombre, direccion, telefono, email)
VALUES ('9857632356','Matias Malta', 'Avda Quito', '9856745634',
'matiasMalta@[Link]');
INSERT INTO LECTOR (cedula, nombre, direccion, telefono, email)
VALUES ('9843792856','Pedro Madrigal', 'Guayacanes', '9863234569',
'pedroMadri@[Link]');
INSERT INTO LECTOR (cedula, nombre, direccion, telefono, email)
VALUES ('8275735356','Leonarda Macias', 'La joya', '9865432345',
'leonardaMac@[Link]');
INSERT INTO LECTOR (cedula, nombre, direccion, telefono, email)
VALUES ('9137782354','Victoria Ramirez', 'Sauces 3', '9857735454',
'vicRamires@[Link]');
INSERT INTO LECTOR (cedula, nombre, direccion, telefono, email)
VALUES ('9798761234','Mario Garcia', 'Garzota', '9746744654',
'marioGarcia@[Link]');
INSERT INTO LECTOR (cedula, nombre, direccion, telefono, email)
VALUES ('9798761234','Jaime Soreta', 'Urdesa', '9978758654',
'jaimeSoreta@[Link]');
select * from lector
INSERT INTO PRESTAMO (fecha_entrada, fecha_salida, cod_empleado, cod_lector,
cod_libro)
VALUES ('20-01-2023','30-01-2023', 1, 2, 7);
INSERT INTO PRESTAMO (fecha_entrada, fecha_salida, cod_empleado, cod_lector,
cod_libro)
VALUES ('12-01-2023','22-01-2023', 4, 1, 2);
INSERT INTO PRESTAMO (fecha_entrada, fecha_salida, cod_empleado, cod_lector,
cod_libro)
VALUES ('09-01-2023','19-01-2023', 1, 3, 6);
INSERT INTO PRESTAMO (fecha_entrada, fecha_salida, cod_empleado, cod_lector,
cod_libro)
VALUES ('02-01-2023','12-01-2023', 1, 4, 2);
INSERT INTO PRESTAMO (fecha_entrada, fecha_salida, cod_empleado, cod_lector,
cod_libro)
VALUES ('21-01-2023','31-01-2023', 4, 5, 7);
select * from prestamo
UPDATE lector
SET direccion='CDLA LOS ESTEROS'
WHERE cedula='9857632356'
select * from lector
select CEDULA,NOMBRE from lector
select CEDULA,NOMBRE,COD_CARGO FROM empleado
SELECT CEDULA, [Link], [Link] FROM empleado E, cargo C
Where cod_cargo = id_cargo
SELECT [Link], L.FECHA_PUBLICACION, E.RAZON_SOCIAL, [Link], [Link]
FROM libro L, editorial E, autor A, estado S
WHERE L.COD_AUTOR=A.ID_AUTOR AND L.COD_ESTADO = S.ID_ESTADO AND L.COD_EDITORIAL =
E.ID_EDITORIAL
ORDER BY TITULO DESC
SELECT [Link], [Link] FROM empleado E
WHERE edad > 20
SELECT * FROM empleado E
WHERE edad > 20 ORDER BY EDAD DESC
SELECT [Link], L.FECHA_PUBLICACION, E.RAZON_SOCIAL FROM libro l, editorial E
WHERE l.cod_editorial = E.id_editorial AND fecha_publicacion between '01-01-2021'
and '31-12-2022'
SELECT [Link], [Link], [Link], [Link], [Link] FROM empleado E, cargo C
WHERE E.cod_cargo = C.id_cargo AND [Link] between 30 and 50
AND [Link] = 'M'
SELECT CEDULA, NOMBRE, DIRECCION FROM lector
WHERE DIRECCION LIKE '%Urdesa%'
SELECT E.RAZON_SOCIAl, count(*) as tot_libro
FROM libro L, editorial E
WHERE l.cod_editorial = e.id_editorial
group by razon_social
order by tot_libro desc
SELECT [Link], count(*) as tot_libros_Disponibles
FROM estado E, libro L
WHERE L.cod_estado = E.id_estado
AND id_estado = 2
group by descripcion
SELECT [Link], count(*) as tot_libros_Ocupados
FROM estado E, libro L
WHERE L.cod_estado = E.id_estado
AND id_estado = 1
group by descripcion
select [Link], count(*) as tot_libros
from Estado ET, libro L
WHERE L.cod_estado = ET.id_estado
group by descripcion
select [Link],[Link], count(*) as libros_baseDatos
from autor A, libro L
WHERE L.cod_autor = A.id_autor
AND [Link] LIKE '%Base de Datos%'
SELECT [Link], [Link] FROM libro L, autor A
WHERE L.cod_autor = A.id_autor
AND [Link] LIKE '%Base de Datos%'
SELECT TITULO, NOMBRE, RAZON_SOCIAL
FROM libro
INNER JOIN AUTOR ON LIBRO.COD_AUTOR = AUTOR.ID_AUTOR
INNER JOIN EDITORIAL ON LIBRO.COD_EDITORIAL = EDITORIAL.ID_EDITORIAL
WHERE FECHA_PUBLICACION between '01/01/2006' and '31/12/2023'
--SELECT TITULO, NOMBRE, RAZON_SOCIAL
--FROM libro l, autor a, editorial e
--where l.cod_autor = a.id_autor and l.cod_editorial = e.id_editorial
--empleado cedula, nombre, correo, cargo nombre empleado like %Ar
SELECT CEDULA, NOMBRE, EMAIL, DESCRIPCION
FROM empleado
INNER JOIN CARGO ON EMPLEADO.COD_CARGO = CARGO.ID_CARGO
WHERE NOMBRE LIKE 'Ar%'
CREATE TABLE ciudad(
id_ciudad serial NOT NULL,
nciudad character varying(30) NOT NULL,
CONSTRAINT pk_idciudad PRIMARY KEY (id_ciudad)
);
--lector nombre empleado nombre libro nombre, ciudada lector de todos los prestamos
de la semana pasada
SELECT [Link], [Link], [Link], [Link]
FROM PRESTAMO
INNER JOIN LECTOR LE ON PRESTAMO.COD_LECTOR = LE.ID_LECTOR
INNER JOIN EMPLEADO E ON PRESTAMO.COD_EMPLEADO = E.ID_EMPLEADO
INNER JOIN LIBRO L ON PRESTAMO.COD_LIBRO = L.ID_LIBRO
WHERE FECHA_ENTRADA BETWEEN '13/02/2023' AND '22/02/2023' --NOW() Tipo de dato
timestamp