Está en la página 1de 7

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@outlook.es', '23', 'M',1);
INSERT INTO EMPLEADO (cedula, nombre, direccion, telefono, email, edad, sexo,
cod_cargo)
VALUES ('979986854','Carmen Segura','Guayacanes', '9876923677',
'carmenSgura@outlook.es', '27', 'F',2);
INSERT INTO EMPLEADO (cedula, nombre, direccion, telefono, email, edad, sexo,
cod_cargo)
VALUES ('928759624','Mauricio Morales','Urdesa', '9247973586',
'mauricoMoles@outlook.es', '31', 'M',3);
INSERT INTO EMPLEADO (cedula, nombre, direccion, telefono, email, edad, sexo,
cod_cargo)
VALUES ('943023637','Vanessa Bohorques','Alborada', '9498536456',
'vanesBorques@outlook.es', '23', 'F',1);
INSERT INTO EMPLEADO (cedula, nombre, direccion, telefono, email, edad, sexo,
cod_cargo)
VALUES ('956984276','Carlos Oliveira','Garzota', '9843579456',
'carlosOliverira@outlook.es', '36', 'M',4);
INSERT INTO EMPLEADO (cedula, nombre, direccion, telefono, email, edad, sexo,
cod_cargo)
VALUES ('945673567','Marcelo Oyola','Garcia Goyeno', '9885423546',
'marcelOyola@outlook.es', '25', 'M',5);
INSERT INTO EMPLEADO (cedula, nombre, direccion, telefono, email, edad, sexo,
cod_cargo)
VALUES ('945569568','Mathias Soza','AV. Perimetral', '9887424456',
'mathiSoz@outlook.es', '18', 'M',5);
INSERT INTO EMPLEADO (cedula, nombre, direccion, telefono, email, edad, sexo,
cod_cargo)
VALUES ('945569568','Arturo Peñanieto','SAUCES', '9887762445', 'arPeña@outlook.es',
'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@outlook.es');
INSERT INTO LECTOR (cedula, nombre, direccion, telefono, email)
VALUES ('9843792856','Pedro Madrigal', 'Guayacanes', '9863234569',
'pedroMadri@outlook.es');
INSERT INTO LECTOR (cedula, nombre, direccion, telefono, email)
VALUES ('8275735356','Leonarda Macias', 'La joya', '9865432345',
'leonardaMac@outlook.es');
INSERT INTO LECTOR (cedula, nombre, direccion, telefono, email)
VALUES ('9137782354','Victoria Ramirez', 'Sauces 3', '9857735454',
'vicRamires@outlook.es');
INSERT INTO LECTOR (cedula, nombre, direccion, telefono, email)
VALUES ('9798761234','Mario Garcia', 'Garzota', '9746744654',
'marioGarcia@outlook.es');
INSERT INTO LECTOR (cedula, nombre, direccion, telefono, email)
VALUES ('9798761234','Jaime Soreta', 'Urdesa', '9978758654',
'jaimeSoreta@outlook.es');

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, E.NOMBRE, C.DESCRIPCION FROM empleado E, cargo C


Where cod_cargo = id_cargo

SELECT L.TITULO, L.FECHA_PUBLICACION, E.RAZON_SOCIAL, A.NOMBRE, S.DESCRIPCION


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 E.NOMBRE, E.EDAD FROM empleado E


WHERE edad > 20

SELECT * FROM empleado E


WHERE edad > 20 ORDER BY EDAD DESC

SELECT L.TITULO, 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 E.NOMBRE, E.CEDULA, E.EDAD, E.SEXO, C.DESCRIPCION FROM empleado E, cargo C


WHERE E.cod_cargo = C.id_cargo AND E.edad between 30 and 50
AND E.SEXO = '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 E.DESCRIPCION, 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 E.DESCRIPCION, 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 ET.DESCRIPCION, count(*) as tot_libros


from Estado ET, libro L
WHERE L.cod_estado = ET.id_estado
group by descripcion

select A.NOMBRE,L.TITULO, count(*) as libros_baseDatos


from autor A, libro L
WHERE L.cod_autor = A.id_autor
AND L.TITULO LIKE '%Base de Datos%'

SELECT L.TITULO, A.NOMBRE FROM libro L, autor A


WHERE L.cod_autor = A.id_autor
AND L.TITULO 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 LE.NOMBRE, LE.DIRECCION, E.NOMBRE, L.TITULO
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

También podría gustarte