jueves, 25 de abril de 2013

Taller Álgebra Relacional


AUTO EVALUACIÓN No. 6



  1. Dada la siguiente BD relacional de una expresión en álgebra relacional utilizando operaciones fundamentales para cada una de las consultas propuestas.
  1. El nombre de la ciudad de la región “Centro” con mayor población.
  1. Los nombres de los conductores que han distribuido envíos de clientes con renta anual por encima de los 20 millones a ciudades con población superior a un millón o que tengan asignados los camiones de número inferior a 10.
  1. Los nombres de los clientes que tienen una renta anual por encima de los 15 millones que han enviado embarques con peso menor de una libra y que a la vez no han enviado embarques a la ciudad de “San Francisco”.
  1. La ciudad de la región “Norte” con una población menor a la población de la ciudad con nombre “Encarnación”.
  1. Los códigos de los clientes cuyos envíos han sido distribuidos por el chófer “Pablo”.
  1. Los números de los embarques y el nombre de los clientes a quienes corresponden esos embarques que tienen un peso por encima del peso del embarque con identificación 100.



CLIENTE (id_cliente, nomb_cliente, renta_anual)
EMBARQUE (embarque_#, id_cliente, peso, camion_#, destino)
Clave foránea: destino referencia a nomb_ciudad en ciudad
CAMION (camion_#, nomb_chofer)
CIUDAD (nomb_ciudad, region,  poblacion)




Colegio Mayor del Cauca – Facultad de Ingeniería
Bases de Datos
Auto evaluación No. 06 – Algebra Relacional
Abril 25 de 2013







martes, 2 de abril de 2013

Caso de Estudio: El Modelo Entidad - Relación


CASO DE ESTUDIO No. 4


La constructora Premier construye edificios en una gran variedad de ciudades. Cada edificio requiere un número de tipos diferentes de materiales en cantidades que varían por edificio. Interesa además de los edificios conocer el nombre, dirección, teléfono y ciudad. Las cuadrillas representan las partes (estructura, techo, pintura, fontanería, etc.) que se van a construir en un determinado edificio. Estas cuadrillas llevan a cabo diferentes partes del edificio según los requerimientos de cada edificio. La constructora tiene definido un catálogo de partes (código y nombre de las partes) que se necesitan en un edificio, pero no en todos en los edificios se utilizan las mismas partes de construcción, por ejemplo existe una parte denominada acabado en yeso que no en todos los edificios la contratan.

Para un edificio determinado puede haber una cuadrilla para la estructura, una para el techo, una para fontanería, una para albañilería y así sucesivamente. Al planificar la construcción de un edificio Premier asigna diferentes cuadrillas a diferentes fechas. Los trabajadores pueden asignarse a varias cuadrillas de acuerdo a su disponibilidad. De este modo, Han Brigman puede ser asignado a las cuadrillas de carpintería y albañilería. De los trabajadores interesa almacenar su nombre, apellidos, dirección, teléfono, ciudad y fecha de ingreso.

Inicialmente Premier forma las cuadrillas que se van a trabajar en los edificios y después asigna los trabajadores que harán parte de las cuadrillas, también se asigna un capataz a cada cuadrilla de cada edificio. Un trabajador puede ser el capataz en una cuadrilla y un simple trabajador en otra cuadrilla. Marcus Brown, dueño de Premier, desea conocer cuáles de sus trabajadores fueron asignados a cuadrillas, qué materiales están siendo utilizados en los edificios y para cuándo  está planificado el trabajo en cada edificio.

Diseñe un diagrama entidad relación con notación de Martin, que pueda ofrecer la información que Brown está buscando.

Tomado de: " HANSEN, Gary. Diseño y Administración de Bases de datos. Segunda edición. Prentice Hall. 1997."

martes, 26 de junio de 2012

PUBLICANDO UN OBJETO DE APRENDIZAJE

PUBLICANDO EL OBJETO DE APRENDIZAJE

Para publicar un OA creado mediante la herramienta ExeLearning con todas sus características, se exporta el archivo a formato SCORM 1.2 y luego este archivo empaquetado se monta en la plataforma virtual.

En esta interfaz se muestra como desde la plataforma Moodle, se agrega una actividad de tipo SCORM:


miércoles, 30 de mayo de 2012

REQUERIMIENTO PARA BASES DE DATOS 1P2012


REQUERIMIENTO FINAL PARA BASES DE DATOS
1p-2012

Dibuje un DER con notación de Martin, para representar la situación de una empresa comercializadora e importadora, de la cual se conoce:

• La empresa trabaja con diferentes productos. De cada uno se conoce su código que lo identifica, nombre, precio y categoría a que pertenece. (Existe una catalogo con todas las categorías, son cerca de 10 categorías).

• Cada producto tiene un único suministrador.

• De cada suministrador se conoce el código que lo identifica, nombre, dirección y teléfono.

• En la empresa se elaboran diferentes pedidos de productos. Cada pedido tiene un número que lo identifica, la fecha en que se confeccionó, la forma en que será despachado (D=Domicilio, P=Personal), el valor total del pedido y el cliente a quien corresponde. Además cada pedido es atendido por un empleado.
 

• De los clientes se conoce su código, nombre, dirección, ciudad y teléfono.

• Los empleados de la empresa se identifican por un número de expediente y de ellos interesa conocer el nombre, apellidos, dirección particular y fecha de ingreso.

• En cada pedido aparecen varios productos, cada producto de cada pedido, va acompañado de la cantidad solicitada y el precio vendido.

2. Transforme el modelo anterior en un modelo relacional.
3. Implemente el modelo relacional en el motor de bases de datos Firebird 2.0.
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. Nota: el detalle maestro entre los pedidos y los productos debe tener regla de borrado en cascada. 
6. Utilice dominios para definir algunos tipos de datos.
7. Para algunas categorías de productos defina vistas (VIEW) cuyos nombres sean descriptivos.
8. Realice las Instrucciones INSERT que se consideren necesarias.  Puede cargar los datos desde un archivo plano .CSV
9. Indique para cada una de las siguientes operaciones una expresión en SQL:

• Obtener los detalles completos de todos los pedidos que han realizado los clientes cuyo nombre comienza con un carácter pasado como parámetro.
• Listar los vendedores, ordenados por el nombre indicando por cada uno cual es el valor total de las ventas que ha realizado y la cantidad de las mismas.
• Obtener el nombre del vendedor que ha despacho el pedido de mayor valor.
• Obtener el nombre del artículo más vendido por la compañía.
• Obtener los nombres de los vendedores que hayan despachado pedidos cuyo valor total sea mayor al promedio de venta total de todos los pedidos.

10. Cree un disparador que valide la entrada de la forma de despacho, de tal manera que solo se inserten valores ‘D’ ó ‘P’ y no se reciban nulos en este campo.

12. Cree un procedimiento almacenado que permita calcular el valor de venta al público de todos los productos de la compañía de acuerdo a los siguientes criterios: si el precio del producto es menor a 10000 se vende con un 10% de incremento, si el precio del producto 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 2500 pesos.

miércoles, 30 de noviembre de 2011

BASE DE DATOS CASO DE ESTUDIO 2P2011


CASO DE ESTUDIO FARMACIA LA SALUD
ESQUEMA RELACIONAL

MEDICAMENTO=(cod_med I NN PK, nom_med VC(30), cod_tipo_med I FK NN, 
unidad_exist I, precio_unit DB, cod_estado I FK NN, cod_tipo_venta I FK NN, 
cod_lab I FK NN)
ESTADO=(cod_estado I PK NN, nom_estado VC(20))
TIPO_VENTA=(cod_tipo_venta I PK NN, nom_tipo_venta VC(20))
TIPO_MED= (cod_tipo_med I NN PK, nom_tipo_med VC(20))
LABORATORIO=(cod_lab I NN PK, nom_lab VC(30), tel_lab VC(20), 
dir_lab VC(30), cod_contacto I NN FK, cod_ciudad I FK NN)
CONTACTO=(cod_contacto I NN PK, nom_contacto VC(30), tel_contacto VC(20))
ENFERMEDAD=(cod_enf I NN PK, nom_enf VC(50))
FAMILIA=(cod_familia I PK NN, cod_med I FK NN, cod_enf I NN FK)
CLIENTE=(cod_cliente I PK NN, nom_cliente VC(30), dir_cliente VC(30), 
tel_cliente VC(20), cod_ciudad I NN FK)
CIUDAD=(cod_ciudad I PK NN, nom_ciudad VC(60), cod_depto_dane VC(5) FK)
VENTA=(cod_venta I PK NN, fecha_venta DT, valor_venta DB, cod_cliente I FK NN)
DETALLE_VENTA=(cod_detalle I PK NN, cod_venta I FK NN, 
cod_med I FK NN, unid_vendida I,valor DB)
DEPARTAMENTO=(cod_depto I PK NN, nom_depto VC(50), cod_dane VC(5) UK)

I = INTEGER   
NN = NOT NULL       
PK = PRIMARY KEY   
FK = FOREIGN KEY
D = DATE   
DB = DOUBLE PRECISION
VC = VARCHAR   
UK = UNIQUE KEY
DT = DATETIME - TIMESTAMP


NOTA: LOS TIPOS DE DATOS VC(30) DEBEN SER ASOCIADOS A UN DOMINIO.

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.