Está en la página 1de 18

Proyecto de base de datos para una Biblioteca

Integrantes

Sandro Antonio Jaramillo Ortiz


Ever Jose Arias Meriño

Base de datos

Amilkar

Ciencia de ingenieras y tecnológicas


Universidad popular del cesar
Valledupar – Cesar
2023
Introducción
La gestión eficiente de una biblioteca es esencial para garantizar el acceso y la disponibilidad de
recursos educativos y culturales para la comunidad. En este contexto, el uso de una base de datos
en Oracle se convierte en una herramienta invaluable para optimizar el proceso de gestión de
libros, revistas, materiales audiovisuales y otros recursos de la biblioteca. Este proyecto tiene
como objetivo desarrollar una base de datos de biblioteca en Oracle que permita a los
administradores y usuarios realizar un seguimiento eficaz de los recursos y facilitar la búsqueda
y recuperación de materiales.

Objetivos Generales
 Diseñar e implementar una base de datos en Oracle que sirva como sistema de gestión
integral para una biblioteca.
 Facilitar la administración de recursos de la biblioteca, incluyendo la adquisición,
catalogación y organización de libros, revistas y otros materiales.
 Ofrecer a los usuarios finales una plataforma amigable para buscar y solicitar materiales
de la biblioteca de manera eficiente.
 Mejorar la eficiencia de las operaciones diarias de la biblioteca, incluyendo el registro de
préstamos y devoluciones, así como la generación de informes.

Objetivos Específicos
 Diseñar un modelo de datos que refleje la estructura de la biblioteca, incluyendo tablas
para recursos, autores, categorías, usuarios y transacciones de préstamo.
 Implementar procedimientos almacenados y disparadores en Oracle para automatizar
tareas como la actualización del inventario y la gestión de préstamos.
 Desarrollar una interfaz de usuario intuitiva para permitir a los usuarios buscar y reservar
materiales de la biblioteca.
 Garantizar la integridad y seguridad de los datos en la base de datos, implementando
permisos de acceso y copias de seguridad regulares.
 Realizar pruebas exhaustivas y ajustes para garantizar un rendimiento óptimo y
escalabilidad de la base de datos a medida que la biblioteca crezca.
 Proporcionar documentación completa y capacitación para el personal de la biblioteca y
los usuarios finales.
Diseño de la base de datos
CREATE TABLE Libros (
ISBN VARCHAR2(13) PRIMARY KEY,

Titulo VARCHAR2(255),

GeneroID NUMBER,

AutorID VARCHAR2(13),

FOREIGN KEY (GeneroID) REFERENCES Generos(GeneroID),

FOREIGN KEY (AutorID) REFERENCES Autores(AutorID),

AnioPublicacion DATE,

NumPaginas NUMBER,

Sinopsis CLOB

);
CREATE TABLE Autores (

AutorID VARCHAR2(13) PRIMARY KEY,

PrimerNombre VARCHAR2(100),

SegundoNombre VARCHAR2(100),

PrimerApellido VARCHAR2(100),

SegundoApellido VARCHAR2(100),

NacionalidadPaisID NUMBER,

FOREIGN KEY (NacionalidadPaisID) REFERENCES Paises(PaisID),

FechaNacimiento DATE,

FechaFallecimiento DATE,

Biografia CLOB

);

CREATE TABLE Paises (

PaisID NUMBER PRIMARY KEY,

Nombre VARCHAR2(100)

);
CREATE TABLE Departamentos (

DepartamentoID NUMBER PRIMARY KEY,

Nombre VARCHAR2(100),

PaisID NUMBER,

FOREIGN KEY (PaisID) REFERENCES Paises(PaisID)

);

CREATE TABLE Ciudades (

CiudadID NUMBER PRIMARY KEY,

Nombre VARCHAR2(100),

DepartamentoID NUMBER,

FOREIGN KEY (DepartamentoID) REFERENCES Departamentos(DepartamentoID)

);

CREATE TABLE Generos (

GeneroID NUMBER PRIMARY KEY,

Nombre VARCHAR2(100)

);

CREATE TABLE Copias (

CopiaID NUMBER PRIMARY KEY,

LibroISBN VARCHAR2(13),

Estado VARCHAR2(100),

FOREIGN KEY (LibroISBN) REFERENCES Libros(ISBN)

);

CREATE TABLE Usuarios (

Cedula VARCHAR2(13) PRIMARY KEY,

PrimerNombre VARCHAR2(100),

SegundoNombre VARCHAR2(100),

PrimerApellido VARCHAR2(100),

SegundoApellido VARCHAR2(100),

FechaNacimiento DATE,

DepartamentoID NUMBER,

FOREIGN KEY (DepartamentoID) REFERENCES Departamentos(DepartamentoID),

CiudadID NUMBER,
FOREIGN KEY (CiudadID) REFERENCES Ciudades(CiudadID),

Calle VARCHAR2(100),

NumeroCasa VARCHAR2(20),

Barrio VARCHAR2(100),

NumeroTelefono VARCHAR2(20),

Correo VARCHAR2(255)

);

CREATE TABLE Prestamos (

PrestamoID VARCHAR2(50) PRIMARY KEY,

FechaPrestamo DATE,

FechaDevolucion DATE,

UsuarioID VARCHAR2(50),

CopiaID NUMBER,

FOREIGN KEY (UsuarioID) REFERENCES Usuarios(Cedula),

FOREIGN KEY (CopiaID) REFERENCES Copias(CopiaID)

);

CREATE TABLE Reseñas (

ResenaID VARCHAR2(50) PRIMARY KEY,

Contenido CLOB,

Calificacion NUMBER,

ISBN VARCHAR2(13),

FOREIGN KEY (ISBN) REFERENCES Libros(ISBN)

);
Modelo Entidad Relación
Modelo Relacional
Sentencia insert Paises

Sentencia insert Departamentos


Sentencia insert Ciudades

Sentencia insert Usuarios


Sentencia insert Autores

Sentencia insert Generos


Sentencia insert Libros
Paquetes
Al crear paquetes en una base de datos Oracle es una práctica común para encapsular y
organizar procedimientos, funciones y otros elementos. Cada paquete encapsula un conjunto de
operaciones relacionadas, facilitando la gestión y el mantenimiento del código.

Ejemplo

GESTION_LECTORES_PKG
Triggers
Triggers (disparadores) en bases de datos se refiere a procedimientos almacenados que se
ejecutan automáticamente en respuesta a ciertos eventos en una tabla o vista. Estos eventos
pueden incluir operaciones como INSERT, UPDATE, DELETE, entre otros. Los triggers son
útiles para implementar lógica de negocios adicional, realizar validaciones o actualizar
información automáticamente cuando ocurren ciertos eventos.
En el contexto de bases de datos, un trigger se puede definir para ejecutarse antes o después de
un evento específico, y puede ser útil para mantener la consistencia de los datos y ejecutar
acciones personalizadas.
PHP
PHP, que significa "Hypertext Preprocessor" (Preprocesador de Hipertexto) en inglés, es un
lenguaje de programación de código abierto y de propósito general especialmente diseñado para
el desarrollo de aplicaciones web. PHP se ejecuta en el servidor y se utiliza comúnmente para
crear páginas web dinámicas.
Algunas características clave de PHP incluyen:
Interpretado y del lado del servidor: PHP es un lenguaje del lado del servidor, lo que significa
que el código PHP se ejecuta en el servidor web antes de que se envíe el resultado al navegador
del usuario. El código PHP se incrusta dentro del código HTML.
Sintaxis similar a C: La sintaxis de PHP está influenciada por C, Java y Perl, lo que hace que sea
relativamente fácil de aprender para aquellos que están familiarizados con otros lenguajes de
programación.
Amplio soporte para bases de datos: PHP tiene soporte integrado para trabajar con una variedad
de sistemas de gestión de bases de datos, como MySQL, PostgreSQL, Oracle, y otros. Esto hace
que sea fácil para las aplicaciones web interactuar con bases de datos.
Amplia comunidad y documentación: PHP tiene una gran comunidad de desarrolladores y una
extensa documentación en línea. Esto facilita la obtención de ayuda, recursos y soluciones a los
problemas comunes.
Open Source: PHP es un software de código abierto, lo que significa que su código fuente está
disponible para el público. Esto ha contribuido a su popularidad y a la creación de una gran
cantidad de bibliotecas y frameworks.
En resumen, PHP es un lenguaje de programación diseñado para el desarrollo web del lado del
servidor, permitiendo la creación de páginas web dinámicas e interactivas.
ORACLE Y PHP
Combinar Oracle como sistema de gestión de bases de datos con PHP para el desarrollo web es
una combinación robusta y comúnmente utilizada en el mundo del desarrollo web empresarial.
A continuación, se destacan algunas ventajas y consideraciones al usar Oracle y PHP para tu
biblioteca:

Ventajas de Utilizar Oracle y PHP:


Escalabilidad y Rendimiento:
Oracle es conocido por su capacidad para manejar grandes cantidades de datos y ofrecer un
rendimiento eficiente. Esto es crucial para una biblioteca que puede acumular un gran volumen
de información con el tiempo.
Seguridad:
Oracle proporciona mecanismos sólidos de seguridad y control de acceso a los datos. Puedes
implementar políticas de seguridad a nivel de base de datos para proteger la información sensible
almacenada en tu sistema.
Compatibilidad con Estándares Industriales:
Oracle sigue estándares de la industria y es ampliamente utilizado en entornos empresariales.
Esto garantiza la interoperabilidad y la capacidad de integrar tu sistema de biblioteca con otras
aplicaciones empresariales.
Soporte para Transacciones Complejas:
Oracle es especialmente eficaz en el manejo de transacciones complejas y consultas sofisticadas.
Esto es beneficioso cuando necesitas realizar operaciones avanzadas en tu base de datos.
Lenguaje de Programación Server-Side:
PHP es un lenguaje de programación del lado del servidor que se integra bien con Oracle. Puedes
utilizar PHP para interactuar con la base de datos Oracle, realizar consultas, y presentar datos de
manera dinámica en tu interfaz web.
Herramientas de Desarrollo:
Tanto Oracle como PHP cuentan con amplias herramientas de desarrollo y comunidades activas.
Puedes aprovechar Oracle SQL Developer para administrar tu base de datos y utilizar
frameworks de PHP, como Laravel o Symfony, para facilitar el desarrollo web.
Interfaz sistema de Biblioteca

Interfaz Registrar Lectores


Interfaz Registrar Autores

Interfaz realizar préstamo


CONCLUSIONES
Conclusiones generales
El proyecto de sistema de biblioteca diseñado e implementado presenta una solución robusta y
eficiente para la gestión integral de una biblioteca. Se han creado tablas estructuradas como
Libros, Autores, Usuarios, Prestamos, y otras, para almacenar y organizar la información clave
de manera coherente.
El uso de paquetes y procedimientos almacenados ofrece una capa de abstracción que facilita la
manipulación de datos y operaciones en la base de datos. Los paquetes como LibrosPackage,
UsuariosPackage, y PrestamosPackage encapsulan funcionalidades específicas, lo que mejora la
modularidad y la mantenibilidad del sistema.
La implementación de triggers proporciona un control adicional sobre la integridad de los datos y
permite automatizar acciones en respuesta a eventos específicos.
El sistema también aborda aspectos críticos como la seguridad mediante la validación de datos y
el control de acceso. La verificación de la disponibilidad de copias antes de realizar un préstamo
y la validación de la calificación en las reseñas son ejemplos de cómo se ha implementado la
lógica de negocio para garantizar la consistencia de los datos.
Además, se han considerado aspectos prácticos como la optimización del rendimiento y la
escalabilidad, asegurando que el sistema pueda manejar eficientemente las operaciones incluso a
medida que crece la cantidad de datos.
En resumen, el proyecto demuestra una comprensión profunda de los requisitos de un sistema de
biblioteca, utilizando de manera efectiva las herramientas proporcionadas por Oracle, como
paquetes y triggers, para crear un sistema funcional, seguro y fácil de mantener.
Este proyecto sienta las bases para una gestión eficaz de la información en una biblioteca,
mejorando la experiencia tanto para los usuarios como para los administradores.
 Con el Sistema Bibliotecario se promueve y facilita la expansión de la cultura en la
comunidad.
 Con el correcto uso de los sistemas de información se promueve el uso de estándares para
el manejo adecuado de la información digital.
 Con un Sistema de Información Bibliotecario se busca potencializar todas las
capacidades que posee la biblioteca y encaminarlas hacia la ampliación y difusión del
conocimiento.

También podría gustarte