domingo, 27 de noviembre de 2011

REQUERIMIENTO FINAL PARA BASES DE DATOS Y LABORATORIO 2P-2011

REQUERIMIENTO FINAL PARA BASES DE DATOS Y LABORATORIO
2P-2011
En la farmacia se requiere una catalogación de todos los medicamentos existentes, de cada uno se necesita almacenar su código de medicamento, nombre del medicamento, tipo de medicamento (jarabe, comprimido, pomada, etc.), unidades en stock, y precio.  Existen medicamentos, de venta libre y otros que solo pueden dispensarse con receta médica.

La farmacia compra cada medicamento a un laboratorio o bien los fabrica ella misma.  Se desea conocer el código de laboratorio, nombre, teléfono, dirección y fax, así como el nombre de la persona o personas de contacto y algunos datos de interés de ellas. Para un mismo laboratorio puede existir más de un contacto y una misma persona puede ser el contacto de varios laboratorios.

Existe una catalogación además de todas las enfermedades existentes, y los medicamentos se agrupan dependiendo de las enfermedades a las que dicho medicamento se aplica.  De este modo, si la farmacia no dispone de un medicamento concreto, puede vender otro similar aunque de distinto laboratorio.

La farmacia tiene clientes que realizan los pedidos o compras, se quiere mantener las unidades de cada medicamento comprado, así como la fecha de compra, el valor total de la compra y el empleado que atendió el pedido. Cada pedido es atendido por un solo empleado. Los empleados de la farmacia se identifican por un número de expediente y de ellos interesa conocer el nombre, apellidos y dirección particular.

En cada pedido aparecen varios medicamentos, cada medicamento de cada pedido, va acompañado de la cantidad solicitada.

(PRIMERA PARTE Y SEGUNDA PARTE)

1. Dibuje un DER con notación de Martin, para representar la situación de la farmacia.
2. Transforme el modelo anterior en un modelo relacional.
3. Implemente el modelo relacional en el motor de bases de datos Firebird
4. Cree para cada una de las tablas su llave primaria, generador y su disparador de auto incremento.
5. Implemente las restricciones de Integridad para cada una de las relaciones existentes en la base de datos.
6. Utilice dominios para definir algunos tipos de datos. los que usted considere puede ser uno solo.
7. Cree un vista llamada JARABE de tal manera que se visualicen todos los medicamtentos de tipo JARABE.
8. Realice las Instrucciones INSERT que se consideren necesarias. puede hacerlo por archivos planos, por sentencia insert o por uso de la opción datos (botonera).
9. Realice 10 consultas en donde evidencie el uso de las operaciones fundamentales del algebra relacional. (no se olvide que puede usar between, in,  subconsultas,  not in,  funciones agregadas (SUM, MAX, AVG, etc.))
10. Cree un disparador con una excepción, que valide la entrada de valores negativos  en el precio unitario del medicamento, las unidades existentes y el valor de la venta.
11. Defina un procedimiento almacenado que reciba como parámetro de entrada el código de un medicamento y muestre su tipo de venta, su tipo de venta, precio, laboratorio y calcule un precio de venta al publico (el precio real del producto incrementado en un 10%).
12. Cree un procedimiento almacenado que permita calcular el valor de venta al público de todos los medicamentos de la farmacia, teniendo en cuenta: si el precio del  medicamento es menor a 10000 se vende con un 10% de incremento, si el precio del medicamento está entre 10000 y 20000 se vende con un 10% de descuento, si el precio es mayor a 20000 el precio de venta al público es el mismo precio del producto aumentado en 5000 pesos.

Fecha de entrega para ambas jornadas: Martes 6 de dic. a lñas 6 pm.

No hay comentarios:

Publicar un comentario