0% encontró este documento útil (0 votos)
53 vistas

BIBLIOTECA SQL

El documento describe la creación de tablas y relaciones en una base de datos para gestionar una biblioteca. Se crean tablas para editoriales, autores, libros, empleados, lectores y préstamos, y se establecen relaciones entre ellas. Luego se insertan datos de prueba en cada tabla.

Cargado por

piero Naranjo
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como TXT, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
53 vistas

BIBLIOTECA SQL

El documento describe la creación de tablas y relaciones en una base de datos para gestionar una biblioteca. Se crean tablas para editoriales, autores, libros, empleados, lectores y préstamos, y se establecen relaciones entre ellas. Luego se insertan datos de prueba en cada tabla.

Cargado por

piero Naranjo
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como TXT, PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 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',
'[email protected]', '23', 'M',1);
INSERT INTO EMPLEADO (cedula, nombre, direccion, telefono, email, edad, sexo,
cod_cargo)
VALUES ('979986854','Carmen Segura','Guayacanes', '9876923677',
'[email protected]', '27', 'F',2);
INSERT INTO EMPLEADO (cedula, nombre, direccion, telefono, email, edad, sexo,
cod_cargo)
VALUES ('928759624','Mauricio Morales','Urdesa', '9247973586',
'[email protected]', '31', 'M',3);
INSERT INTO EMPLEADO (cedula, nombre, direccion, telefono, email, edad, sexo,
cod_cargo)
VALUES ('943023637','Vanessa Bohorques','Alborada', '9498536456',
'[email protected]', '23', 'F',1);
INSERT INTO EMPLEADO (cedula, nombre, direccion, telefono, email, edad, sexo,
cod_cargo)
VALUES ('956984276','Carlos Oliveira','Garzota', '9843579456',
'[email protected]', '36', 'M',4);
INSERT INTO EMPLEADO (cedula, nombre, direccion, telefono, email, edad, sexo,
cod_cargo)
VALUES ('945673567','Marcelo Oyola','Garcia Goyeno', '9885423546',
'[email protected]', '25', 'M',5);
INSERT INTO EMPLEADO (cedula, nombre, direccion, telefono, email, edad, sexo,
cod_cargo)
VALUES ('945569568','Mathias Soza','AV. Perimetral', '9887424456',
'[email protected]', '18', 'M',5);
INSERT INTO EMPLEADO (cedula, nombre, direccion, telefono, email, edad, sexo,
cod_cargo)
VALUES ('945569568','Arturo Peñanieto','SAUCES', '9887762445', 'arPeñ[email protected]',
'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',
'[email protected]');
INSERT INTO LECTOR (cedula, nombre, direccion, telefono, email)
VALUES ('9843792856','Pedro Madrigal', 'Guayacanes', '9863234569',
'[email protected]');
INSERT INTO LECTOR (cedula, nombre, direccion, telefono, email)
VALUES ('8275735356','Leonarda Macias', 'La joya', '9865432345',
'[email protected]');
INSERT INTO LECTOR (cedula, nombre, direccion, telefono, email)
VALUES ('9137782354','Victoria Ramirez', 'Sauces 3', '9857735454',
'[email protected]');
INSERT INTO LECTOR (cedula, nombre, direccion, telefono, email)
VALUES ('9798761234','Mario Garcia', 'Garzota', '9746744654',
'[email protected]');
INSERT INTO LECTOR (cedula, nombre, direccion, telefono, email)
VALUES ('9798761234','Jaime Soreta', 'Urdesa', '9978758654',
'[email protected]');

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