Documentos de Académico
Documentos de Profesional
Documentos de Cultura
01 Descripción general
03
Diagrama Entidad-relación inicial
04
Normalización y base de datos
DESCRIPCIÓN GENERAL
NOMBRE
Biblioteca “Rincón del Lector”
GIRO Y UBICACIÓN
La Biblioteca “Rincón del Lector” realiza préstamo
de material bibliográfico de diversas temáticas al
público en general. La empresa se encuentra ubicada
en la Av. Joaquin Madrid N° 201 - San Borja en el
distrito y provincia de Lima Metropolitana.
6
DIAGRAMA ENTIDAD –RELACION INICIAL
PASOS
2 3
1 Realizar la
Insertar datos en
las tablas creadas 4
creación de las
tablas
Realizar la
creación de la Realizar las
base de datos consultas, vistas
o subconsultas
CREATE DATABASE BD_BIBLIOTECA
ON PRIMARY (NAME='BD_BIBLIOTECA_PRI',
FILENAME='C:\Cibertec\proyecto\BD_BIBLIOTECA .MDF',
SIZE=12MB,
MAXSIZE=800MB,
FILEGROWTH=10MB)
LOG ON (NAME='BD_BIBLIOTECA_TRA',
FILENAME='C:\Cibertec\proyecto\BD_BIBLIOTECA.LDF',
SIZE=8MB,
CREACIÓN DE BASE
MAXSIZE=100MB,
FILEGROWTH=10MB)
GO
9
CREACIÓN DE TABLAS
CREATE TABLE LIBRO(
CODLIBRO CHAR(7) PRIMARY KEY CHECK(CODLIBRO LIKE 'L[0-9][0-9][0-9][0-9][0-9][0-9]'),
TITULO VARCHAR(MAX) NOT NULL,
AÑO DATE,
CODIDIOMA CHAR(3) NOT NULL REFERENCES IDIOMA,
CODTEMATICA CHAR(4) NOT NULL REFERENCES TEMATICA,
CODEDITORIAL CHAR(6) NOT NULL REFERENCES EDITORIAL,
RESTRINCCION CHAR(2) CHECK(RESTRINCCION IN('si','no')),
PAGINAS INT DEFAULT 0,
CANTIDAD TINYINT NOT NULL,
FRAGMENTO CHAR(2) CHECK(FRAGMENTO IN('si','no')),
RECOMENDADOS CHAR(2) CHECK(RECOMENDADOS IN('si','no')),
CODFORMATO CHAR(4) NOT NULL REFERENCES FORMATO,
CODPAIS CHAR(4) NOT NULL REFERENCES PAIS,
ESTADO CHAR(1) CHECK(ESTADO IN('D','N')),
ISBN CHAR(13) NOT NULL UNIQUE,)
CREATE PROC #SP_BUSCAR_X_IDIOMA_DISPONIBILIDAD(@NOMBRE
CONSULTAS CREATE PROC #SP_BUSCAR_X_PAISES(@NOMBRE VARCHAR(80))ASBEGIN
IF EXISTS(SELECT CODPAIS FROM PAIS
VARCHAR(30),@ESTADO CHAR(1))ASBEGIN IF EXISTS(SELECT WHERE NOMPAIS LIKE @NOMBRE+'%' ) BEGIN
CODIDIOMA FROM IDIOMA WHERE NOMIDIOMA LIKE @NOMBRE+'%' ) SELECT (SELECT NOMAUTOR FROM AUTOR
BEGIN WHERE CODAUTOR = AU.CODAUTOR) AS 'AUTOR',
SELECT (SELECT NOMAUTOR FROM AUTOR WHERE (SELECT TITULO FROM LIBRO WHERE
CODAUTOR = AU.CODAUTOR) AS 'AUTOR', CODLIBRO = AU.CODLIBRO) AS 'TITULO',
(SELECT TITULO FROM (SELECT (SELECT
LIBRO WHERE CODLIBRO = AU.CODLIBRO) AS 'TITULO', T.NOMTEMATICA FROM TEMATICA T WHERE T.CODTEMATICA =
L.CODTEMATICA) FROM LIBRO L WHERE CODLIBRO = AU.CODLIBRO)
(SELECT (SELECT T.NOMTEMATICA FROM AS 'TEMATICA’,
TEMATICA T WHERE T.CODTEMATICA = L.CODTEMATICA) FROM LIBRO L
WHERE CODLIBRO = AU.CODLIBRO) AS 'TEMATICA',
(SELECT AÑO FROM LIBRO WHERE CODLIBRO = AU.CODLIBRO) AS
(SELECT AÑO FROM LIBRO WHERE CODLIBRO = 'AÑO',
AU.CODLIBRO) AS 'AÑO', (SELECT (SELECT P.NOMPAIS FROM PAIS P
(SELECT (SELECT WHERE P.CODPAIS = L.CODPAIS) FROM LIBRO L WHERE CODLIBRO =
P.NOMPAIS FROM PAIS P WHERE P.CODPAIS = L.CODPAIS) FROM LIBRO AU.CODLIBRO) AS 'PAIS',
L WHERE CODLIBRO = AU.CODLIBRO) AS 'PAIS', (SELECT (SELECT
I.NOMIDIOMA FROM IDIOMA I WHERE I.CODIDIOMA = L.CODIDIOMA)
(SELECT (SELECT I.NOMIDIOMA FROM IDIOMA I FROM LIBRO L WHERE CODLIBRO = AU.CODLIBRO) AS 'IDIOMA',
WHERE I.CODIDIOMA = L.CODIDIOMA) FROM LIBRO L WHERE CODLIBRO =
AU.CODLIBRO) AS 'IDIOMA', (SELECT (SELECT E.NOMEDITORIAL FROM
(SELECT (SELECT EDITORIAL E WHERE E.CODEDITORIAL = L.CODEDITORIAL) FROM
E.NOMEDITORIAL FROM EDITORIAL E WHERE E.CODEDITORIAL = LIBRO L WHERE CODLIBRO = AU.CODLIBRO) AS 'EDITORIAL',
L.CODEDITORIAL) FROM LIBRO L WHERE CODLIBRO = AU.CODLIBRO) AS
'EDITORIAL', (SELECT RESTRINCCION FROM LIBRO WHERE
(SELECT RESTRINCCION FROM LIBRO WHERE CODLIBRO = AU.CODLIBRO) AS 'RESTRINCCION',
CODLIBRO = AU.CODLIBRO) AS 'RESTRINCCION',
(SELECT (SELECT F.NOMFORMATO FROM
(SELECT (SELECT F.NOMFORMATO FROM FORMATO FORMATO F WHERE F.CODFORMATO = L.CODFORMATO) FROM LIBRO L
F WHERE F.CODFORMATO = L.CODFORMATO) FROM LIBRO L WHERE WHERE CODLIBRO = AU.CODLIBRO) AS 'FORMATO',
CODLIBRO = AU.CODLIBRO) AS 'FORMATO',
(SELECT ESTADO FROM (SELECT ESTADO FROM LIBRO WHERE
LIBRO WHERE CODLIBRO = AU.CODLIBRO) AS 'ESTADO' CODLIBRO = AU.CODLIBRO) AS 'ESTADO'
FROM AUTOR_LIBRO AU FROM AUTOR_LIBRO AU
WHERE AU.CODLIBRO IN (SELECT CODLIBRO FROM WHERE AU.CODLIBRO IN (SELECT CODLIBRO
LIBRO WHERE CODIDIOMA IN (SELECT CODIDIOMA FROM IDIOMA WHERE FROM LIBRO WHERE CODPAIS IN (SELECT CODPAIS FROM PAIS
NOMIDIOMA LIKE @NOMBRE+'%') AND ESTADO IN(@ESTADO) ) WHERE NOMPAIS LIKE @NOMBRE+'%’))
END END
END END