Вы находитесь на странице: 1из 70

UNIVERSIDAD NACIONAL DE TRUJILLO

FACULTAD DE INGENIERIA
ESCUELA ACADEMICA DE INGENIERIA DE SISTEMAS

Sistema de administracin de bases de datos del control de requerimiento


de libros y prstamos de la biblioteca de la UNT
Autores:
Len Ros, Jessica
Glvez Mostacero, Jennifer
Lingan Hernndez, Laura
Vsquez Cabanillas, Melany
Revilla Chicoma, Verushka

Asesor:
Dr. Luis Boy Chavil

GUADALUPE PER
2015

DEDICATORIA
Universidad Nacional de Trujillo
Escuela de Ingeniera de Sistema

A Dios, Por ser quien me escucha y


me ayuda a sobrellevar muchos
momentos difciles vividos, gracias
seor.

A mi mam y a mi pap, quienes forjaron mi


educacin y mi formacin profesional,
seguidora constante de cada paso que doy
en la vida, por su apoyo y comprensin
brindada en esta etapa de mi vida.

Los Autores

INTRODUCCION

2
Sistema de administracin de bases de datos del control
de requerimiento de libros y prstamos de la biblioteca
de la UNT
Universidad Nacional de Trujillo
Escuela de Ingeniera de Sistema

Universidad Nacional de Trujillo


Escuela de Ingeniera de Sistema

Durante los ltimos aos se ha venido suscitando una serie de cambios tecnolgicos, en el
mundo, donde el uso de la computadora y software se hace cada vez ms imprescindible,
ingresando en casi todas las reas de la actividad humana, siendo una de las tareas ms
importantes de este cambio la automatizacin en el manejo de la informacin, para
conseguir una mayor productividad.

En nuestra universidad se ha notado ms an estos cambios debido al crecimiento acelerado


que ha tenido en el aspecto de alumnado, llegando a convertirse en uno de los principales
polos de desarrollo de nuestra universidad donde las necesidades de automatizar la
informacin juega un papel importante.

INDICE

1. CAPITULO I: GENERALIDADES.............................................................................................................1
1.1 Generalidades de la Empresa..............................................................................................................1
1.1.1 Resea Histrica de la Empresa.....................................................................................................1
1.1.2. Estructura Organizacional..............................................................................................................1

3
Sistema de administracin de bases de datos del control
Sistema de administracin
de requerimiento de libros de bases de datos
y prstamos de ladel control
biblioteca
de requerimiento
de la UNT de libros y prstamos de la biblioteca
de la UNT
Universidad Nacional de Trujillo
Escuela de Ingeniera de Sistema

Universidad Nacional de Trujillo


Escuela de Ingeniera de Sistema
1.1.3..........Visin, Misin y Objetivos de la Empresa
3
1.2. Generalidades Del Proyecto................................................................................................................4
1.2.1. Ttulo Del Proyecto.............................................................................................................................4
1.2.2. Objetivos De Investigacin.................................................................................................................4
1.2.3. Limitaciones........................................................................................................................................4
CAPITULO II: CARACTERISTICAS DEL SISTEMA ACTUAL.....................................................................5
2. CAPITULO II: CARACTERISTICAS DEL SISTEMA ACTUAL.............................................................6
2.1. Realidad Sistemtica Del Problema....................................................................................................6
2.1.1. Organizacin Sincrnica Del Problema..............................................................................................6
2.1.2. Organizacin Diacrnica Del Problema.............................................................................................7
2.1.3. rbol de Causa-Efecto........................................................................................................................8
2.1.4. Descripcin de la Realidad Problemtica...........................................................................................9
2.2. Diseo de Entrevistas........................................................................................................................10
CAPITULO IV: SISTEMA PROPUESTO.........................................................................................................12
3.CAPITULO IV: DISEO DEL SISTEMA PROPUESTO.............................................................................13
3.1. Descripcin de Dato..........................................................................................................................13
3.1.1. Modelo Normalizado de Datos Erwin.......................................................................................13
3.1.2. Integridad de Datos.......................................................................................................................13
3.1.3. Vistas De La Base De Datos.........................................................................................................27
3.1.4. Procesamiento de Reportes...........................................................................................................28
3.2. Administracin De La Base De Datos..............................................................................................37
3.2.1. Instalacin del Servidor de la Base de Datos...............................................................................37
3.3. Diseo De La Interface.....................................................................................................................47
3.3.1. Diseo del Men de las Opciones del Sistema.............................................................................47
3.3.2. Diseo de la Interfaz del Administrador.......................................................................................47
3.3.3. Diseo de la Interfaz del Prstamo en Sala..................................................................................48
3.3.4. Diseo de la Interfaz de Registro de Prstamo.............................................................................48
3.3.5. Diseo de la Interfaz de Lectura en Sala......................................................................................49
3.3.6. Diseo de la Interfaz de Lectura de Domicilio.............................................................................49
4. CAPITULO V: IMPLEMENTACION DEL SISTEMA PROPUESTO.....................................................50
4.1. Codificacin del Sistema Integrado en Visual Basic NET...............................................................50
4.2. Implementacin de la Base de Datos en SQL Server.......................................................................62

4
Sistema de administracin de bases de datos del control
Sistema de administracin
de requerimiento de libros de bases de datos
y prstamos de ladel control
biblioteca
de requerimiento
de la UNT de libros y prstamos de la biblioteca
de la UNT
Universidad Nacional de Trujillo
Escuela de Ingeniera de Sistema

Universidad Nacional de Trujillo


Escuela de Ingeniera de Sistema

5
Sistema de administracin de bases de datos del control
Sistema de administracin
de requerimiento de libros de bases de datos
y prstamos de ladel control
biblioteca
de requerimiento
de la UNT de libros y prstamos de la biblioteca
de la UNT
Universidad Nacional de Trujillo
Escuela de Ingeniera de Sistema

Universidad Nacional de Trujillo


Escuela de Ingeniera de Sistema

1. CAPITULO I:
GENERALIDADES

6
Sistema de administracin de bases de datos del control
Sistema de administracin
de requerimiento de libros de bases de datos
y prstamos de ladel control
biblioteca
de requerimiento
de la UNT de libros y prstamos de la biblioteca
de la UNT
Universidad Nacional de Trujillo
Escuela de Ingeniera de Sistema

Universidad Nacional de Trujillo


Escuela de Ingeniera de Sistema

1. CAPITULO I: GENERALIDADES
1.1 Generalidades de la Empresa

1.1.1 Resea Histrica de la Empresa


La fundacin de la Universidad Nacional de Trujillo se remonta al inicio de nuestra poca Republicana.
Fue el General Simn Bolvar, el Libertador de Amrica, quien expide en su cuartel general de
Huamachuco el Decreto de Fundacin el 10 de mayo de 1824. Influenci mucho en ello, el entonces
Secretario General de la Nacin, el Tribuno don Jos Faustino Snchez Carrin.
El primer Rector fue Don Carlos Pedemonte y Talavera y su instalacin ocurre el 12 de Octubre de
1831 en ceremonia realizada en la capilla interior del Colegio Seminario de San Carlos y San Marcelo
prestando el juramento respectivo el Dr. Pedro Jos Soto y Velarde, Vicerrector encargado del Rectorado
en ausencia del titular, el Doctor Toms Diguez de Florencia, entonces Senador de la Repblica.
El 23 de noviembre de 1831, el Supremo Gobierno nombr como patronos de la Universidad a Santo
Toms y Santa Rosa de Lima. Inici su funcionamiento en el local del Colegio "El Salvador" fundado
por el Obispo de Trujillo Don Marcelo Corne. Las primeras ctedras establecidas fueron: Teologa
Dogmtica y Mora, Cnones y Leyes; Anatoma y Medicina; Filosofa y Matemticas. En los primeros
aos, sus actividades acadmicas se rigieron por la Constitucin de la Universidad Nacional de San
Marcos de Lima, habindose dejado en libertad para que el Claustro adopte los reglamentos ms
convenientes.

- Razn Social: Universidad Nacional de Trujillo


- R.U.C: 20172557628
- Localizacin: Calle Diego de Almagro # 344 La Libertad Trujillo - Trujillo

1.1.2. Estructura Organizacional


ASAMBLEA
UNIVERSITARIA

C
O
N
S
E
J
O

U
N
I
V
E
R
S
I
T
A
R

7
Sistema de administracin de bases de datos del control
Sistema de administracin
de requerimiento de libros de bases de datos
y prstamos de ladel control
biblioteca
de requerimiento
de la UNT de libros y prstamos de la biblioteca
de la UNT
Universidad Nacional de Trujillo
Escuela de Ingeniera de Sistema

Universidad Nacional de Trujillo


Escuela de Ingeniera de Sistema
I
O

ORGANO RECTORADO
INSTIT

O
F
I
C
I
N
A

D
E

A
S
U
N
T
O
S

J
U
R
I
D
I
C
O
S
OFICINA DE S
AUTOE E
OFI VALUA C
CIN CION Y R
A ACREDI E
DE TACION T
REL A
ACI R
ONE I
S A
PB
LICA
SE
G
INF
E
ORM
N
ACI
E
ON
R
A
L

V
VICERRECTORADO
I
ADMINISTRATIVO
C
E
R
R
E
C
T
O
R
A
D
O
A
C
A
D
E
M
I
C
O

CA A OFICINA DE REGISTRO TECNICO


O D C
OFICI FI MIC O A
NA DIRECCION OFICI OFICIN CEN CI A FI D
DE DE OFIC NA DE A DE TRO N CI E
BIEN TESORERI INA DE SISTE EDITO CUL A N MI
ESTA A IMPRE MAS RIAL TUR D A C
R SIONE E UNIVE AL E D O
UNIV SY INFOR RSITA UNIV E E
ERST PUBLI MATIC RIA ERSI V IN
ARIO DIRE CACIO A TARI A T
CCI NES O L E
ON U R
DE A C
CON CI A
TABI O M
LIDA N BI
D A O

8
Sistema de administracin de bases de datos del control
Sistema de administracin
de requerimiento de libros de bases de datos
y prstamos de ladel control
biblioteca
de requerimiento
de la UNT de libros y prstamos de la biblioteca
de la UNT
Universidad Nacional de Trujillo
Escuela de Ingeniera de Sistema

Universidad Nacional de Trujillo


Escuela de Ingeniera de Sistema
E B I C
OFICIN AD I N I O A
A DE MIS O C A D B T S
ION F I L E

D
I
R
E
C
C
I
O
N

D
E

A
B
A
S
T
E
C
I
M
I
E
N
T
O

GERENCIA DE G
GERENCIA INVESTIGACIO E
GE
D N CIENTIFICA Y R
RE
E PROYECCION E
NCI
P SOCIAL Y N
A
L EXTENSION C
DE
A UNIVERSITARI I
RE
NI A A
CU
FI RS
C OS
A D
CI E
O
N
Y R
D E
E L
S A
A C
R I
R O
O N
L E
L S
O

I
N
T
E
R
N
A
C
I
O
N
A
L
E
S

DIR DIRECC I DIRECCION DE DIRECCION DE


DIRECCIO DIRECCION DIRECCION DE INVESTIGACION PROYECCION SOCIAL Y RELACIONES
ECCION ION DE V PERSONAL
N DE A CIENIFICA EXTENSION UNIVER. INTERNACIONALES
DESAR
ROLLO COOPER
ORGANI ACION
DE TECNICA DIRE OS
ZACION
Y CCIO FIS
AL
PROMOCI N DE IC
PRESUP ON REC OS
UESTO PRODUCT URS

ESCUELA DE
FACULTADES POST - GRADO
SEDES
CENTROS INTERFACUL-
ACADEMICAS
INSTITUTOS
E TATIVOS
INTERFACUL-TATIVOS
DESCONCETRADAS
S

CONSEJO DE FACULTAD

CENTROS
PRODUCTIVOS
INTERFACULTATIVOS

9
Sistema de administracin de bases de datos del control
Sistema de administracin
de requerimiento de libros de bases de datos
y prstamos de ladel control
biblioteca
de requerimiento
de la UNT de libros y prstamos de la biblioteca
de la UNT
Universidad Nacional de Trujillo
Escuela de Ingeniera de Sistema

Universidad Nacional de Trujillo


Escuela de Ingeniera de Sistema
D

C
O
S M
BIBLIOTECA E I
C T

S

P
E
R
M
A
N
E
N
T
E
S

A
S
E
S
O
R
A
M
I
E
N
T
O

A
C
A
D

1
M
I

10
Sistema de administracin de bases de datos del control
Sistema de administracin
de requerimiento de libros de bases de datos
y prstamos de ladel control
biblioteca
de requerimiento
de la UNT de libros y prstamos de la biblioteca
de la UNT
ESCUELAS CENTROS
INSTITUTOS DE DEPARTAMENTO ACADEMICOS
ACEDEMICAS
INVESTIGACIO ACADEMICOS PROFESIONALES

Sistema de administracin de bases de datos del control


de requerimiento de libros y prstamos de la biblioteca 11
de la UNT
Universidad Nacional de Trujillo
Escuela de Ingeniera de Sistemas

1.1.3. Visin, Misin y Objetivos de la Empresa

- Misin

Somos la primera universidad republicana del Per, formamos profesionales y


acadmicos competitivos, con calidad, crticos, ticos y socialmente responsables;
creamos valor generando y transfiriendo conocimiento cientfico, tecnolgico,
humanstico e innovador, para el desarrollo sostenible de la regin La Libertad y
el Pas".

- Visin
Al 2024, ubicada entre las cinco primeras universidades del Per, reconocida por
su calidad, por su vocacin democrtica, por la formacin integral del talento
humano, la investigacin cientfica, tecnolgica, humanstica y la innovacin; con
responsabilidad social satisface a los grupos de inters y contribuye al desarrollo
sostenible de la regin La Libertad y el pas.

- Objetivos
- Objetivos Estratgicos

1. Lograr una formacin integral del estudiante, basado en la


calidad, la pertinencia y la tica que satisfaga a los grupos de
inters.
2. Generar investigacin cientfica e innovacin de calidad, y
pertinente con el desarrollo sostenible.
3. Implementar y gestionar la extensin, proyeccin y
responsabilidad social requeridas por la demanda social.
4. Implementar una direccin estratgica integrada, eficaz y
eficiente para el desarrollo institucional.
5. Priorizar la implementacin de la calidad con pertinencia en todos
los procesos de la universidad.
6. Brindar servicios de atencin y prevencin eficaces y eficientes
que aseguren el bienestar de la comunidad universitaria.
7. Lograr la vinculacin dinmica de la universidad con los grupos
de inters nacionales e internacionales.

Sistema de administracin de bases de datos del control


de requerimiento de libros y prstamos de la biblioteca 12
de la UNT
Universidad Nacional de Trujillo
Escuela de Ingeniera de Sistemas

1.2. Generalidades Del Proyecto

1.2.1. Ttulo Del Proyecto

Sistema de administracin de bases de datos del control de requerimiento de


libros y prstamos de la biblioteca de la UNT

1.2.2. Objetivos De Investigacin

1.2.2.1. Objetivo General


Implementar un Sistema de administracin de bases de datos del control de
requerimiento de libros y prstamos de la biblioteca de la UNT

1.2.2.2. Objetivos Especficos

Mejorar la satisfaccin de alumno.


Reducir tiempo invertido en hacer registros de libros.
Reducir tiempo invertido en hacer las bsquedas manualmente.
Reducir tiempo de generacin de reportes tiles para la toma de decisiones.

1.2.3. Limitaciones

En el desarrollo de la investigacin se presentaron las siguientes limitaciones:

Falta de instrumentos de control acceso a la informacin en algunos das, lo que


imposibilito conocer con exactitud la investigacin llevada.
Los archivos de la biblioteca no disponen de instrumentos de control
debidamente estructurados.
El conocimiento limitado terico y prctico que tenemos respecto a cmo los
medios funcionan en el contexto educativo.

Sistema de administracin de bases de datos del control


de requerimiento de libros y prstamos de la biblioteca 13
de la UNT
Universidad Nacional de Trujillo
Escuela de Ingeniera de Sistemas

CAPITULO II:
CARACTERISTICAS DEL
SISTEMA ACTUAL

Sistema de administracin de bases de datos del control


de requerimiento de libros y prstamos de la biblioteca 14
de la UNT
Universidad Nacional de Trujillo
Escuela de Ingeniera de Sistemas

2. CAPITULO II: CARACTERISTICAS DEL SISTEMA


ACTUAL
2.1. Realidad Sistemtica Del Problema

2.1.1. Organizacin Sincrnica Del Problema

Docent
Alumn

Secreta
rio

AMBIEN
TE

Sistema de administracin de bases de datos del control


de requerimiento de libros y prstamos de la biblioteca 15
de la UNT
Universidad Nacional de Trujillo
Escuela de Ingeniera de Sistemas

2.1.2. Organizacin Diacrnica Del Problema

E 1 2 3 S V

R
E, ENTRADA: Secretario

P, PROCESO: Operaciones (1. Gestin de prstamo, 2. Verificacin 3. Gestin de


Inventario).

S, SALIDA: Entrega de Libro.

V, VALORACIN: Calidad de Entrega

R, RETROALIMENTACIN: variacin de los elementos de entrada.

Sistema de administracin de bases de datos del control


de requerimiento de libros y prstamos de la biblioteca 16
de la UNT
Universidad Nacional de Trujillo
Escuela de Ingeniera de Sistemas

2.1.3. rbol de Causa-Efecto

Prdida de Alumnos

Baja calidad de
Atencin

Poco uso de Demoras frecuentes


Tecnologa

Falla de control de
entregas

Mala gestin de Mala gestin de


prstamos inventarios

Deficiente control de No existe la seguridad No existe historial de Deficiencia de


entrada y salidas de prstamos inventarios inventarios asignados
prstamos

Sistema de administracin de bases de datos del control


de requerimiento de libros y prstamos de la biblioteca 17
de la UNT
Universidad Nacional de Trujillo
Escuela de Ingeniera de Sistemas

2.1.4. Descripcin de la Realidad Problemtica

La Universidad Nacional de Trujillo se encuentra ubicada en la regin La Libertad,


cuenta con 36 carreras profesionales; en la Sede del Valle Jequetepeque contamos
con 9 carreras profesionales y est ubicada en la ciudad de Guadalupe a unos 128
Km. Al norte de Trujillo.

En la sede del valle cuenta con una biblioteca que contendr aproximadamente 157
libros.

En la problemtica estn involucrados el secretario quien se encarga del control de


entradas y salidas de los prstamos de libros.
El sistema de administracin del control de requerimientos de libros y prstamos
de la biblioteca UNT se lleva acabo manual, utiliza medios como cuadernillos yd
documentos para el control de prstamo. La hora de salida del prstamo lo apuntan
al momento que dicho libro sale de la biblioteca.

De las indagaciones se ha observado que existe una falla en el control de entrega,


debido a que no existe la seguridad de prstamos, as como hay una deficiencia de
control de entrada y salidas; lo que trae como consecuencia una mala gestin de
prstamos. Tambin se ha detectado que existe una deficiencia de inventarios
asignados, as como no existe historial de inventarios; lo que trae como
consecuencia una mala gestin de inventarios.
Asimismo, se ha detectado poco uso de tecnologa y demoras frecuentes; esto trae
como consecuencia que se produzca una baja calidad de la atencin; finalmente, se
corre el riesgo de prdida de Alumnos.

Los principales problemas se originan en el rea de la administracin de la


biblioteca donde no se lleva un adecuado control de entrada y salida de prstamos y se
desconoce los inventarios; lo que ocasiona prdida de tiempo y por lo
general perdida del alumno.

Sistema de administracin de bases de datos del control


de requerimiento de libros y prstamos de la biblioteca 18
de la UNT
Universidad Nacional de Trujillo
Escuela de Ingeniera de Sistemas

2.2. Diseo de Entrevistas

Cuestionario para determinar el nivel de satisfaccin de los alumnos


CUESTIONARIO N 01

1. TTULO DEL PROYECTO

Sistema de administracin de bases de datos del control de requerimiento de libros y prstamos de la


biblioteca de la UNT

2. INVOCACIN-OBJETIVO
La presente investigacin persigue el principal objetivo de Implementar un Sistema de administracin de bases
de datos del control de requerimiento de libros y prstamos de la biblioteca de la UNT

Le agradeceremos leer bien el enunciado de cada tem y responder como corresponda marcando con un crculo el
tem de su preferencia.
3. INFORMANTES

3.1Profesin: _____________________________
3.2Aos de experiencia: ____________________
3.3Edad: [20 25] ( ), <25 30] ( ), <30 35] ( ), <35 40] ( ), <40 Ms] ( )
3.4Sexo: Masculino ( ), Femenino ( )

4. INTRODUCCION
Estimados Alumnos de la Universidad Nacional de Trujillo, el presente cuestionario es parte de un proyecto de
investigacin que tiene por finalidad la obtencin de informacin, acerca del funcionamiento actual de la
Biblioteca.

5. DETALLE DE LOS ITEMS


1. Cree que la biblioteca tiene los libros adecuados?

a) Muy buena b) Buena c) Regular d) Mala e) Muy mala

2. Cree que deberan haber ms libros de programacin?

a) Siempre b) Casi siempre c) A veces d) Casi nunca d) Nunca

3. ests de acuerdo con el plazo para la entrega del libro?

a) Muy buena b) Buena c) Regular d) Mala e) Muy mala

4. Cree que la sala de lectura tiene el tamao adecuado?

a) Muy buena b) Buena c) Regular d) Mala e) Muy mala

Sistema de administracin de bases de datos del control


de requerimiento de libros y prstamos de la biblioteca 19
de la UNT
Universidad Nacional de Trujillo
Escuela de Ingeniera de Sistemas

5. Cree que es necesario implementar la biblioteca con computadoras?

a) Siempre b) Casi siempre c) A veces d) Casi nunca d) Nunca

Sistema de administracin de bases de datos del control


de requerimiento de libros y prstamos de la biblioteca 20
de la UNT
Universidad Nacional de Trujillo
Escuela de Ingeniera de Sistemas

CAPITULO IV:
SISTEMA PROPUESTO

3.

Sistema de administracin de bases de datos del control


de requerimiento de libros y prstamos de la biblioteca 21
de la UNT
Universidad Nacional de Trujillo
Escuela de Ingeniera de Sistemas

3.CAPITULO IV: DISEO DEL SISTEMA PROPUESTO


3.1. Descripcin de Dato

3.1.1. Modelo Normalizado de Datos Erwin

3.1.2. Integridad de Datos

3.1.2.1. Script de la base de datos en T-SQL

SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id =
OBJECT_ID(N'[dbo].[USUARIOS]') AND type in (N'U'))
BEGIN
CREATE TABLE [dbo].[USUARIOS](
[USU_Codigo] [char](6) NOT NULL,
[USU_DNI] [varchar](10) NULL,
[USU_Apellidos] [varchar](50) NULL,
[USU_Nombres] [varchar](50) NULL,
[USU_Direccion] [varchar](50) NULL,
[USU_Telefono] [varchar](50) NULL,
[USU_Celular] [varchar](50) NULL,
[USU_Email] [varchar](50) NULL,
[USU_Estado] [varchar](50) NULL,
CONSTRAINT [PK_USUARIOS] PRIMARY KEY CLUSTERED
(
[USU_Codigo] ASC
)WITH (PAD_INDEX = OFF, IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]

Sistema de administracin de bases de datos del control


de requerimiento de libros y prstamos de la biblioteca 22
de la UNT
Universidad Nacional de Trujillo
Escuela de Ingeniera de Sistemas

END
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id =
OBJECT_ID(N'[dbo].[CATEGORIAS]') AND type in (N'U'))
BEGIN
CREATE TABLE [dbo].[CATEGORIAS](
[CAT_Codigo] [int] IDENTITY(1,1) NOT NULL,
[CAT_Descripcion] [varchar](50) NULL,
[CAT_Estado] [varchar](50) NULL,
CONSTRAINT [PK_CATEGORIAS] PRIMARY KEY CLUSTERED
([CAT_Codigo] ASC
)WITH (PAD_INDEX = OFF, IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
END
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id =
OBJECT_ID(N'[dbo].[EDITORIALES]') AND type in (N'U'))
BEGIN
CREATE TABLE [dbo].[EDITORIALES](
[EDI_Codigo] [int] IDENTITY(1,1) NOT NULL,
[EDI_Nombre] [varchar](50) NULL,
[EDI_Pais] [varchar](50) NULL,
[EDI_Ciudad] [varchar](50) NULL,
[EDI_Direccion] [varchar](50) NULL,
[EDI_Telefono] [varchar](50) NULL,
[EDI_Representante] [varchar](50) NULL,
[EDI_Estado] [varchar](50) NULL,
CONSTRAINT [PK_EDITORIALES] PRIMARY KEY CLUSTERED
(
[EDI_Codigo] ASC
)WITH (PAD_INDEX = OFF, IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
END
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id =
OBJECT_ID(N'[dbo].[AUTORES]') AND type in (N'U'))
BEGIN
CREATE TABLE [dbo].[AUTORES](
[AUT_Codigo] [int] NOT NULL,
[AUT_Apellidos] [varchar](50) NULL,
[AUT_Nombres] [varchar](50) NULL,

Sistema de administracin de bases de datos del control


de requerimiento de libros y prstamos de la biblioteca 23
de la UNT
Universidad Nacional de Trujillo
Escuela de Ingeniera de Sistemas

[AUT_Email] [varchar](50) NULL,


[AUT_Telefono] [varchar](50) NULL,
[AUT_Nacion] [varchar](50) NULL,
[AUT_Estado] [varchar](50) NULL,
CONSTRAINT [PK_AUTORES] PRIMARY KEY CLUSTERED
(
[AUT_Codigo] ASC
)WITH (PAD_INDEX = OFF, IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
END
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id =
OBJECT_ID(N'[dbo].[CARNETS]') AND type in (N'U'))
BEGIN
CREATE TABLE [dbo].[CARNETS](
[USU_Codigo] [char](6) NOT NULL,
[CAR_Tipo] [varchar](50) NULL,
[CAR_FechaInscripcion] [datetime] NULL,
[CAR_FechaCaducida] [datetime] NULL,
[CAR_Estado] [varchar](50) NULL,
CONSTRAINT [PK_CARNETS] PRIMARY KEY CLUSTERED
(
[USU_Codigo] ASC
)WITH (PAD_INDEX = OFF, IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
END
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id =
OBJECT_ID(N'[dbo].[PRESTAMOS]') AND type in (N'U'))
BEGIN
CREATE TABLE [dbo].[PRESTAMOS](
[PRE_Codigo] [int] NOT NULL,
[USU_Codigo] [char](6) NOT NULL,
[PRE_Fecha] [datetime] NULL,
[PRE_EstadoPrestado] [varchar](50) NULL CONSTRAINT
[DF_PRESTAMOS_PRE_EstadoPrestado] DEFAULT ('Prestado'),
[LIB_Codigo] [char](6) NOT NULL,
CONSTRAINT [PK_PRESTAMOS] PRIMARY KEY CLUSTERED
(
[PRE_Codigo] ASC,
[USU_Codigo] ASC
)WITH (PAD_INDEX = OFF, IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
END
GO

Sistema de administracin de bases de datos del control


de requerimiento de libros y prstamos de la biblioteca 24
de la UNT
Universidad Nacional de Trujillo
Escuela de Ingeniera de Sistemas

SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id =
OBJECT_ID(N'[dbo].[LIBRO_AUTORES]') AND type in (N'U'))
BEGIN
CREATE TABLE [dbo].[LIBRO_AUTORES](
[LIB_Codigo] [char](6) NOT NULL,
[AUT_Codigo] [int] NOT NULL,
CONSTRAINT [PK_LIBRO_AUTORES] PRIMARY KEY CLUSTERED
(
[LIB_Codigo] ASC,
[AUT_Codigo] ASC
)WITH (PAD_INDEX = OFF, IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
END
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id =
OBJECT_ID(N'[dbo].[LIBROS]') AND type in (N'U'))
BEGIN
CREATE TABLE [dbo].[LIBROS](
[LIB_Codigo] [char](6) NOT NULL,
[LIB_Numero] [varchar](50) NULL,
[LIB_Titulo] [varchar](50) NULL,
[LIB_ISBN] [varchar](50) NULL,
[LIB_AoPublicacion] [int] NULL,
[CAT_Codigo] [int] NULL,
[EDI_Codigo] [int] NULL,
[LIB_Estado] [varchar](50) NULL CONSTRAINT
[DF_LIBROS_LIB_Estado] DEFAULT ('Habilitado'),
[LIB_EstadoPrestamo] [varchar](50) NULL CONSTRAINT
[DF_LIBROS_LIB_EstadoPrestamo] DEFAULT ('Disponible'),
CONSTRAINT [PK_LIBROS] PRIMARY KEY CLUSTERED
(
[LIB_Codigo] ASC
)WITH (PAD_INDEX = OFF, IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
END
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id =
OBJECT_ID(N'[dbo].[LECTURA_DOMICILIO]') AND type in (N'U'))
BEGIN
CREATE TABLE [dbo].[LECTURA_DOMICILIO](
[PRE_Codigo] [int] NOT NULL,

Sistema de administracin de bases de datos del control


de requerimiento de libros y prstamos de la biblioteca 25
de la UNT
Universidad Nacional de Trujillo
Escuela de Ingeniera de Sistemas

[USU_Codigo] [char](6) NOT NULL,


[LED_FechaDevolucion] [datetime] NULL,
CONSTRAINT [PK_LECTURA_DOMICILIO] PRIMARY KEY CLUSTERED
(
[PRE_Codigo] ASC,
[USU_Codigo] ASC
)WITH (PAD_INDEX = OFF, IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
END
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id =
OBJECT_ID(N'[dbo].[LECTURA_SALA]') AND type in (N'U'))
BEGIN
CREATE TABLE [dbo].[LECTURA_SALA](
[PRE_Codigo] [int] NOT NULL,
[USU_Codigo] [char](6) NOT NULL,
[LES_FechaDevolucion] [datetime] NULL,
CONSTRAINT [PK_LECTURA_SALA] PRIMARY KEY CLUSTERED
(
[PRE_Codigo] ASC,
[USU_Codigo] ASC
)WITH (PAD_INDEX = OFF, IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
END
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id =
OBJECT_ID(N'[dbo].[RESERVACIONES]') AND type in (N'U'))
BEGIN
CREATE TABLE [dbo].[RESERVACIONES](
[PRE_Codigo] [int] NOT NULL,
[USU_Codigo] [char](6) NOT NULL,
[RES_FechaRequerida] [datetime] NULL,
CONSTRAINT [PK_RESERVACIONES] PRIMARY KEY CLUSTERED
(
[PRE_Codigo] ASC,
[USU_Codigo] ASC
)WITH (PAD_INDEX = OFF, IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
END
GO
IF NOT EXISTS (SELECT * FROM sys.foreign_keys WHERE
object_id = OBJECT_ID(N'[dbo].[FK_CARNETS_USUARIOS]') AND
parent_object_id = OBJECT_ID(N'[dbo].[CARNETS]'))
ALTER TABLE [dbo].[CARNETS] WITH CHECK ADD CONSTRAINT
[FK_CARNETS_USUARIOS] FOREIGN KEY([USU_Codigo])

Sistema de administracin de bases de datos del control


de requerimiento de libros y prstamos de la biblioteca 26
de la UNT
Universidad Nacional de Trujillo
Escuela de Ingeniera de Sistemas

REFERENCES [dbo].[USUARIOS] ([USU_Codigo])


GO
ALTER TABLE [dbo].[CARNETS] CHECK CONSTRAINT
[FK_CARNETS_USUARIOS]
GO
IF NOT EXISTS (SELECT * FROM sys.foreign_keys WHERE
object_id = OBJECT_ID(N'[dbo].[FK_PRESTAMOS_LIBROS]') AND
parent_object_id = OBJECT_ID(N'[dbo].[PRESTAMOS]'))
ALTER TABLE [dbo].[PRESTAMOS] WITH CHECK ADD CONSTRAINT
[FK_PRESTAMOS_LIBROS] FOREIGN KEY([LIB_Codigo])
REFERENCES [dbo].[LIBROS] ([LIB_Codigo])
GO
ALTER TABLE [dbo].[PRESTAMOS] CHECK CONSTRAINT
[FK_PRESTAMOS_LIBROS]
GO
IF NOT EXISTS (SELECT * FROM sys.foreign_keys WHERE
object_id = OBJECT_ID(N'[dbo].[FK_PRESTAMOS_USUARIOS]') AND
parent_object_id = OBJECT_ID(N'[dbo].[PRESTAMOS]'))
ALTER TABLE [dbo].[PRESTAMOS] WITH CHECK ADD CONSTRAINT
[FK_PRESTAMOS_USUARIOS] FOREIGN KEY([USU_Codigo])
REFERENCES [dbo].[USUARIOS] ([USU_Codigo])
GO
ALTER TABLE [dbo].[PRESTAMOS] CHECK CONSTRAINT
[FK_PRESTAMOS_USUARIOS]
GO
IF NOT EXISTS (SELECT * FROM sys.foreign_keys WHERE
object_id = OBJECT_ID(N'[dbo].[FK_LIBRO_AUTORES_AUTORES]')
AND parent_object_id = OBJECT_ID(N'[dbo].[LIBRO_AUTORES]'))
ALTER TABLE [dbo].[LIBRO_AUTORES] WITH CHECK ADD
CONSTRAINT [FK_LIBRO_AUTORES_AUTORES] FOREIGN
KEY([AUT_Codigo])
REFERENCES [dbo].[AUTORES] ([AUT_Codigo])
GO
ALTER TABLE [dbo].[LIBRO_AUTORES] CHECK CONSTRAINT
[FK_LIBRO_AUTORES_AUTORES]
GO
IF NOT EXISTS (SELECT * FROM sys.foreign_keys WHERE
object_id = OBJECT_ID(N'[dbo].[FK_LIBRO_AUTORES_LIBROS]')
AND parent_object_id = OBJECT_ID(N'[dbo].[LIBRO_AUTORES]'))
ALTER TABLE [dbo].[LIBRO_AUTORES] WITH CHECK ADD
CONSTRAINT [FK_LIBRO_AUTORES_LIBROS] FOREIGN
KEY([LIB_Codigo])
REFERENCES [dbo].[LIBROS] ([LIB_Codigo])
GO
ALTER TABLE [dbo].[LIBRO_AUTORES] CHECK CONSTRAINT
[FK_LIBRO_AUTORES_LIBROS]
GO
IF NOT EXISTS (SELECT * FROM sys.foreign_keys WHERE
object_id = OBJECT_ID(N'[dbo].[FK_LIBROS_CATEGORIAS]') AND
parent_object_id = OBJECT_ID(N'[dbo].[LIBROS]'))
ALTER TABLE [dbo].[LIBROS] WITH CHECK ADD CONSTRAINT
[FK_LIBROS_CATEGORIAS] FOREIGN KEY([CAT_Codigo])
REFERENCES [dbo].[CATEGORIAS] ([CAT_Codigo])

Sistema de administracin de bases de datos del control


de requerimiento de libros y prstamos de la biblioteca 27
de la UNT
Universidad Nacional de Trujillo
Escuela de Ingeniera de Sistemas

GO
ALTER TABLE [dbo].[LIBROS] CHECK CONSTRAINT
[FK_LIBROS_CATEGORIAS]
GO
IF NOT EXISTS (SELECT * FROM sys.foreign_keys WHERE
object_id = OBJECT_ID(N'[dbo].[FK_LIBROS_EDITORIALES]') AND
parent_object_id = OBJECT_ID(N'[dbo].[LIBROS]'))
ALTER TABLE [dbo].[LIBROS] WITH CHECK ADD CONSTRAINT
[FK_LIBROS_EDITORIALES] FOREIGN KEY([EDI_Codigo])
REFERENCES [dbo].[EDITORIALES] ([EDI_Codigo])
GO
ALTER TABLE [dbo].[LIBROS] CHECK CONSTRAINT
[FK_LIBROS_EDITORIALES]
GO
IF NOT EXISTS (SELECT * FROM sys.foreign_keys WHERE
object_id = OBJECT_ID(N'[dbo].
[FK_LECTURA_DOMICILIO_PRESTAMOS]') AND parent_object_id =
OBJECT_ID(N'[dbo].[LECTURA_DOMICILIO]'))
ALTER TABLE [dbo].[LECTURA_DOMICILIO] WITH CHECK ADD
CONSTRAINT [FK_LECTURA_DOMICILIO_PRESTAMOS] FOREIGN
KEY([PRE_Codigo], [USU_Codigo])
REFERENCES [dbo].[PRESTAMOS] ([PRE_Codigo], [USU_Codigo])
GO
ALTER TABLE [dbo].[LECTURA_DOMICILIO] CHECK CONSTRAINT
[FK_LECTURA_DOMICILIO_PRESTAMOS]
GO
IF NOT EXISTS (SELECT * FROM sys.foreign_keys WHERE
object_id = OBJECT_ID(N'[dbo].[FK_LECTURA_SALA_PRESTAMOS]')
AND parent_object_id = OBJECT_ID(N'[dbo].[LECTURA_SALA]'))
ALTER TABLE [dbo].[LECTURA_SALA] WITH CHECK ADD CONSTRAINT
[FK_LECTURA_SALA_PRESTAMOS] FOREIGN KEY([PRE_Codigo],
[USU_Codigo])
REFERENCES [dbo].[PRESTAMOS] ([PRE_Codigo], [USU_Codigo])
GO
ALTER TABLE [dbo].[LECTURA_SALA] CHECK CONSTRAINT
[FK_LECTURA_SALA_PRESTAMOS]
GO
IF NOT EXISTS (SELECT * FROM sys.foreign_keys WHERE
object_id = OBJECT_ID(N'[dbo].[FK_RESERVACIONES_PRESTAMOS]')
AND parent_object_id = OBJECT_ID(N'[dbo].[RESERVACIONES]'))
ALTER TABLE [dbo].[RESERVACIONES] WITH CHECK ADD
CONSTRAINT [FK_RESERVACIONES_PRESTAMOS] FOREIGN
KEY([PRE_Codigo], [USU_Codigo])
REFERENCES [dbo].[PRESTAMOS] ([PRE_Codigo], [USU_Codigo])
GO
ALTER TABLE [dbo].[RESERVACIONES] CHECK CONSTRAINT
[FK_RESERVACIONES_PRESTAMOS]

3.1.2.2. Dominio de Atributos y Valores por defecto

3.1.2.3. Script de Procedimientos Almacenados


SET ANSI_NULLS ON
GO

Sistema de administracin de bases de datos del control


de requerimiento de libros y prstamos de la biblioteca 28
de la UNT
Universidad Nacional de Trujillo
Escuela de Ingeniera de Sistemas

SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id =
OBJECT_ID(N'[dbo].[PA_InsertarPrestamo]') AND type in (N'P',
N'PC'))
BEGIN
EXEC dbo.sp_executesql @statement = N'
CREATE procedure [dbo].[PA_InsertarPrestamo]
@Codigo int,
@CodigoUsuario char(6),
@Fecha datetime,
@EstadoPrestamo varchar(50),
@CodigoLibro char(6)
as
begin
insert into PRESTAMOS
values(@Codigo,@CodigoUsuario,@Fecha,@EstadoPrestamo,@Codigo
Libro)
end'
END

GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id =
OBJECT_ID(N'[dbo].[PA_UltimoCodigoPrestamo]') AND type in
(N'P', N'PC'))
BEGIN
EXEC dbo.sp_executesql @statement = N'create procedure
[dbo].[PA_UltimoCodigoPrestamo]
as
begin
select count(*)+1 as Numero from PRESTAMOS
end'
END
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id =
OBJECT_ID(N'[dbo].[PA_ListarPrestamosDomicilioxUsuario]')
AND type in (N'P', N'PC'))
BEGIN
EXEC dbo.sp_executesql @statement = N'create procedure
[dbo].[PA_ListarPrestamosDomicilioxUsuario]
@Usuario varchar(100)
as
begin
select * from Prestamos P
inner join USUARIOS U on U.USU_Codigo=P.USU_Codigo

Sistema de administracin de bases de datos del control


de requerimiento de libros y prstamos de la biblioteca 29
de la UNT
Universidad Nacional de Trujillo
Escuela de Ingeniera de Sistemas

inner join LIBROS L on L.LIB_Codigo=P.LIB_Codigo


inner join LECTURA_DOMICILIO LD ON
LD.PRE_Codigo=P.PRE_Codigo
where USU_Apellidos+'' ''+USU_Nombres like @Usuario
end'
END

GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id =
OBJECT_ID(N'[dbo].[PA_ListarPrestamosxUsuario]') AND type in
(N'P', N'PC'))
BEGIN
EXEC dbo.sp_executesql @statement = N'
CREATE procedure [dbo].[PA_ListarPrestamosxUsuario]
@Usuario varchar(100)
as
begin
select
(select LES_FechaDevolucion from LECTURA_SALA
where PRE_Codigo=P.PRE_Codigo) as FechaDevolucionLS,
(select LED_FechaDevolucion from LECTURA_DOMICILIO
where PRE_Codigo=P.PRE_Codigo) as FechaDevolucionLD,
* from Prestamos P
inner join USUARIOS U on U.USU_Codigo=P.USU_Codigo
inner join LIBROS L on L.LIB_Codigo=P.LIB_Codigo
where USU_Apellidos+'' ''+USU_Nombres like @Usuario
end'
END

GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id =
OBJECT_ID(N'[dbo].[PA_ListarPrestamosxFechas]') AND type in
(N'P', N'PC'))
BEGIN
EXEC dbo.sp_executesql @statement = N'create procedure
[dbo].[PA_ListarPrestamosxFechas]
@FechaInicio datetime,
@FechaFinal datetime
as
begin
select
(select LES_FechaDevolucion from LECTURA_SALA
where PRE_Codigo=P.PRE_Codigo) as FechaDevolucionLS,
(select LED_FechaDevolucion from LECTURA_DOMICILIO
where PRE_Codigo=P.PRE_Codigo) as FechaDevolucionLD,

Sistema de administracin de bases de datos del control


de requerimiento de libros y prstamos de la biblioteca 30
de la UNT
Universidad Nacional de Trujillo
Escuela de Ingeniera de Sistemas

* from Prestamos P
inner join USUARIOS U on U.USU_Codigo=P.USU_Codigo
inner join LIBROS L on L.LIB_Codigo=P.LIB_Codigo
where P.PRE_Fecha between @FechaInicio and @FechaFinal
end'
END

GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id =
OBJECT_ID(N'[dbo].[PA_ListarUsuarios]') AND type in (N'P',
N'PC'))
BEGIN
EXEC dbo.sp_executesql @statement = N'CREATE procedure
[dbo].[PA_ListarUsuarios]
@Nombre varchar(100)
as
begin
select USU_Apellidos +'' ''+USU_Nombres as Nombre,
* from USUARIOS
where USU_Estado=''Habilitado'' and USU_Apellidos +''
''+USU_Nombres like @Nombre
order by USU_Apellidos+'' ''+USU_Nombres asc
end'

END
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id =
OBJECT_ID(N'[dbo].[PA_ListarPrestamosSalaxUsuario]') AND
type in (N'P', N'PC'))
BEGIN
EXEC dbo.sp_executesql @statement = N'create procedure
[dbo].[PA_ListarPrestamosSalaxUsuario]
@Usuario varchar(100)
as
begin
select * from Prestamos P
inner join USUARIOS U on U.USU_Codigo=P.USU_Codigo
inner join LIBROS L on L.LIB_Codigo=P.LIB_Codigo
inner join LECTURA_SALA LS ON LS.PRE_Codigo=P.PRE_Codigo
where USU_Apellidos+'' ''+USU_Nombres like @Usuario
end'

END
GO
SET ANSI_NULLS ON

Sistema de administracin de bases de datos del control


de requerimiento de libros y prstamos de la biblioteca 31
de la UNT
Universidad Nacional de Trujillo
Escuela de Ingeniera de Sistemas

GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id =
OBJECT_ID(N'[dbo].[PA_InsertarLibro]') AND type in (N'P',
N'PC'))
BEGIN
EXEC dbo.sp_executesql @statement = N'create procedure
[dbo].[PA_InsertarLibro]
@Codigo char(6),
@Numero varchar(50),
@Titulo varchar(50),
@ISBN varchar(50),
@AoPublicacion int,
@CodigoCategoria int,
@CodigoEditorial int,
@Estado varchar(50),
@EstadoPrestamo varchar(50)
as
begin
insert into LIBROS
values(@Codigo,@Numero,@Titulo,@ISBN,@AoPublicacion,
@CodigoCategoria,@CodigoEditorial,@Estado,@EstadoPrestamo)
end'

END
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id =
OBJECT_ID(N'[dbo].[PA_ModificarLibro]') AND type in (N'P',
N'PC'))
BEGIN
EXEC dbo.sp_executesql @statement = N'create procedure
[dbo].[PA_ModificarLibro]
@Codigo char(6),
@Numero varchar(50),
@Titulo varchar(50),
@ISBN varchar(50),
@AoPublicacion int,
@CodigoCategoria int,
@CodigoEditorial int,
@Estado varchar(50),
@EstadoPrestamo varchar(50)
as
begin
update LIBROS set
LIB_Numero=@Numero,
LIB_Titulo=@Titulo,
LIB_ISBN=@ISBN,
LIB_AoPublicacion=@AoPublicacion,

Sistema de administracin de bases de datos del control


de requerimiento de libros y prstamos de la biblioteca 32
de la UNT
Universidad Nacional de Trujillo
Escuela de Ingeniera de Sistemas

CAT_Codigo=@CodigoCategoria,
EDI_Codigo=@CodigoEditorial,
LIB_Estado=@Estado,
LIB_EstadoPrestamo=@EstadoPrestamo
where LIB_Codigo=@Codigo
end'
END
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id =
OBJECT_ID(N'[dbo].[PA_EliminarLibro]') AND type in (N'P',
N'PC'))
BEGIN
EXEC dbo.sp_executesql @statement = N'create procedure
[dbo].[PA_EliminarLibro]
@Codigo char(6)
as
begin
delete LIBROS
where LIB_Codigo=@Codigo
end'
END
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id =
OBJECT_ID(N'[dbo].[PA_ListarLibros]') AND type in (N'P',
N'PC'))
BEGIN
EXEC dbo.sp_executesql @statement = N'
CREATE procedure [dbo].[PA_ListarLibros]
@Titulo varchar(100)
as
begin
select * from LIBROS L
inner join CATEGORIAS C ON L.CAT_Codigo=C.CAT_Codigo
inner join EDITORIALES E ON L.EDI_Codigo=E.EDI_Codigo
where LIB_Estado=''Habilitado'' and L.LIB_Titulo like
@Titulo
order by LIB_Titulo asc
end'

END
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

Sistema de administracin de bases de datos del control


de requerimiento de libros y prstamos de la biblioteca 33
de la UNT
Universidad Nacional de Trujillo
Escuela de Ingeniera de Sistemas

IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id =


OBJECT_ID(N'[dbo].[PA_LibroxCodigo]') AND type in (N'P',
N'PC'))
BEGIN
EXEC dbo.sp_executesql @statement = N'
create procedure [dbo].[PA_LibroxCodigo]
@Codigo char(6)
as
begin
select * from LIBROS L
inner join CATEGORIAS C ON L.CAT_Codigo=C.CAT_Codigo
inner join EDITORIALES E ON L.EDI_Codigo=E.EDI_Codigo
where LIB_Estado=''Habilitado'' and L.LIB_Codigo=@Codigo
order by LIB_Titulo asc
end'
END
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id =
OBJECT_ID(N'[dbo].[PA_ListarCategorias]') AND type in (N'P',
N'PC'))
BEGIN
EXEC dbo.sp_executesql @statement = N'
create procedure [dbo].[PA_ListarCategorias]
as
begin
select * from CATEGORIAS
order by CAT_Descripcion asc
end'

END
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id =
OBJECT_ID(N'[dbo].[PA_ListarEditoriales]') AND type in
(N'P', N'PC'))
BEGIN
EXEC dbo.sp_executesql @statement = N'create procedure
[dbo].[PA_ListarEditoriales]
as
begin
select * from EDITORIALES
order by EDI_Nombre asc
end'

END
GO

Sistema de administracin de bases de datos del control


de requerimiento de libros y prstamos de la biblioteca 34
de la UNT
Universidad Nacional de Trujillo
Escuela de Ingeniera de Sistemas

SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id =
OBJECT_ID(N'[dbo].[PA_CambiarEstadoPrestamo]') AND type in
(N'P', N'PC'))
BEGIN
EXEC dbo.sp_executesql @statement = N'CREATE procedure
[dbo].[PA_CambiarEstadoPrestamo]
@Codigo char(6)
as
begin
update PRESTAMOS set
PRE_EstadoPrestado=''Devuelto''
where PRE_Codigo=@Codigo
end'

END
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id =
OBJECT_ID(N'[dbo].[PA_AnularPrestamo]') AND type in (N'P',
N'PC'))
BEGIN
EXEC dbo.sp_executesql @statement = N'create procedure
[dbo].[PA_AnularPrestamo]
@Codigo char(6)
as
begin
delete PRESTAMOS
where PRE_Codigo=@Codigo
end'

END
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id =
OBJECT_ID(N'[dbo].[PA_InsertarLecturaDomicilio]') AND type
in (N'P', N'PC'))
BEGIN
EXEC dbo.sp_executesql @statement = N'CREATE procedure
[dbo].[PA_InsertarLecturaDomicilio]
@CodigoPrestamo int,
@CodigoUsuario char(6),
@FechaDevolucion datetime
as

Sistema de administracin de bases de datos del control


de requerimiento de libros y prstamos de la biblioteca 35
de la UNT
Universidad Nacional de Trujillo
Escuela de Ingeniera de Sistemas

begin
insert into LECTURA_DOMICILIO
values(@CodigoPrestamo,@CodigoUsuario,@FechaDevolucion)
end'

END
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id =
OBJECT_ID(N'[dbo].[PA_InsertarLecturaSala]') AND type in
(N'P', N'PC'))
BEGIN
EXEC dbo.sp_executesql @statement = N'CREATE procedure
[dbo].[PA_InsertarLecturaSala]
@CodigoPrestamo int,
@CodigoUsuario char(6),
@FechaDevolucion datetime
as
begin
insert into LECTURA_SALA
values(@CodigoPrestamo,@CodigoUsuario,@FechaDevolucion)
end'
END

3.1.3. Vistas De La Base De Datos

Vista de Prstamos

IF NOT EXISTS (SELECT * FROM sys.views WHERE object_id =


OBJECT_ID(N'[dbo].[Vista_Prestamos]'))
EXEC dbo.sp_executesql @statement = N'create view [dbo].
[Vista_Prestamos]
as
select
(select LES_FechaDevolucion from LECTURA_SALA
where PRE_Codigo=P.PRE_Codigo) as FechaDevolucionLS,
(select LED_FechaDevolucion from LECTURA_DOMICILIO
where PRE_Codigo=P.PRE_Codigo) as FechaDevolucionLD,
P.PRE_Codigo,P.USU_Codigo,P.PRE_Fecha,P.PRE_EstadoPrestado,P.LIB_C
odigo,USU_Apellidos,USU_Nombres,LIB_Titulo from Prestamos P
inner join USUARIOS U on U.USU_Codigo=P.USU_Codigo
inner join LIBROS L on L.LIB_Codigo=P.LIB_Codigo
'

Sistema de administracin de bases de datos del control


de requerimiento de libros y prstamos de la biblioteca 36
de la UNT
Universidad Nacional de Trujillo
Escuela de Ingeniera de Sistemas

3.1.4. Procesamiento de Reportes


Base Datos Externa

3.1.4.1. Reportes Operacionales

Libros por Autor

create proc SP_LibrosAutores


@autor as varchar(100)
as
SELECT
L.LIB_Titulo, A.AUT_Apellidos+', '+A.AUT_Nombres as Autor,
L.LIB_AoPublicacion,L.LIB_ISBN,
C.CAT_Descripcion,E.EDI_Nombre
FROM LIBROS L
join LIBRO_AUTORES LA on LA.LIB_Codigo=L.LIB_Codigo
join AUTORES A on A.AUT_Codigo=LA.AUT_Codigo
join CATEGORIAS C on C.CAT_Codigo=L.CAT_Codigo
join EDITORIALES E on E.EDI_Codigo=L.EDI_Codigo
WHERE A.AUT_Apellidos+', '+A.AUT_Nombres=@autor

Sistema de administracin de bases de datos del control


de requerimiento de libros y prstamos de la biblioteca 37
de la UNT
Universidad Nacional de Trujillo
Escuela de Ingeniera de Sistemas

Libros por Categora

create proc SP_LibrosCategorias


@categoria as varchar(50)
as
SELECT
L.LIB_Titulo, A.AUT_Apellidos+', '+A.AUT_Nombres as Autor,
L.LIB_AoPublicacion,L.LIB_ISBN,
C.CAT_Descripcion,E.EDI_Nombre
FROM LIBROS L
join LIBRO_AUTORES LA on LA.LIB_Codigo=L.LIB_Codigo
join AUTORES A on A.AUT_Codigo=LA.AUT_Codigo
join CATEGORIAS C on C.CAT_Codigo=L.CAT_Codigo
join EDITORIALES E on E.EDI_Codigo=L.EDI_Codigo
WHERE C.CAT_Descripcion=@categoria

Sistema de administracin de bases de datos del control


de requerimiento de libros y prstamos de la biblioteca 38
de la UNT
Universidad Nacional de Trujillo
Escuela de Ingeniera de Sistemas

Prstamos por Autor

create proc SP_PrestamosAutor


@autor varchar(100)
as
SELECT
P.PRE_Fecha,L.LIB_Titulo,
A.AUT_Apellidos+', '+A.AUT_Nombres as Autor,P.PRE_EstadoPrestado
FROM Prestamos P
join LIBROS L on P.LIB_Codigo=L.LIB_Codigo
join LECTURA_SALA LS on LS.PRE_Codigo=P.PRE_Codigo
join LIBRO_AUTORES LA on LA.LIB_Codigo=L.LIB_Codigo
join AUTORES A on A.AUT_Codigo=LA.AUT_Codigo
where A.AUT_Apellidos+', '+A.AUT_Nombres = @autor

Prstamos por Libros

Sistema de administracin de bases de datos del control


de requerimiento de libros y prstamos de la biblioteca 39
de la UNT
Universidad Nacional de Trujillo
Escuela de Ingeniera de Sistemas

create proc SP_PrestamosLibros


@libro varchar(100)
as
SELECT
P.PRE_Fecha,L.LIB_Titulo,
A.AUT_Apellidos+', '+A.AUT_Nombres as Autor,P.PRE_EstadoPrestado
FROM Prestamos P
join LIBROS L on P.LIB_Codigo=L.LIB_Codigo
join RESERVACIONES R on R.PRE_Codigo=P.PRE_Codigo
join LIBRO_AUTORES LA on LA.LIB_Codigo=L.LIB_Codigo
join AUTORES A on A.AUT_Codigo=LA.AUT_Codigo
where L.LIB_Titulo = @libro

Prstamos por Usuario

create proc SP_PrestamosUsuarios


@usuario varchar(100)
as
SELECT
P.PRE_Fecha,L.LIB_Titulo,
A.AUT_Apellidos+', '+A.AUT_Nombres as Autor,P.PRE_EstadoPrestado
FROM Prestamos P
join LIBROS L on P.LIB_Codigo=L.LIB_Codigo
join LECTURA_DOMICILIO LD on LD.PRE_Codigo=P.PRE_Codigo
join LIBRO_AUTORES LA on LA.LIB_Codigo=L.LIB_Codigo
join AUTORES A on A.AUT_Codigo=LA.AUT_Codigo
join USUARIOS U ON U.USU_Codigo=P.USU_Codigo
where U.USU_Apellidos+', '+U.USU_Nombres = @usuario

Sistema de administracin de bases de datos del control


de requerimiento de libros y prstamos de la biblioteca 40
de la UNT
Universidad Nacional de Trujillo
Escuela de Ingeniera de Sistemas

3.1.4.2. Reportes Tcticos

Libros prestados por Ao

create proc SP_LibrosxAo


@ao int
as
select count(L.LIB_Codigo) as Nro,
DATENAME(MONTH, (P.PRE_Fecha)) as Fecha
FROM Prestamos P
join LIBROS L on P.LIB_Codigo=L.LIB_Codigo
where YEAR(P.PRE_Fecha) = @ao
GROUP BY P.PRE_Fecha
Prestamos Anuales por Autores

Sistema de administracin de bases de datos del control


de requerimiento de libros y prstamos de la biblioteca 41
de la UNT
Universidad Nacional de Trujillo
Escuela de Ingeniera de Sistemas

create proc SP_PrestamosAutoresxAo


@ao int
as
select P.PRE_Codigo,
DATENAME(MONTH, (P.PRE_Fecha)) as Fecha,
A.AUT_Apellidos+', '+A.AUT_Nombres as Autor
FROM Prestamos P
join LIBROS L on P.LIB_Codigo=L.LIB_Codigo
join LIBRO_AUTORES LA on LA.LIB_Codigo=L.LIB_Codigo
join AUTORES A on A.AUT_Codigo=LA.AUT_Codigo
where YEAR(P.PRE_Fecha) = @ao

Prestamos pos Meses

create proc SP_PrestamosAnuales


@ao int
as
select P.PRE_Codigo,
DATENAME(MONTH, (P.PRE_Fecha)) as Fecha
FROM Prestamos P
where YEAR(P.PRE_Fecha) = @ao

Sistema de administracin de bases de datos del control


de requerimiento de libros y prstamos de la biblioteca 42
de la UNT
Universidad Nacional de Trujillo
Escuela de Ingeniera de Sistemas

Prestamos Anuales por Categoria

create proc SP_PrestamosCategoriasxAo


@ao int
as
select P.PRE_Codigo,
DATENAME(MONTH, (P.PRE_Fecha)) as Fecha,
C.CAT_Descripcion
FROM Prestamos P
join LIBROS L on P.LIB_Codigo=L.LIB_Codigo
join CATEGORIAS C on C.CAT_Codigo=L.CAT_Codigo
where YEAR(P.PRE_Fecha) = @ao

Prestamos de Usuario Anuales

Sistema de administracin de bases de datos del control


de requerimiento de libros y prstamos de la biblioteca 43
de la UNT
Universidad Nacional de Trujillo
Escuela de Ingeniera de Sistemas

create proc SP_UsuariosFrecuentesAnual


@ao int
as
select P.PRE_Codigo,
DATENAME(MONTH, (P.PRE_Fecha)) as Fecha,
U.USU_Apellidos+', '+U.USU_Nombres as Usuario
FROM Prestamos P
join USUARIOS U on U.USU_Codigo=P.USU_Codigo
WHERE YEAR(P.PRE_Fecha) = @ao

3.1.4.3. Reportes Estratgicos


Crees que es necesario implementar la biblioteca con computadoras?

CREATE PROC SP_LIBROSCOMPUTADORAS


AS
SELECT RES_Descripcion FROM PREGUNTAS P
join RESPUESTAS R ON R.PRE_Codigo=P.PRE_Codigo
join ENCUESTA E ON E.ENC_Codigo=R.ENC_Codigo
where P.PRE_Codigo=5

Crees que la biblioteca tiene los libros adecuados?

Sistema de administracin de bases de datos del control


de requerimiento de libros y prstamos de la biblioteca 44
de la UNT
Universidad Nacional de Trujillo
Escuela de Ingeniera de Sistemas

CREATE PROC SP_LIBROSADECUADOS


AS
SELECT RES_Descripcion FROM PREGUNTAS P
join RESPUESTAS R ON R.PRE_Codigo=P.PRE_Codigo
join ENCUESTA E ON E.ENC_Codigo=R.ENC_Codigo
where P.PRE_Codigo=1
GO

Cree que deberan haber ms libros de programacin?

CREATE PROC SP_LIBROSPROGRAMACION


AS
SELECT RES_Descripcion FROM PREGUNTAS P
join RESPUESTAS R ON R.PRE_Codigo=P.PRE_Codigo
join ENCUESTA E ON E.ENC_Codigo=R.ENC_Codigo
where P.PRE_Codigo=2
GO

Cree que la sala de lectura tiene el tamao adecuado?

Sistema de administracin de bases de datos del control


de requerimiento de libros y prstamos de la biblioteca 45
de la UNT
Universidad Nacional de Trujillo
Escuela de Ingeniera de Sistemas

CREATE PROC SP_LIBROSSALA


AS
SELECT RES_Descripcion FROM PREGUNTAS P
join RESPUESTAS R ON R.PRE_Codigo=P.PRE_Codigo
join ENCUESTA E ON E.ENC_Codigo=R.ENC_Codigo
where P.PRE_Codigo=4
GO

Est de acuerdo con el plazo para la entrega del libro (caso llevado a
domicilio)?

CREATE PROC SP_LIBROSPLAZO


AS
SELECT RES_Descripcion FROM PREGUNTAS P
join RESPUESTAS R ON R.PRE_Codigo=P.PRE_Codigo
join ENCUESTA E ON E.ENC_Codigo=R.ENC_Codigo
where P.PRE_Codigo=3
GO

3.2. Administracin De La Base De Datos

3.2.1. Instalacin del Servidor de la Base de Datos

Requerimientos de SQL Server 2008 r2

Antes de empezar con el proceso de instalacin haga clic en Inicio> Panel de control,
localice el Firewall de Windows y desactvelo.

Recomendacin. Recomendamos bajar e instalar la versin que contenga el manejador de


Base de Datos, dependiendo de la versin que necesite su sistema operativo (x86 o x64
bits).

Sistema de administracin de bases de datos del control


de requerimiento de libros y prstamos de la biblioteca 46
de la UNT
Universidad Nacional de Trujillo
Escuela de Ingeniera de Sistemas

- Al ejecutar el instalador de SQL Server 2008 R2 y 2012 Express en espaol, la


instalacin mostrar el siguiente mensaje:

- Haga clic Aceptar y vaya a Panel de control de Windows y


localice la opcin Regin y haga clic en el mismo.

Sistema de administracin de bases de datos del control


de requerimiento de libros y prstamos de la biblioteca 47
de la UNT
Universidad Nacional de Trujillo
Escuela de Ingeniera de Sistemas

En la pestaa Formatos localice el rengln Formato, seleccione el idioma


Espaol (Espaa), aplique y acepte los cambios realizados y vuelva a ejecutar el
instalador de SQL Server.

Una vez terminada la instalacin de SQL Server en espaol regrese el idioma a


Espaol (Per).

Procedimiento de instalacin

Paso 1. Haga doble clic sobre el instalador.

Paso 2. Haga clic en "Nueva instalacin o agregar caractersticas a una instalacin existente".

El programa realizar varios procesos internos, una vez terminados presentar la siguiente pantalla:

Sistema de administracin de bases de datos del control


de requerimiento de libros y prstamos de la biblioteca 48
de la UNT
Universidad Nacional de Trujillo
Escuela de Ingeniera de Sistemas

Paso 3. Active la opcin "Acepto los trminos de licencia" y presione Siguiente.


Nota. En caso de que no se cumplan con todos los requerimientos que pide SQL Server para su instalacin no dejar
continuar, corrija y vuelta a correr el proceso.
Si el programa no detecto ningn error presentar la siguiente pantalla:

Sistema de administracin de bases de datos del control


de requerimiento de libros y prstamos de la biblioteca 49
de la UNT
Universidad Nacional de Trujillo
Escuela de Ingeniera de Sistemas

Paso 4. En el apartado "Caractersticas" desactive la opcin "Replicacin de SQL Server" y en el


campo "Directorio de caractersticas compartidas" verificar la ruta en donde se instalar el programa,
presione Siguiente.

Sistema de administracin de bases de datos del control


de requerimiento de libros y prstamos de la biblioteca 50
de la UNT
Universidad Nacional de Trujillo
Escuela de Ingeniera de Sistemas

Paso 5. Verificar que este activada la opcin "Instancia con nombre" y el nombre de la instancia sea
SQLExpress, "Id. De instancia" sea SQLExpress y en "Directorio raz de instancia" sea la ruta
indicada anteriormente, presione Siguiente.

Sistema de administracin de bases de datos del control


de requerimiento de libros y prstamos de la biblioteca 51
de la UNT
Universidad Nacional de Trujillo
Escuela de Ingeniera de Sistemas

Paso 6. En la pestaa Cuentas de servicio en la columna "Servicio", en el rengln "SQL Server


Database Engine" en la columna "Nombre de cuenta" seleccione la opcin "NT
AUTHORITY\SYSTEM" y en el rengln "SQL Server Browser" en la columna "Tipo de inicio"
seleccione "Automtico", presione Siguiente.

Sistema de administracin de bases de datos del control


de requerimiento de libros y prstamos de la biblioteca 52
de la UNT
Universidad Nacional de Trujillo
Escuela de Ingeniera de Sistemas

Paso 7. En la pestaa Aprovisionamiento de cuentas, localice el apartado Modo de autenticacin y


active la opcin "Modo mixto (autenticacin de SQL Server y de Windows".
En el apartado "Especifique la contrasea de la cuenta de administrador del Sistema de SQL Server
(sa)".
Escribir contrasea. Capture contrasea para accesar a SQL Express.
Confirmar contrasea. Capture de nuevo la contrasea para accesar a SQL Express.

Nota. Al instalar SQL Server 2008 R2 en Windows Server 2008, 2008 R2 y 2012; la contrasea de SQL
requiere por lo menos: una letra mayscula, minscula y un dgito.
Resguarde en un lugar seguro la contrasea para accesar a SQL, ya que la utilizar para crear Base de
Datos.
Verifique que en el apartado "Especifique los administradores de SQL Server" este agregado el Usuario
de Windows, como se muestra en la imagen anterior, presione Siguiente.

Sistema de administracin de bases de datos del control


de requerimiento de libros y prstamos de la biblioteca 53
de la UNT
Universidad Nacional de Trujillo
Escuela de Ingeniera de Sistemas

Paso 8. No debe de estar activada la opcin "Enviar informes de error de Windows y SQL Server a
Microsoft...", presione Siguiente.
El programa iniciar con la instalacin. El proceso puede durar varios minutos, dependiendo de la
velocidad de sus unidades.

Sistema de administracin de bases de datos del control


de requerimiento de libros y prstamos de la biblioteca 54
de la UNT
Universidad Nacional de Trujillo
Escuela de Ingeniera de Sistemas

Paso 9. El programa indica que ha terminado la instalacin completa y sin problemas. Presione Cerrar
para terminar con la instalacin.

Sistema de administracin de bases de datos del control


de requerimiento de libros y prstamos de la biblioteca 55
de la UNT
Universidad Nacional de Trujillo
Escuela de Ingeniera de Sistemas

3.3. Diseo De La Interface

3.3.1. Diseo del Men de las Opciones del Sistema

3.3.2. Diseo de la Interfaz del Administrador

Sistema de administracin de bases de datos del control


de requerimiento de libros y prstamos de la biblioteca 56
de la UNT
Universidad Nacional de Trujillo
Escuela de Ingeniera de Sistemas

3.3.3. Diseo de la Interfaz del Prstamo en Sala

3.3.4. Diseo de la Interfaz de Registro de Prstamo

Sistema de administracin de bases de datos del control


de requerimiento de libros y prstamos de la biblioteca 57
de la UNT
Universidad Nacional de Trujillo
Escuela de Ingeniera de Sistemas

3.3.5. Diseo de la Interfaz de Lectura en Sala

3.3.6. Diseo de la Interfaz de Lectura de Domicilio

Sistema de administracin de bases de datos del control


de requerimiento de libros y prstamos de la biblioteca 58
de la UNT
Universidad Nacional de Trujillo
Escuela de Ingeniera de Sistemas

4.CAPITULO V: IMPLEMENTACION DEL SISTEMA


PROPUESTO

4.1. Codificacin del Sistema Integrado en Visual Basic NET

Clase de Conexin

Public Class Conexion


Private Shared ReadOnly _instancia As Conexion = New Conexion
Private Sub New()

End Sub
Public Shared ReadOnly Property Instancia As Conexion
Get
Return _instancia
End Get
End Property
Public Function cadenaconexion() As String
Return "Data Source=.;Initial Catalog=BDBiblioteca;Integrated
Security=True"
End Function
End Class

Clase

Imports System.Data
Imports System.Data.SqlClient
Public Class Clase
Dim cadena As String

Public Function ListarCategorias() As DataSet


Dim cnn As New SqlConnection(Conexion.Instancia.cadenaconexion)
cnn.Open()
Dim sqlda As New SqlDataAdapter("PA_ListarCategorias", cnn)
sqlda.SelectCommand.CommandType = CommandType.StoredProcedure

Dim Coleccion As New DataSet


Try
sqlda.Fill(Coleccion)
Catch ex As Exception
Throw ex
End Try

cnn.Close()
Return Coleccion

End Function

Sistema de administracin de bases de datos del control


de requerimiento de libros y prstamos de la biblioteca 59
de la UNT
Universidad Nacional de Trujillo
Escuela de Ingeniera de Sistemas

Public Function ListarEditoriales() As DataSet


Dim cnn As New SqlConnection(Conexion.Instancia.cadenaconexion)
cnn.Open()
Dim sqlda As New SqlDataAdapter("PA_ListarEditoriales", cnn)
sqlda.SelectCommand.CommandType = CommandType.StoredProcedure

Dim Coleccion As New DataSet


Try
sqlda.Fill(Coleccion)
Catch ex As Exception
Throw ex
End Try

cnn.Close()
Return Coleccion

End Function

''LIBROS
Public Function ListarLibros(ByVal Titulo As String) As DataSet
Dim cnn As New SqlConnection(Conexion.Instancia.cadenaconexion)
cnn.Open()
Dim sqlda As New SqlDataAdapter("PA_ListarLibros", cnn)
sqlda.SelectCommand.CommandType = CommandType.StoredProcedure
sqlda.SelectCommand.Parameters.Add("@Titulo",
SqlDbType.VarChar).Value = Titulo
Dim Coleccion As New DataSet
Try
sqlda.Fill(Coleccion)
Catch ex As Exception
Throw ex
End Try

cnn.Close()
Return Coleccion

End Function

Public Function LibroxCodigo(ByVal Codigo As String) As DataSet


Dim cnn As New SqlConnection(Conexion.Instancia.cadenaconexion)
cnn.Open()
Dim sqlda As New SqlDataAdapter("PA_LibroxCodigo", cnn)
sqlda.SelectCommand.CommandType = CommandType.StoredProcedure
sqlda.SelectCommand.Parameters.Add("@Codigo",
SqlDbType.VarChar).Value = Codigo
Dim Coleccion As New DataSet
Try
sqlda.Fill(Coleccion)
Catch ex As Exception
Throw ex
End Try

cnn.Close()
Return Coleccion

Sistema de administracin de bases de datos del control


de requerimiento de libros y prstamos de la biblioteca 60
de la UNT
Universidad Nacional de Trujillo
Escuela de Ingeniera de Sistemas

End Function

Public Sub InsertarLibro(ByVal Codigo As String, ByVal Numero As String,


ByVal Titulo As String, ByVal ISBN As String, ByVal AoPublicacion As Integer,
ByVal CodigoCategoria As Integer, ByVal CodigoEditorial As Integer, ByVal
Estado As String, ByVal EstadoPrestamo As String)
Dim cnn As New SqlConnection(Conexion.Instancia.cadenaconexion)
cnn.Open()
Dim sqldcm As New SqlCommand("PA_InsertarLibro", cnn)
sqldcm.CommandType = CommandType.StoredProcedure
sqldcm.Parameters.Add("@Codigo", SqlDbType.VarChar).Value = Codigo
sqldcm.Parameters.Add("@Numero", SqlDbType.VarChar).Value = Numero
sqldcm.Parameters.Add("@Titulo", SqlDbType.VarChar).Value = Titulo
sqldcm.Parameters.Add("@ISBN", SqlDbType.VarChar).Value = ISBN
sqldcm.Parameters.Add("@AoPublicacion", SqlDbType.Int).Value =
AoPublicacion
sqldcm.Parameters.Add("@CodigoCategoria", SqlDbType.Int).Value =
CodigoCategoria
sqldcm.Parameters.Add("@CodigoEditorial", SqlDbType.Int).Value =
CodigoEditorial
sqldcm.Parameters.Add("@Estado", SqlDbType.VarChar).Value = Estado
sqldcm.Parameters.Add("@EstadoPrestamo", SqlDbType.VarChar).Value =
EstadoPrestamo
sqldcm.ExecuteNonQuery()
cnn.Close()

End Sub

Public Sub ModificarLibro(ByVal Codigo As String, ByVal Numero As String,


ByVal Titulo As String, ByVal ISBN As String, ByVal AoPublicacion As Integer,
ByVal CodigoCategoria As Integer, ByVal CodigoEditorial As Integer, ByVal
Estado As String, ByVal EstadoPrestamo As String)
Dim cnn As New SqlConnection(Conexion.Instancia.cadenaconexion)
cnn.Open()
Dim sqldcm As New SqlCommand("PA_ModificarLibro", cnn)
sqldcm.CommandType = CommandType.StoredProcedure
sqldcm.Parameters.Add("@Codigo", SqlDbType.VarChar).Value = Codigo
sqldcm.Parameters.Add("@Numero", SqlDbType.VarChar).Value = Numero
sqldcm.Parameters.Add("@Titulo", SqlDbType.VarChar).Value = Titulo
sqldcm.Parameters.Add("@ISBN", SqlDbType.VarChar).Value = ISBN
sqldcm.Parameters.Add("@AoPublicacion", SqlDbType.Int).Value =
AoPublicacion
sqldcm.Parameters.Add("@CodigoCategoria", SqlDbType.Int).Value =
CodigoCategoria
sqldcm.Parameters.Add("@CodigoEditorial", SqlDbType.Int).Value =
CodigoEditorial
sqldcm.Parameters.Add("@Estado", SqlDbType.VarChar).Value = Estado
sqldcm.Parameters.Add("@EstadoPrestamo", SqlDbType.VarChar).Value =
EstadoPrestamo
sqldcm.ExecuteNonQuery()
cnn.Close()

End Sub

Sistema de administracin de bases de datos del control


de requerimiento de libros y prstamos de la biblioteca 61
de la UNT
Universidad Nacional de Trujillo
Escuela de Ingeniera de Sistemas

Public Sub EliminarLibro(ByVal Codigo As String)


Dim cnn As New SqlConnection(Conexion.Instancia.cadenaconexion)
cnn.Open()
Dim sqldcm As New SqlCommand("PA_EliminarLibro", cnn)
sqldcm.CommandType = CommandType.StoredProcedure
sqldcm.Parameters.Add("@Codigo", SqlDbType.VarChar).Value = Codigo
sqldcm.ExecuteNonQuery()
cnn.Close()

End Sub

''USUARIOS
Public Function ListarUsuarios(ByVal Nombre As String) As DataSet
Dim cnn As New SqlConnection(Conexion.Instancia.cadenaconexion)
cnn.Open()
Dim sqlda As New SqlDataAdapter("PA_ListarUsuarios", cnn)
sqlda.SelectCommand.CommandType = CommandType.StoredProcedure
sqlda.SelectCommand.Parameters.Add("@Nombre",
SqlDbType.VarChar).Value = Nombre
Dim Coleccion As New DataSet
Try
sqlda.Fill(Coleccion)
Catch ex As Exception
Throw ex
End Try

cnn.Close()
Return Coleccion

End Function

''PRESTAMO
Public Sub InsertarPrestamo(ByVal Codigo As Integer, ByVal CodigoUsuario
As String, ByVal Fecha As DateTime, ByVal EstadoPrestamo As String, ByVal
CodigoLibro As String)
Dim cnn As New SqlConnection(Conexion.Instancia.cadenaconexion)
cnn.Open()
Dim sqldcm As New SqlCommand("PA_InsertarPrestamo", cnn)
sqldcm.CommandType = CommandType.StoredProcedure

sqldcm.Parameters.Add("@Codigo", SqlDbType.Int).Value = Codigo


sqldcm.Parameters.Add("@Fecha", SqlDbType.DateTime).Value = Fecha
sqldcm.Parameters.Add("@CodigoUsuario", SqlDbType.VarChar).Value =
CodigoUsuario
sqldcm.Parameters.Add("@CodigoLibro", SqlDbType.VarChar).Value =
CodigoLibro
sqldcm.Parameters.Add("@EstadoPrestamo", SqlDbType.VarChar).Value =
EstadoPrestamo
sqldcm.ExecuteNonQuery()
cnn.Close()
End Sub

Public Function UltimoPrestamo() As DataSet


Dim cnn As New SqlConnection(Conexion.Instancia.cadenaconexion)
cnn.Open()

Sistema de administracin de bases de datos del control


de requerimiento de libros y prstamos de la biblioteca 62
de la UNT
Universidad Nacional de Trujillo
Escuela de Ingeniera de Sistemas

Dim sqlda As New SqlDataAdapter("PA_UltimoCodigoPrestamo", cnn)


sqlda.SelectCommand.CommandType = CommandType.StoredProcedure

Dim Coleccion As New DataSet


Try
sqlda.Fill(Coleccion)
Catch ex As Exception
Throw ex
End Try

cnn.Close()
Return Coleccion

End Function

Public Sub InsertarLecturaSala(ByVal CodigoPrestamo As Integer, ByVal


FechaDevolucion As DateTime, ByVal CodigoUsuario As String)
Dim cnn As New SqlConnection(Conexion.Instancia.cadenaconexion)
cnn.Open()
Dim sqldcm As New SqlCommand("PA_InsertarLecturaSala", cnn)
sqldcm.CommandType = CommandType.StoredProcedure

sqldcm.Parameters.Add("@CodigoPrestamo", SqlDbType.Int).Value =
CodigoPrestamo
sqldcm.Parameters.Add("@CodigoUsuario", SqlDbType.VarChar).Value =
CodigoUsuario
sqldcm.Parameters.Add("@FechaDevolucion", SqlDbType.DateTime).Value
= FechaDevolucion
sqldcm.ExecuteNonQuery()
cnn.Close()
End Sub

Public Sub InsertarLecturaDomicilio(ByVal CodigoPrestamo As Integer, ByVal


FechaDevolucion As DateTime, ByVal CodigoUsuario As String)
Dim cnn As New SqlConnection(Conexion.Instancia.cadenaconexion)
cnn.Open()
Dim sqldcm As New SqlCommand("PA_InsertarLecturaDomicilio", cnn)
sqldcm.CommandType = CommandType.StoredProcedure

sqldcm.Parameters.Add("@CodigoPrestamo", SqlDbType.Int).Value =
CodigoPrestamo
sqldcm.Parameters.Add("@CodigoUsuario", SqlDbType.VarChar).Value =
CodigoUsuario
sqldcm.Parameters.Add("@FechaDevolucion", SqlDbType.DateTime).Value
= FechaDevolucion
sqldcm.ExecuteNonQuery()
cnn.Close()
End Sub

''PRESTAMOS
Public Function ListarPrestamosxUsuario(ByVal Titulo As String) As DataSet
Dim cnn As New SqlConnection(Conexion.Instancia.cadenaconexion)
cnn.Open()
Dim sqlda As New SqlDataAdapter("PA_ListarPrestamosxUsuario", cnn)
sqlda.SelectCommand.CommandType = CommandType.StoredProcedure

Sistema de administracin de bases de datos del control


de requerimiento de libros y prstamos de la biblioteca 63
de la UNT
Universidad Nacional de Trujillo
Escuela de Ingeniera de Sistemas

sqlda.SelectCommand.Parameters.Add("@Usuario",
SqlDbType.VarChar).Value = Titulo
Dim Coleccion As New DataSet
Try
sqlda.Fill(Coleccion)
Catch ex As Exception
Throw ex
End Try

cnn.Close()
Return Coleccion
End Function

Public Function ListarPrestamosxFechas(ByVal inicio As DateTime, ByVal final


As DateTime) As DataSet
Dim cnn As New SqlConnection(Conexion.Instancia.cadenaconexion)
cnn.Open()
Dim sqlda As New SqlDataAdapter("PA_ListarPrestamosxFechas", cnn)
sqlda.SelectCommand.CommandType = CommandType.StoredProcedure
sqlda.SelectCommand.Parameters.Add("@FechaInicio",
SqlDbType.DateTime).Value = inicio
sqlda.SelectCommand.Parameters.Add("@FechaFinal",
SqlDbType.DateTime).Value = final
Dim Coleccion As New DataSet
Try
sqlda.Fill(Coleccion)
Catch ex As Exception
Throw ex
End Try

cnn.Close()
Return Coleccion
End Function

Public Function CambiarEstadoPrestamo(ByVal Codigo As String) As DataSet


Dim cnn As New SqlConnection(Conexion.Instancia.cadenaconexion)
cnn.Open()
Dim sqlda As New SqlDataAdapter("PA_CambiarEstadoPrestamo", cnn)
sqlda.SelectCommand.CommandType = CommandType.StoredProcedure
sqlda.SelectCommand.Parameters.Add("@Codigo",
SqlDbType.VarChar).Value = Codigo
Dim Coleccion As New DataSet
Try
sqlda.Fill(Coleccion)
Catch ex As Exception
Throw ex
End Try

cnn.Close()
Return Coleccion
End Function

'Dim con As Conexion = New Conexion()

Sistema de administracin de bases de datos del control


de requerimiento de libros y prstamos de la biblioteca 64
de la UNT
Universidad Nacional de Trujillo
Escuela de Ingeniera de Sistemas

Public Function AnularPrestamo(ByVal Codigo As String) As DataSet


Dim cnn As New SqlConnection(Conexion.Instancia.cadenaconexion)
cnn.Open()
Dim sqlda As New SqlDataAdapter("PA_AnularPrestamo", cnn)
sqlda.SelectCommand.CommandType = CommandType.StoredProcedure
sqlda.SelectCommand.Parameters.Add("@Codigo",
SqlDbType.VarChar).Value = Codigo
Dim Coleccion As New DataSet
Try
sqlda.Fill(Coleccion)
Catch ex As Exception
Throw ex
End Try

cnn.Close()
Return Coleccion
End Function

Public Function ListarPrestamosSalaxUsuario(ByVal Usuario As String) As


DataSet
Dim cnn As New SqlConnection(Conexion.Instancia.cadenaconexion)
cnn.Open()
Dim sqlda As New SqlDataAdapter("PA_ListarPrestamosSalaxUsuario", cnn)
sqlda.SelectCommand.CommandType = CommandType.StoredProcedure
sqlda.SelectCommand.Parameters.Add("@Usuario",
SqlDbType.VarChar).Value = Usuario
Dim Coleccion As New DataSet
Try
sqlda.Fill(Coleccion)
Catch ex As Exception
Throw ex
End Try

cnn.Close()
Return Coleccion
End Function

Public Function ListarPrestamosDomicilioxUsuario(ByVal Usuario As String) As


DataSet
Dim cnn As New SqlConnection(Conexion.Instancia.cadenaconexion)
cnn.Open()
Dim sqlda As New SqlDataAdapter("PA_ListarPrestamosDomicilioxUsuario",
cnn)
sqlda.SelectCommand.CommandType = CommandType.StoredProcedure
sqlda.SelectCommand.Parameters.Add("@Usuario",
SqlDbType.VarChar).Value = Usuario
Dim Coleccion As New DataSet
Try
sqlda.Fill(Coleccion)
Catch ex As Exception
Throw ex
End Try

cnn.Close()

Sistema de administracin de bases de datos del control


de requerimiento de libros y prstamos de la biblioteca 65
de la UNT
Universidad Nacional de Trujillo
Escuela de Ingeniera de Sistemas

Return Coleccion
End Function

End Class

Formulario Prestamos

Public Class Prestamos

Dim dt As DataTable
Dim dr As DataRow
Dim ca As Clase = New Clase()

//Boton LIBRO
Private Sub button7_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles button7.Click
Buscar_Libro.ShowDialog()
If (Buscar_Libro.CodigoLibro = "") Then
Return
End If

textBox4.Text = Buscar_Libro.Titulo
textBox5.Text = Buscar_Libro.Editorial
TextBox8.Text = Buscar_Libro.Categoria
textBox7.Text = Buscar_Libro.Ao
TextBox9.Text = Buscar_Libro.Numero
End Sub

//Boton SALIR
Private Sub button2_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles button2.Click
Close()
End Sub

//Boton USUARIO
Private Sub button6_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles button6.Click
BuscarUsuarios.ShowDialog()

If (BuscarUsuarios.CodigoUsuario = "") Then


Return
End If

textBox1.Text = BuscarUsuarios.Nombre
textBox3.Text = BuscarUsuarios.Direccion
textBox2.Text = BuscarUsuarios.DNI
TextBox6.Text = BuscarUsuarios.Celular

Sistema de administracin de bases de datos del control


de requerimiento de libros y prstamos de la biblioteca 66
de la UNT
Universidad Nacional de Trujillo
Escuela de Ingeniera de Sistemas

End Sub

//EVENTO LOAD DE PRESTAMOS


Private Sub Prestamos_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load
ComboBox1.SelectedIndex = 0
dateTimePicker1.Select()
End Sub

//GUARDAR PRESTAMO
Private Sub button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles button1.Click

If (textBox1.Text = "") Then


MsgBox("Seleccione Usuario")
Return

End If
If (textBox4.Text = "") Then
MsgBox("Seleccione Libro")
Return
End If

If (MessageBox.Show("Desea Registrar El Prstamo", "Confirme la


accin", MessageBoxButtons.YesNo, MessageBoxIcon.Question) =
DialogResult.No) Then
Return
End If

GenerarCodigo()
ca.InsertarPrestamo(Codigo, BuscarUsuarios.CodigoUsuario,
Convert.ToDateTime(dateTimePicker1.Text), "Prestado",
Buscar_Libro.CodigoLibro)

If (ComboBox1.Text = "SALA") Then


ca.InsertarLecturaSala(Codigo,
Convert.ToDateTime(DateTimePicker2.Text), BuscarUsuarios.CodigoUsuario)
ElseIf (ComboBox1.Text = "DOMICILIO") Then
ca.InsertarLecturaDomicilio(Codigo,
Convert.ToDateTime(DateTimePicker2.Text), BuscarUsuarios.CodigoUsuario)
End If

MsgBox("Se Registr Correctamente")


Close()

End Sub

Dim Codigo As Integer


Private Sub GenerarCodigo()

dt = ca.UltimoPrestamo().Tables(0)
If (dt.Rows.Count > 0) Then

Sistema de administracin de bases de datos del control


de requerimiento de libros y prstamos de la biblioteca 67
de la UNT
Universidad Nacional de Trujillo
Escuela de Ingeniera de Sistemas

For i As Integer = 0 To dt.Rows.Count - 1


dr = dt.Rows(i)
Codigo = Convert.ToInt32(dr("Numero").ToString())
Next

Else
Codigo = 1
End If

End Sub
End Class

Formulario Nuevo Libro

Public Class Nuevo_Libro


Dim ca As Clase = New Clase()
Private Sub button2_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles button2.Click
Dispose()
Close()
End Sub

//BOTON GUARDAR LIBRO


Private Sub button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles button1.Click
If (TextBox5.Text = "") Then
MsgBox("Ingrese Codigo")
Return
End If
If (TextBox5.Text = "") Then
MsgBox("Ingrese Titulo")
Return
End If
ca.InsertarLibro(TextBox5.Text, textBox1.Text, TextBox2.Text,
TextBox3.Text, TextBox4.Text, comboBox2.SelectedValue.ToString(),
comboBox3.SelectedValue.ToString(), "Habilitado", ComboBox4.Text)
MsgBox("Se Registr Correctamente")
Close()

End Sub

//EVENTO LOAD
Private Sub Nuevo_Libro_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load

comboBox2.DataSource = ca.ListarCategorias().Tables(0)
comboBox2.DisplayMember = "CAT_Descripcion"
comboBox2.ValueMember = "CAT_Codigo"

Sistema de administracin de bases de datos del control


de requerimiento de libros y prstamos de la biblioteca 68
de la UNT
Universidad Nacional de Trujillo
Escuela de Ingeniera de Sistemas

comboBox3.DataSource = ca.ListarEditoriales().Tables(0)
comboBox3.DisplayMember = "EDI_Nombre"
comboBox3.ValueMember = "EDI_Codigo"

comboBox2.SelectedIndex = 0
comboBox3.SelectedIndex = 0
ComboBox4.SelectedIndex = 0
End Sub
End Class

Formulario Libros

Public Class Libros


Dim clase As Clase = New Clase()
Dim dt As DataTable
Dim dr As DataRow
Private Sub button8_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles button8.Click
Close()
End Sub

Private Sub button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)


Handles button1.Click
Nuevo_Libro.ShowDialog()
ListarLibros()
End Sub

Private Sub Libros_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles


MyBase.Load
ListarLibros()
End Sub

Private Sub ListarLibros()


listView1.Items.Clear()

Dim dt As DataTable = clase.ListarLibros("%" + TextBox5.Text + "%").Tables(0)


If dt.Rows.Count <> 0 Then
For i As Integer = 0 To dt.Rows.Count - 1
dr = dt.Rows(i)
listView1.Items.Add((Convert.ToString(dr("LIB_Codigo"))))
listView1.Items(i).SubItems.Add((Convert.ToString(dr("LIB_Numero"))))
listView1.Items(i).SubItems.Add((Convert.ToString(dr("CAT_Descripcion"))))
listView1.Items(i).SubItems.Add((Convert.ToString(dr("LIB_Titulo"))))
listView1.Items(i).SubItems.Add((Convert.ToString(dr("LIB_AoPublicacion"))))
listView1.Items(i).SubItems.Add((Convert.ToString(dr("EDI_Nombre"))))
listView1.Items(i).SubItems.Add((Convert.ToString(dr("LIB_EstadoPrestamo"))))
Next
End If
End Sub

Private Sub TextBox5_TextChanged(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles TextBox5.TextChanged
ListarLibros()

Sistema de administracin de bases de datos del control


de requerimiento de libros y prstamos de la biblioteca 69
de la UNT
Universidad Nacional de Trujillo
Escuela de Ingeniera de Sistemas

End Sub

Public Shared CodigoLibro As String


Private Sub button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles button2.Click
If (listView1.SelectedItems.Count = 0) Then
MsgBox("Seleccione una Fila")
Return
End If

CodigoLibro = listView1.SelectedItems(0).SubItems(0).Text
Modificar_Libro.ShowDialog()
ListarLibros()
End Sub

Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)


Handles Button3.Click
If (listView1.SelectedItems.Count = 0) Then
MsgBox("Seleccione una Fila")
Return
End If

CodigoLibro = listView1.SelectedItems(0).SubItems(0).Text
clase.EliminarLibro(CodigoLibro)
MsgBox("Se elimin correctamente")
ListarLibros()
End Sub
End Class

4.2. Implementacin de la Base de Datos en SQL Server

Sistema de administracin de bases de datos del control


de requerimiento de libros y prstamos de la biblioteca 70
de la UNT

Вам также может понравиться