Está en la página 1de 16

UNIVERSIDAD NACIONAL DE TRUJILLO

Facultad de Ciencias Físicas y Matemáticas

“Sistema de Base de Datos para la Farmacia Chimú”

CURSO:
BASE DE DATOS I

DOCENTE:
DÍAZ PULIDO, JOSÉ ARTURO
AUTORES:
 SAAVEDRA JIMENEZ, LENIN SLEYTER
 TAFUR TRUJILLO, LUIS ANGEL

Trujillo - La Libertad
2018
RESUMEN

El presente proyecto tiene como finalidad destacar la solución para la automatización

del inventario para una farmacia, donde se requiere el mejor control sobre la

administración de sus medicamentos y sus ingresos alcanzando la optimización de este

proceso de manera simplificada, obteniendo un control totalmente dinámico y de fácil

uso.

Para desarrollar una solución ante nuestra problemática necesitamos hacer uso de

diversos programas, hicimos uso del software “Dia” el cual nos permitió hacer nuestro

Diagrama de Entidad-Relación, también hicimos uso de el álgebra lineal y para verificar

nuestras consultas hicimos uso del software “Relational”. Por otro lado, también usamos

MySQL Workbench como software principal para el diseño de la base de datos, el cual

nos sirvió para hacer el script de nuestra base, donde también realizamos el

modelamiento relacional, donde creamos entidades con las características descritas en el

diagrama E-R y generar un diccionario de datos el cual nos muestra de manera ordenada

nuestras tablas con descripciones que ingresamos para cada campo de las entidades.

Finalmente usamos la API JDBC que permite la ejecución de operaciones sobre bases

de datos desde el lenguaje de programación Java, independientemente del sistema

operativo donde se ejecute o de la base de datos a la cual se accede, utilizando el

dialecto SQL del modelo de base de datos que se utilice. Esto nos permitió desarrollar

un software con un interfaz amigable al usuario.


REALIDAD PROBLEMÁTICA

En la Farmacia Chimú, ubicada en la calle José Béjar 444 -El Porvenir -Trujillo - La

Libertad-Perú; que se dedica a la venta de medicamentos a personas naturales, el dueño

y único empleado en dicho establecimiento tiene un problema con la administración de

los medicamentos y el control de compras y ventas.

La gestión de compra consiste en adquirir los medicamentos para abastecer el almacén,

esta compra genera un comprobante llamado documento de compra, en este documento

podemos ver quién es el proveedor, la fecha que se realizó la compra, la numeración de

dicho documento, los datos del dueño y los detalles de la compra. Estos detalles de

compra se muestra los medicamentos adquiridos, las cantidades de cada medicamento,

el precio en soles de dichos medicamentos. Posteriormente los medicamentos son

almacenados en el único almacén de la farmacia. Aquí se almacenan los medicamentos,

los atributos de estos medicamentos son los siguientes: Id Medicamento, nombre del

medicamento, fecha de fabricación, fecha de vencimiento y la descripción de los

medicamentos.

La gestión de venta consiste en suministrar medicamentos a los clientes naturales los

cuales realizan pequeñas compras, esta compra genera un comprobante llamado

documento de venta, en este documento podemos ver quién es el Cliente al que se le

vendió el medicamento, la fecha que se realizó la venta, la numeración de dicho

documento, los datos del empleado y los detalles de la Venta. Estos detalles de Venta se

muestran los medicamentos pedidos por el cliente, las cantidades de cada medicamento,

el precio en soles de dichos medicamentos. Estos medicamentos son extraídos del

almacén de la farmacia.
INGENIERÍA DEL PROYECTO

A. Algebra Relacional

1. Mostrar datos del medicamento que su stock es mayor a 80.

σStock_Medicamento>80(Detalle_de_Almacen⋈Medicamento)

2. Mostrar las ventas relizadas entre el 20 de mayo del presente año hasta el 12

de junio.

(σFechaVenta.month==5(Documento_de_Venta)

∩σFechaVenta.day>=20(Documento_de_Venta))

∪(σFechaVenta.month==6(Documento_de_Venta) ∩

σFechaVenta.day<=12(Documento_de_Venta))

3. Mostrar los laboratorios que aún no han provisto medicamentos a la

farmacia.

πIdProveedor, Nombre(Documento_de_Compra⋈Proveedor) ∪

(πIdProveedor, Nombre(Proveedor))-πIdProveedor,

Nombre(Documento_de_Compra⋈Proveedor) ∩ (πIdProveedor,

Nombre(Proveedor))

4. Mostrar los clientes que hayan comprado diclofenaco en la farmacia.

((πIdMedicamento(σnombre=="DICLOFENACO"(Medicamento))

⋈Detalle_de_Venta) ⋈Documento_de_Venta) ⋈Cliente

5. Mostrarlos medicamentos que el stock sea menor a 20 unidades.

σStock_Medicamento>80(Detalle_de_Almacen⋈Medicamento)

∪σStock_Medicamento<20(Detalle_de_Almacen⋈Medicamento)
B. Modelo E-R
C. Normalización del BD

La base de datos relacional se normalizo para:

 Evitar la redundancia de los datos.

 Disminuir problemas de actualización de los datos en las tablas.

 Proteger la integridad de datos.

Las tablas están en Primera Forma Normal porque:

 Todos los atributos son atómicos. Un atributo es atómico si los elementos

del dominio son simples e indivisibles.

 La tabla contiene una clave primaria única.

 La clave primaria no contiene atributos nulos.

 No debe existir variación en el número de columnas.

 Los Campos no clave deben identificarse por la clave (Dependencia

Funcional)

Las tablas están en Segunda Forma Normal porque:

 los atributos que no forman parte de ninguna clave dependen de forma

completa de la clave principal.

Empleado

Proveedor
Cliente

Almacén

Medicamento

Documento de Compra

Documento de Venta
Detalle de Compra

Detalle de Venta

Detalle de Almacén
Normalizado

1. Empleado (IdEmpleado, Nombre_Emp, Apellido_Emp)

2. Cliente (Dni, Nombre_cli, Apellidos_cli)

3. Proveedor (IdProveedor, Nombre_Prov)

4. Almacen (IdAlmacen)

5. Medicamento (IdMedicamento, nombre_med, fecha_reg, fecha_venc,

descripcion)

6. Documento_de_Compra (IdDoc_Compra, FechaCompra, IdProveedor,

IdEmpleado)

7. Documento_de_Venta (IdDoc_Venta, FechaVenta, IdEmpleado, Dni)

8. Detalle_de_Almacen (IdDetalle_Alm, IdAlmacen, IdMedicamento,

Stock_Medicamento)

9. Detalle_de_Compra (IdDetalleCompra, IdDoc_Compra, IdMedicamento,

precio, cantidad)

10. Detalle_de_Venta (IdDetalleVenta, IdVenta, IdMedicamento, precio,

cantidad).
D. Modelo Relacional en MySQL
E. Diccionario de Datos interpretado
F. Diseño de Interfaces usando JDBC
CONCLUSIONES

 Es muy importante observar el proceso que se sigue en la organización para

determinar los requerimientos que se necesitan para la elaboración de un sistema

y para ello se recurren a varias técnicas de recopilación de información para que

el proyecto satisfaga las necesidades de los usuarios finales que es el que está en

pleno contacto con él.

 Otro aspecto importante sería el diseño y creación de la base de datos, donde

existen distintos modos de organizar la información y representar las relaciones

entre sí.

 Con la normalización podremos saber si nuestro diseño tiene redundancias que

serán perjudiciales para la actualización de los datos, pérdida de tiempo y

conflictos a la hora de emplear nuestras consultas.

 El uso de una interfaz de Java y la conexión con una base de datos hace que el

usuario que utilice pueda realizar consultas de manera más amigable,

beneficiando así la relación programa-usuario.


BIBLIOGRAFÍA

 GABILLAUD, J. (2010). SQL y Álgebra relacional. ENI.

 Marston, T. (2004). The Relational Data Model, Normalisation and effective

Database Design. TonyMarston.co.uk.

REFERENCIAS

 http://rodin.uca.es/xmlui/bitstream/handle/10498/14893/el_modelo_de_datos_re

lacional.pdf?sequence=1

 https://es.slideshare.net/albertsinergy/algebra-y-calculo-

relacional?from_action=save

 https://www.cs.upc.edu/~bcasas/docencia/pfc/NormalitzacioBD.pdf

 http://www.marcossarmiento.com/2017/06/28/normalizacion-de-base-de-datos/

También podría gustarte