Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Índice
I. ANÁLISIS...........................................................................................................................4
II. MODELO CONCEPTUAL..................................................................................................5
III. MODELO LÓGICO.......................................................................................................11
IV. MODELO FÍSICO.........................................................................................................16
PROYECTO DE BASE DE DATOS
I. ANÁLISIS
Para implementar la base de datos se analizaron los procesos “Inscripción al lector” y “Atención
al lector”. Para obtener un modelo que se acerque a los requerimientos de la biblioteca
distinguimos entre los elementos que se dan en la vida real, como personas intermediarias o
actividades de transición, pero que de forma objetiva no pertenecen a la base de datos por sus
características y su importancia para la biblioteca.
Consideraciones y justificaciones
1. Proceso de inscripción al lector
No se incluirá una entidad para el “Lector que viene por primera vez”.
Aún no cuenta con una afiliación, por lo tanto, para la biblioteca no es
de su interés tener una base de datos de personas que no pertenezcan a
su comunidad.
La especialización sería insustancial, pues esta supuesta entidad no
presentaría atributos propios.
No se incluirá una entidad para la “Ficha para registrar a los lectores que
vienen por primera vez”.
Esta ficha solo es un elemento de transición en el mundo real para pasar
los datos del nuevo lector al sistema.
No se incluirá una entidad para el “Lector que viene por duplicado o
caducidad”
Lector que viene por duplicado. Esta supuesta entidad ya se encuentra
registrada, pero carece en el mundo real de un carné físico. Cumple con
las condiciones para ser una entidad “Lector”, pues el proceso de
duplicación se da solo en el mundo real.
Lector que viene por caducidad. Esta supuesta entidad se distingue por
la fecha de caducidad de su carné. Sin embargo, para todo lector
registrado, el carné tiene este atributo, por lo tanto, la entidad “Lector”
abarca el concepto del lector que viene por caducidad.
No se incluirá una entidad para “Orden a caja”.
El programa asociado a la base de datos genera la orden a caja. Así
pues, almacenar la orden no es de utilidad para la base de datos.
El pago se realiza en el mundo real.
Tras haber discutido las características que son importantes para la base de datos de la
biblioteca, se procede a diseñar el mapa conceptual.
a. Entidades - Descripción
i. LECTOR
Ficha del lector
ii. CARNE
Carné de un lector registrado
iii. SERVICIO
Servicio al que accede el lector
iv. PRESTAMO
Ficha de préstamo de una publicación a un lector
v. FOTOCOPIA
Ficha de fotocopia de una publicación
vi. PUBLICACIÓN
Representa la ficha de publicación
b. Atributos – Tipología
i. LECTOR
cod_ficLec: simple , monovalorado, almacenado, clave primaria
dni_lec: simple , monovalorado, almacenado
nom_lec: simple , monovalorado, almacenado
apell_lec: simple , monovalorado, almacenado
direc_lec: compuesta, monovalorado, almacenado
distr_lec: simple , monovalorado, almacenado
telf_lec: simple , monovalorado, almacenado
fecNac_lec: simple , monovalorado, almacenado
gradInst_lec: simple , monovalorado, almacenado
instit_lec: simple , monovalorado, almacenado
observaciones: simple, multivalorado, almacenado
ii. CARNE
codCarne_lec: simple , monovalorado, almacenado, clave primaria
fec_emisionCarne: simple , monovalorado, almacenado
fec_caducCarne: simple , monovalorado, almacenado
iii. SERVICIO
codServ: simple , monovalorado, almacenado, clave primaria
iv. PRESTAMO
codServ: simple , monovalorado, almacenado, clave primaria
fec_prestamo: simple , monovalorado, almacenado
fec_dev: simple , monovalorado, almacenado
v. FOTOCOPIA
codServ: simple , monovalorado, almacenado, clave primaria
cant: simple , monovalorado, almacenado
PROYECTO DE BASE DE DATOS
vi. PUBLICACION
cod_pub: simple , monovalorado, almacenado, clave primaria
tit_pub: simple , monovalorado, almacenado
editor_pub: simple , monovalorado, almacenado
añoEdic_pub: simple , monovalorado, almacenado
idioma_pub: simple , monovalorado, almacenado
autor_pub: simple , multivalorado, almacenado
PROYECTO DE BASE DE DATOS
CARNÉ
Nombre del
Atributo Descripción Definición
dominio
Códigos de los carnés de los
Código codCarne_lec 6 caracteres
lectores
Emisión fec_emisionCarne Direcciones de los lectores 25 caracteres
Distritos donde residen
Caducidad fec_caducCarne 15 caracteres
los lectores
LECTOR
Nombre del
Atributo Descripción Definición
dominio
Códigos de las fichas de
Código cod_ficLec 6 caracteres
los lectores
DNI dni_lec DNIs de los lectores 8 dígitos
Nombre nom_lec Nombres de los lectores 15 caracteres
Apellido apell_lec Apellidos de los lectores 15 caracteres
Dirección direc_lec Direcciones de los lectores 25 caracteres
Distritos donde residen
Distrito distr_lec 15 caracteres
los lectores
Teléfono telf_lec Teléfonos de los lectores 9 dígitos
Fechas de nacimiento de
Nacimiento fecNac_lec 8 dígitos
los lectores
Grados de instrucción de
Instrucción gradInst_lec 25 caracteres
los lectores
Instituciones de procedencia
Institución instit_lec 20 caracteres
de los lectores
Observaciones que
Observaciones observaciones 30 caracteres
registran los lectores
PROYECTO DE BASE DE DATOS
SERVICIO
Nombre del
Atributo Descripción Definición
dominio
FOTOCOPIA
Nombre del
Atributo Descripción Definición
dominio
PRESTAMO
Nombre del
Atributo Descripción Definición
dominio
PUBLICACION
Atributo Nombre del dominio Descripción Definición
Códigos de las
Código cod_pub 6 caracteres
publicaciones
Títulos de las
Título tit_pub 25 caracteres
publicaciones
Editoriales de las
Editorial editor_pub 20 caracteres
publicaciones
Años de edición de las
Edición anioEdic_pub 4 caracteres
publicaciones
Idiomas de las
Idioma idioma_pub 10 caracteres
publicaciones
Autores de las
Autor autor_pub 20 caracteres
publicaciones
PROYECTO DE BASE DE DATOS
d. Relaciones - descripción
i. POSEE
relación: LECTOR <POSEE> CARNE
1-1
Relación débil
Sin atributos
ii. SOLICITA
relación: LECTOR<SOLICITA> SERVICIO
1-M
Sin atributos
iii. REQUIERE
relación: SERVICIO <REQUIERE>PUBLICACIÓN
1-1
Sin atributos
PROYECTO DE BASE DE DATOS
CARNE
Campo Tipo de dato Longitud Restricción
Código Varchar2 6 PK
Apellido Varchar2 8 NO NULO
Nombre Varchar2 15 NO NULO
Instrucción Varchar2 15 NULO
Fecha del sistema
Emisión Varchar2 8
por defecto
Caducidad Varchar2 8 NO NULO
LECTOR
Campo Tipo de dato Longitud Restricción
Código Varchar2 6 PK
DNI Varchar2 8 UNICO
Nombre Varchar2 15 NO NULO
Apellido Varchar2 15 NO NULO
Dirección Varchar2 25 NO NULO
Distrito Varchar2 15 NO NULO
Teléfono Varchar2 9 UNICO
Nacimiento Varchar2 8 NO NULO
Instrucción Varchar2 25 NULO
Institución Varchar2 20 NULO
Observacione
Varchar2 30 NULO
s
PROYECTO DE BASE DE DATOS
SERVICIO
Campo Tipo de dato Longitud Restricción
Código Varchar2 6 PK
PRESTAMO
Campo Tipo de dato Longitud Restricción
Código Varchar2 6 PK
Fecha de
Varchar2 8 NO NULO
préstamo
Fecha de
Varchar2 8 NO NULO
devolución
FOTOCOPIA
Campo Tipo de dato Longitud Restricción
Código Varchar2 6 PK
Cantidad Float - NULO
Precio Float - NULO
PUBLICACION
Campo Tipo de dato Longitud Restricción
Código Varchar2 6 PK
Título Varchar2 25 NO NULO
Editorial Varchar2 20 NO NULO
Edición Number 4 NO NULO
Idioma Varchar2 10 NO NULO
Autor Varchar2 20 NULO
PROYECTO DE BASE DE DATOS
En PUBLICACION
AUTOR (cod_prestamo, autor_pub)
PK= cod_prestamo, autor_pub
FK= cod_prestamo
SERVICIO (codServ)
PK=codServ
e. Diagrama en DBdesigner
PROYECTO DE BASE DE DATOS
--PRIMARY KEY'S
alter table lector
add
constraint pk_cod_ficLec primary key (cod_ficLec)
enable;
--FOREIGN KEY'S
alter table observaciones_lector
add
constraint fk_cod_ficLec foreign key (cod_ficLec) references lector(cod_ficLec) on delete
cascade
enable;
PROYECTO DE BASE DE DATOS
--CHECK'S
--INSERTANDO EN LECTOR
insert into lector (cod_ficLec, dni_lec, nom_lec, apell_lec, direc_lec, distr_lec, telf_lec,
gradInst_lec, instit_lec)
values ('L00001','76517368','Yanpieer','Romero Salazar', 'Giron Girasol', 'Los Olivos',
'982087309', 'Doctorado', 'UNMSM');
insert into lector (cod_ficLec, dni_lec, nom_lec, apell_lec, direc_lec, distr_lec, telf_lec,
gradInst_lec, instit_lec)
values ('L00002',76517367,'Paolo','Boada Cajo', 'Viñas', 'La Molina', 991033033, 'Doctorado',
'UNMSM');
--INSERTANDO EN OBSERVACIONES_LECTOR
insert into observaciones_lector (cod_ficLec, observaciones)
values ('L00001','NA');
--INSERTANDO EN CARNE
insert into carne (codCarne_lec, cod_ficLec, fec_emisionCarne, fec_caducCarne)
values ('100000','L00001', to_date('20-06-2019','DD-MM-YYYY'), to_date('28-11-2019','DD-
MM-YYYY'));
--INSERTANDO EN SERVICIO
select * from servicio;
insert into servicio (codServ)
values ('SP0001');
insert into servicio (codServ)
values ('SF0001');
insert into servicio (codServ)
values ('SF0002');
insert into servicio (codServ)
values ('SF0003');
insert into servicio (codServ)
values ('SP0002');
--INSERTANDO EN PRESTAMO
insert into prestamo (codServ,fec_prestamo,fec_dev)
values ('SP0001',to_date('12-08-2019','DD-MM-YYYY'),to_date('30-08-2019','DD-MM-
YYYY'));
--INSERTANDO EN FOTOCOPIA
--INSERTANDO EN PUBLICACION
insert into publicacion (cod_pub, codServ, tit_pub, editor_pub, añoEdic_pub, idioma_pub)
values ('PU0001','SP0001','Compendio de Biología','Lumbreras', '2015', 'Español');
--INSERTANDO EN AUTOR
insert into autor (cod_pub, autor_pub)
values ('PU0001','Ricardo');
--MOSTRAR TABLAS
select * from lector;
select * from carne;
select * from observaciones_lector;
select * from servicio;
select * from prestamo;
select * from fotocopia;
select * from publicacion;
select * from autor;
--MODIFICAR DATOS
update lector
set nom_lec='Davicho', apell_lec='Vega Cordoba'
where cod_ficLec='L00001';
--ELIMINAR REGISTROS
delete from observaciones_lector where cod_ficLec='L00005';
delete from lector where cod_ficLec='L00005';
delete from lector where dni_lec=76517364;
delete from lector where dni_lec=76517365;
delete from autor where cod_pub='PU0005';
delete from PRESTAMO where codServ='S00006';
delete from servicio where codServ='SP0001';
--ELIMINAR TABLAS
drop table lector cascade constraint purge;
drop table observaciones_lector cascade constraint purge;
PROYECTO DE BASE DE DATOS