Segunda Entrega BD

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 21

SEGUNDA ENTREGA BASE DE DATOS

LUIS GONZALO CASTAÑEDA NUMPAQUE

COD: 1611025770.

MÓDULO. SEGUNDO BLOQUE-BASES DE DATOS-[GRUPO1]

INSTITUCIÓN EDUCATIVA UNIVERSITARIA POLITÉCNICO GRANCOLOMBIANO.

NOVIEMBRE - 2019.
INDICE
INTRODUCCION 3
DESCRIPCION DEL PROBLEMA 3
OBJETIVOS 4
GENERAL 4
ESPECIFICOS 4
MODELO ENTIDAD RELACION LIBRERÍA 5
INTRODUCCION

Se encuentra en el documento el modelo relacional asociado a las actividades de


almacenamiento y préstamo de libros en una librería en donde, el diseño incluye una estructura
de datos la cual permite que un libro contenga un autor, un tema y una editorial con el fin de
optimizar los filtros de búsqueda para el socio que en este caso es quien se inscribe en la
librería y solicita el préstamo de libros de acuerdo a su elección.

DESCRIPCION DEL PROBLEMA

En la librería cada socio se tarda demasiado buscando el libro de su interés debido a que no
existe una base que ayude a determinar el lugar dentro de la librería en donde está ubicado el
libro y los filtros de búsqueda en cuanto a los datos que suministra el socio, adicional no se
tiene un control de los prestamos lo cual genera pérdidas de libros.
OBJETIVOS

GENERAL
Crear una base de datos que permita la búsqueda optima de cada libro dentro de la librería y la
gestión de préstamos de la librería.

ESPECIFICOS

1. Almacenar la información de cada libro con su respectiva relación con el autor, la


editorial, idioma y tema.
2. Almacenar la información correspondiente a todos los socios pertenecientes a la
librería.
3. Guardar los registros de cada préstamo.
MODELO ENTIDAD RELACION LIBRERÍA
A continuación, se describe el diccionario de datos de acuerdo a las entidades planteadas:

Tema

Tema
clave_tema
nombre

LLAVE NOMBRE LONGITUD TIPO DE CAMPO RELACION OBSERVACIONES


PK clave_tema 11 NUMERICO(ENTERO) IDENTIFICADOR ASOCIADO AL TEMA
nombre 60 VARCHAR2 NOMBRE DEL TEMA

Autor

Autor
clave_autor
nombre

LLAVE NOMBRE LONGITUD TIPO DE CAMPO RELACION OBSERVACIONES


PK clave_autor 11 NUMERICO(ENTERO) IDENTIFICADOR ASOCIADO AL ID DEL AUTOR
nombre 60 VARCHAR2 NOMBRE DEL AUTOR

Editorial

Editorial
clave_editorial
nombre
direccion
telefono

LLAVE NOMBRE LONGITUD TIPO DE CAMPO RELACION OBSERVACIONES


PK clave_editorial 11 NUMERICO(ENTERO) IDENTIFICADOR ASOCIADO AL ID DE LA EDITORIAL
nombre 70 VARCHAR2 NOMBRE DE LA EDITORIAL
direccion 70 VARCHAR2 DIRECCION DE LA EDITORIAL
telefono 10 VARCHAR2 TELEFONO DE LA EDITORIAL
Libro

Libro
clave_libro
titulo
idioma
formato
categoria
clave_autor

LLAVE NOMBRE LONGITUD TIPO DE CAMPO RELACION OBSERVACIONES


PK clave_libro 11 NUMERICO(ENTERO) IDENTIFICADOR ASOCIADO AL ID DEL LIBRO
titulo 90 VARCHAR2 TITULO DEL LIBRO
idioma 22 VARCHAR2 IDIOMA DEL LIBRO
formato 70 VARCHAR2 FORMATO EN EL QUE FUE ESCRITO EL LIBRO
categoria 70 VARCHAR2 CATEGORIA A LA CUAL PERTENECE EL LIBRO
FK clave_autor 11 NUMERICO(ENTERO) 1.N ID DEL AUTOR QUE ESCRIBIO EL LIBRO

Elaboracion_editorial

Elaboracion_editorial
clave_libro
clave_editorial
fecha_elaboracion

LLAVE NOMBRE LONGITUD TIPO DE CAMPO RELACION OBSERVACIONES


FK clave_libro 11 NUMERICO(ENTERO) N.M IDENTIFICADOR ASOCIADO AL ID DEL LIBRO
FK clave_editorial 11 NUMERICO(ENTERO) N.M IDENTIFICADOR ASOCIADO AL ID DE LA EDITORIAL QUE FABRICO EL LIBRO
fecha_elaboracion DATATIME FECHA DE FABRICACION

Trata_sobre

Trata_sobre
clave_libro
clave_tema

LLAVE NOMBRE LONGITUD TIPO DE CAMPO RELACION OBSERVACIONES


FK clave_libro 11 NUMERICO(ENTERO) 1.N IDENTIFICADOR ASOCIADO AL ID DEL LIBRO
FK clave_tema 70 NUMERICO(ENTERO) 1.N IDENTIFICADOR ASOCIADO AL ID DEL TEMA
Socio

Socio
clave_socio
nombre
direccion
telefono
categoria

LLAVE NOMBRE LONGITUD TIPO DE CAMPO RELACION OBSERVACIONES


PK clave_socio 11 NUMERICO(ENTERO) IDENTIFICADOR ASOCIADO AL ID DEL LIBRO
nombre 90 VARCHAR2 NOMBRE DEL SOCIO
direccion 22 VARCHAR2 DIRECCION DE VIVIENDA
telefono 70 VARCHAR2 TELEFONO DE CONTACTO
categoria 70 VARCHAR2 CATEGORIA A LA CUAL PERTENECE

Prestamo

Prestamo
clave_prestamo
clave_socio
clave_libro
numero_orden
fecha_prestamo
fecha_devolucion
observacion

LLAVE NOMBRE LONGITUD TIPO DE CAMPO RELACION OBSERVACIONES


PK clave_prestamo 11 NUMERICO(ENTERO) IDENTIFICADOR DEL PRESTAMO
FK clave_socio 11 NUMERICO(ENTERO) 1.N IDENTIFICADOR DEL ID DEL SOCIO QUE SOLICITA EL PRESTAMO
FK clave_libro 11 NUMERICO(ENTERO) 1.N ID DEL LIBRO SOLICITADO EN PRESTAMO
fecha_prestamo DATATIME FECHA EN LA QUE SE SOLICITA EL PRESTAMO
fecha_devolucion DATATIME FECHA DE LA DEVOLUCION DEL LIBRO
observacion BLOB OBSERVACIONES

En este apartado se describe el modelo de entidad relación:


:
MODELO FÍSICO

CREATE DATABASE BIBLIOTECA;

USE BIBLIOTECA;

CREATE TABLE Tema(

ClaveTema SMALLINT NOT NULL AUTO_INCREMENT PRIMARY KEY,

Nombre VARCHAR(40) NOT NULL

);

INSERT INTO `Tema`

(`Nombre`)

VALUES

('Aeromodelismo'),

('Aeronautica'),

('Africa'),

('Agricultura'),

('Ajedrez'),

('Alava'),

('Aleman'),

('Alemania'),

('Alicante'),

('America'),

('Anarquismo'),

('Andalucia'),

('Antropologia'),

('Aritmetica'),

('Arqueologia'),
('Arquitectura'),

('Caballeresco'),

('Novela'),

('Aventura'),

('Político'),

('Biografías'),

('Autobiografías')

CREATE TABLE Autor(

ClaveAutor INT NOT NULL AUTO_INCREMENT PRIMARY KEY,

Nombre VARCHAR(60) NOT NULL

);

INSERT INTO `Autor`

(`Nombre`)

VALUES

('Miguel de Cervantes'),

('William Faulkner'),

('Antoine SaintExupery'),

('Maquiavelo'),

('Henry Kissinger'),

('Kitty Kelley'),

('Pu-Yi'),

('Pérez Galdós'),

('Diego Narcizo'),

('Juan Cortazar'),

('Huguet Zamora'),

('Ebiegberi Joe Alagoa'),


('John Matthews'),

('Nick de Firmian'),

('H./Garcia y Bellido'),

('Eduardo Toda'),

('Cristobal Guitart Aparicio'),

('L. Mainard'),

('Bordazale')

CREATE TABLE Editorial(

ClaveEditorial SMALLINT NOT NULL AUTO_INCREMENT PRIMARY KEY,

Nombre VARCHAR(60) NOT NULL,

Direccion VARCHAR(60) NOT NULL,

Telefono VARCHAR(15) NOT NULL

);

INSERT INTO `Editorial`

(`Nombre`,`Direccion`,`Telefono`)

VALUES

('Anaya','Calle 69D # 50-21','1234567'),

('Alfaguara','Cra 50 # 50-21','5689543'),

('Andina','Calle 80 # 20-01','2368325'),

('S.M.','Av. 34 # 33-50','4359879'),

('Plaza & Janés','Calle 76B # 39-41','2323233'),

('Caralt','Calle 85 # 01-21','4354354'),

('Desconocida','Av.Cra 71 # 65-10','54536543543'),

('ED. Ediciones Cedel','Calle 45 # 80-21','3443243243'),

('Ibadan University Press','Calle 77 # 25-25','4324323'),

('ED. Calpe','Cra 60A # 46-30','3432434'),


('ED. Tutor','Calle 69D # 50-21','5654644'),

('ED. Revista de occidente','Cra 50c # 40-21','54453543'),

('Edita Llibreria Verdaguer','Calle 85R # 60-21','432422'),

('Everest','Calle 90 # 25-31','3424324')

CREATE TABLE Libro(

ClaveLibro INT NOT NULL AUTO_INCREMENT PRIMARY KEY,

Titulo VARCHAR(60) NOT NULL,

Idioma VARCHAR(15) NOT NULL,

Formato VARCHAR(15) NOT NULL,

Categoria CHAR NOT NULL,

ClaveEditorial SMALLINT NOT NULL,

foreign key(ClaveEditorial) references Editorial(ClaveEditorial)

);

INSERT INTO `Libro`

(`Titulo`,`Idioma`,`Formato`,`Categoria`,`ClaveEditorial`)

VALUES

('Don Quijote de La Mancha I','Español','Digital','A','1'),

('Don Quijote de La Mancha II','Español','Impreso','B','1'),

('Historias de Nueva Orleans','Español','Impreso','C','2'),

('El principito','Español','Impreso','A','3'),

('El príncipe','Español','Impreso','A','4'),

('Diplomacia','Español','Impreso','B','4'),

('Los Windsor','Español','Digital','C','5'),

('El Último Emperador','Español','Impreso','C','6'),

('Fortunata y Jacinta','Español','Impreso','A','5'),
('Artimética Pura y Comercial','Español','Digital','C','7'),

('Tratado de aritmética','Español','Impreso','C','7'),

('Construcción Facil de Objetos teledirigidos con transistores','Español','Digital','A','8'),

('The Small Brave City State','Ingles','Impreso','C','9'),

('Viaje a Sierra Leona en la Costa de África','Ingles','Digital','B','10'),

('Aperturas modernas de ajedrez','Español','Impreso','C','11'),

('El hombre prehistorico y los origenes de la humanidad','Español','Digital','B','12'),

('Monasterio de Santas Creus','Español','Digital','B','13'),

('El castillo de Loarre','Español','Impreso','A','14'),

('L’Amerique. Livre d’Or des Voyages','Frances','Impreso','B','7'),

('La agricultura en el País Vasco','Español','Digital','A','7')

CREATE TABLE Ejemplar(

NumeroOrden SMALLINT NOT NULL AUTO_INCREMENT PRIMARY KEY,

Edicion SMALLINT NOT NULL,

Ubicacion VARCHAR(15) NOT NULL,

ClaveLibro INT NOT NULL,

foreign key(ClaveLibro) references Libro(ClaveLibro)

);

INSERT INTO `Ejemplar`

(`Edicion`,`Ubicacion`,`ClaveLibro`)

VALUES

('1','MODULO 2 EST.3','4'),

('2','MODULO 2 EST.4','5'),

('1','MODULO 1 EST.5','6'),

('2','MODULO 2 EST.6','7'),
('3','MODULO 2 EST.7','8'),

('1','MODULO 2 EST.8','9'),

('1','MODULO 3 EST.9','10'),

('2','MODULO 2 EST.10','11'),

('1','MODULO 2 EST.6','12'),

('1','MODULO 2 EST.7','13'),

('3','MODULO 2 EST.3','14'),

('1','MODULO 2 EST.4','15'),

('1','MODULO 1 EST.3','16'),

('5','MODULO 2 EST.4','17'),

('1','MODULO 2 EST.6','18'),

('1','MODULO 1 EST.3','19'),

('1','MODULO 2 EST.4','20')

CREATE TABLE Socio(

Clavesocio INT NOT NULL AUTO_INCREMENT PRIMARY KEY,

Nombre VARCHAR(60) NOT NULL,

Direccion VARCHAR(60) NOT NULL,

Telefono VARCHAR(60) NOT NULL,

Categoria CHAR NOT NULL

);

INSERT INTO `Socio`

(`Nombre`,`Direccion`,`Telefono`,`Categoria`)

VALUES

('CARMEN CECILIA CAÑON ','CALLE 15 # 14B-101','3105609565','A'),

('MARIA ANGELICA CUELLAR CIFUENTES ','VEREDA BOJACA ','3138278542','A'),

('MONICA ANDREA PAEZ GONZALEZ ','CALLE 14 SUR # 6-24','3102049727','A'),


('SANDRA MILENA PEREZ BOTIER ','TABIO KM 1 VIA CAJICA ','3175328941','A'),

('CARLOS FRANCISCO NIETO GUTIERREZ ','KM 28 VIA CAJICA ','3102287070','A'),

('FRANCELY GOMEZ RIVERA ','CALLE 4 A # 5-30 TORRE 2 APTO 504','3202751415','A'),

('LILIANA OCAMPO TRUJILLO ','CRA 6 # 7-59','3115278166','A'),

('MARIA ANGELICA BONILLA RODRIGUEZ ','KM 12 AUTONORTE ','3138147414','A'),

('ABELINO MORENO SILVA ','CALLE 77 A # 105-22','3133431921','A'),

('LUZ MERY FAJARDO GONZALEZ ','CRA 3A # 19-21','3102965848','B'),

('MARIA CARMEN MORENO MOSQUERA ','CALLE 54 SUR # 80F-15','3125109025','B'),

('CLAUDIA PATRICIA BELTRAN BELTRAN ','CRA 72 R # 37-97 SUR ','3102991332','B'),

('JENIFER OLARTE','DIAGONAL 77 B # 129-11','3102149678','B'),

('VILMA LORENA VALDES MUÑOZ ','CALLE 60 SUR # 68B-39','3124566057','A'),

('SUSANA SAENZ MARTINEZ ','CALLE 54 A SUR # 31-37','7415705','B'),

('LUZ STELLA CHAPARRO ARCINIEGAS ','TV 4 # 43-39','3123793094','B'),

('MARCELA HENAO MONTOYA ','CRA 73 # 74-15','3007229857','A'),

('PAOLA ANDREA TORRES CASTELBLANCO ','CALLE 36 B SUR','36708995','A'),

('MARISOL GONZALEZ RUIZ ','CALLE 22 C # 28-67','3158450832','B'),

('DIANA MARCELA GAONA MOGOLLON ','CRA 109 A # 131B-62','3008332015','A'),

('BRAIAN ANDRES RAMIREZ DELGADILLO ','CRA 87 # 63-51','3132161372','B'),

('LUZ YENIFER TIQUE ','CALLE 10A # 5-83','3178071987','A'),

('ANA MARGARITA BUELVAS SIERRA ','TV 78 K # 41-55','3174601360','B'),

('RUTH TURRIAGO MORALES ','CRA 6 # 17A-07','3115400467','B'),

('NELSON HERMIDA BENAVIDES ','CRA 79 A # 73A-62 SUR ','3057132367','A'),

('ADRIANA MILENA CORONADO CHAPARRO ','MZ 7 CASA 1 ','3166288561','B'),

('MARTHA ELIZABETH CLAVIJO BENITO ','VEREDA PALO GRANDE CAQUEZA ','3132003339','A'),

('LUZ MERY MORA REINA ','CALLE 65 # 96-47','3103283251','A'),

('ADRIANA GARZON RIAPIRA ','CRA 136 A # 146-70','3168206078','A'),

('LUZ ADRIANA CASTAÑEDA LARA ','CALLE 11A # 78D-56','3214500779','A'),

('LUCY MIREYA SANCHEZ PULIDO ','CRA 53 # 58-51','3102894590','A'),

('ANGELICA MARIA SALAZAR PERDOMO ','CRA 28 # 13-20','3142390321','B'),


('ELIZABETH PIÑEROS BUITRAGO ','CRA 18 H # 21-03','3017430481','B'),

('VIVIANA GALVEZ MARIN ','CRA 18 H # 21-03','3108067193','B')

CREATE TABLE Prestamo(

Clavesocio INT NOT NULL,

ClaveLibro INT NOT NULL,

NumeroOrden SMALLINT NOT NULL,

Fecha_prestamo DATE NOT NULL,

Fecha_devolucion DATE NOT NULL,

Notas BLOB,

foreign key(Clavesocio) references Socio(Clavesocio),

foreign key(ClaveLibro) references Libro(ClaveLibro),

foreign key(NumeroOrden) references Ejemplar(NumeroOrden)

);

INSERT INTO `Prestamo`

(`Clavesocio`,`ClaveLibro`,`NumeroOrden`,`Fecha_prestamo`,`Fecha_devolucion`,`Notas`)

VALUES

('1','20','17','2018-11-11','2018-11-16','Sin novedad'),

('2','19','16','2018-10-01','2018-10-05','Sin novedad'),

('3','18','15','2019-01-11','2019-01-17','Sin novedad'),

('4','17','14','2018-05-30','2018-05-31','Sin novedad'),

('5','16','13','2018-07-12','2018-07-14','Sin novedad'),

('6','15','12','2018-02-01','2018-02-04','Sin novedad'),

('7','14','11','2019-02-02','2019-02-07','Sin novedad'),

('8','13','10','2018-03-17','2018-03-21','Sin novedad'),

('9','12','9','2018-01-17','2018-01-19','Sin novedad'),

('10','11','8','2018-07-11','2018-07-14','Sin novedad'),
('11','10','7','2019-11-11','2019-11-16','Sin novedad'),

('12','9','6','2018-08-22','2018-08-29','Sin novedad'),

('13','8','5','2018-09-11','2018-09-12','Sin novedad'),

('14','7','4','2018-11-30','2018-12-05','Sin novedad'),

('15','6','3','2019-02-10','2019-02-14','Sin novedad'),

('16','5','2','2018-02-10','2018-02-17','Sin novedad'),

('17','4','1','2018-05-31','2018-06-02','Sin novedad')

CREATE TABLE Trata_sobre(

ClaveLibro INT NOT NULL,

ClaveTema SMALLINT NOT NULL,

foreign key(ClaveLibro) references Libro(ClaveLibro),

foreign key(ClaveTema) references Tema(ClaveTema)

);

INSERT INTO `Trata_sobre`

(`ClaveLibro`,`ClaveTema`)

VALUES

('1','17'),

('2','17'),

('3','18'),

('4','19'),

('5','20'),

('6','20'),

('7','21'),

('8','22'),

('9','18'),
('10','14'),

('11','14'),

('12','1'),

('13','3'),

('14','3'),

('15','5'),

('16','13'),

('17','16'),

('18','7'),

('19','10'),

('20','4')

CREATE TABLE Escrito_por(

ClaveLibro INT NOT NULL,

ClaveAutor INT NOT NULL,

foreign key(ClaveLibro) references Libro(ClaveLibro),

foreign key(ClaveAutor) references Autor(ClaveAutor)

);

INSERT INTO `Escrito_por`

(`ClaveLibro`,`ClaveAutor`)

VALUES

('1','1'),

('2','1'),

('3','2'),

('4','3'),

('5','4'),

('6','5'),
('7','6'),

('8','7'),

('9','8'),

('10','9'),

('11','10'),

('12','11'),

('13','12'),

('14','13'),

('15','14'),

('16','15'),

('17','16'),

('18','17'),

('19','18'),

('20','19')

//CONSULTAS

SELECT * FROM Libro ORDER BY Titulo ASC

SELECT * FROM Libro WHERE Idioma="Español"

SELECT * FROM Libro WHERE Idioma="Español" ORDER BY Categoria ASC

SELECT Nombre,Categoria FROM Socio

SELECT Titulo AS "Nombre Libro",Idioma,Formato FROM Libro

SELECT Titulo,Nombre AS Editorial FROM Libro,Editorial WHERE


libro.ClaveEditorial=editorial.ClaveEditorial

SELECT Titulo,Nombre AS Tema FROM Libro,Tema,Trata_sobre WHERE


Libro.ClaveLibro=Trata_Sobre.ClaveLibro AND Tema.ClaveTema=Trata_Sobre.ClaveTema

SELECT Titulo,Nombre AS Autor FROM Libro,Autor,Escrito_por WHERE


Libro.ClaveLibro=Escrito_por.ClaveLibro AND Autor.ClaveAutor=Escrito_por.ClaveAutor

SELECT Nombre AS Socio,Fecha_prestamo AS "ULTIMO PRESTAMO" FROM Socio,Prestamo


WHERE Socio.Clavesocio=Prestamo.Clavesocio

SELECT * FROM Autor ORDER BY Nombre DESC


//SUB-CONSULTAS

SELECT Titulo AS "Nombre Libro" FROM Libro WHERE ClaveEditorial=(SELECT ClaveEditorial


FROM Editorial WHERE Nombre="Anaya")

SELECT Titulo AS "Nombre Libro" FROM Escrito_por,Libro WHERE


Libro.ClaveLibro=Escrito_por.ClaveLibro AND ClaveAutor=(SELECT ClaveAutor FROM Autor
WHERE Nombre="Juan Cortazar")

SELECT Titulo AS "Libro Prestado" FROM libro,Prestamo WHERE


Libro.ClaveLibro=Prestamo.ClaveLibro AND Clavesocio=(SELECT Clavesocio FROM Socio
WHERE Nombre="MARIA ANGELICA CUELLAR CIFUENTES")

NORMALIZACIÓN DE MODELO Y LLAVES

También podría gustarte