Vous êtes sur la page 1sur 2

Lee atentamente: El examen est dividido en dos bloques: A y B.

Se requiere obtener como mnimo el 40% de la nota mxima otorgada a cada bloque para aprobar la asignatura. Nota mnima para aprobar la asignatura: 5. Examen de Sistemas Informticos 4 Febrero 2009 Fecha Publicacin de notas 12 Febrero 2009 A continuacin se describe el flujo de trabajo de la empresa Walnut Furniture Co. que manufactura y vende mobiliario a una gran variedad de clientes (particulares y empresas). Se necesita implementar la base de datos que permita a la empresa guardar la informacin de dicho flujo de trabajo (no hay que implementar el flujo de trabajo): a) Cuando se recibe un pedido cursado por un cliente NUEVO, se debe registrar al cliente. Despus, se revisa la historia crediticia del cliente (no os preocupis sobre como se realiza esta operacin, slo es necesario guardar el resultado de la misma). Si el crdito es satisfactorio el pedido podra ser procesado. b) Cada pedido de un cliente NUEVO debe ir acompaada de un depsito del 20% del valor del pedido si no el pedido es aplazado hasta que el cliente mande el depsito. c) Cuando se toma un pedido de un cliente EXISTENTE no es necesario realizar ningn depsito por el contrario se verifica si adeuda alguna cantidad a la empresa. Es decir, no tiene ninguna factura pendiente de pago por un periodo de tiempo superior a 30 das, el pedido es procesado. d) Un cliente puede realizar un pedido solicitando varios objetos al mismo tiempo. e) Para introducir el pedido el empleado debe revisar el inventario y determinar una posible fecha de entrega. Si hay existencias del objeto este puede ser enviado en tres das laborables; en otro caso se necesitan 4 semanas. f) Si no hay existencias del objeto, se contactar al cliente y notificar la fecha de envo. El cliente puede cancelar su pedido. g) Para un pedido dado, aunque no haya existencias de algunos objetos, los que estn disponibles sern enviados tan pronto sea posible. Por lo tanto, un pedido puede ser entregado en varios envos. Por ejemplo, si se han solicitado 2 mesas y 5 sillas en un pedido pero slo 1 mesa y 2 sillas estn disponibles, la mesa y las dos sillas sern enviadas conjuntamente y el resto de los objetos sern enviados a medida que estn disponibles (en uno o ms envos). h) Las facturas son emitidas al cliente tan pronto como los objetos se hayan enviado. Si la entrega de un pedido es fraccionada en varios envos se fraccionar tambin la facturacin. Es decir, hay una factura por envo. Tras realizar un pedido un empleado debe dar el visto bueno al mismo. En la prctica esto consiste en modificar el valor del atributo adecuado en la base de datos. Escribe un trigger que imposibilite dar el visto bueno a envos a nuevos clientes si: (i) su historia crediticia no es positiva o (ii) no han realizado el depsito del 20% del valor del pedido. Igualmente debe evitar dar el visto bueno a clientes existentes si (iii) adeudan alguna cantidad a la empresa durante un periodo superior a 30 dias.

BLOQUE A (5 puntos) Disea RAZONADAMENTE una base de datos (diagrama entidad relacin) que satisfaga los requerimientos anteriores y pueda usarse para responder a las consultas de los apartados siguiente. Se debern indicar las restricciones de integridad que contenga, y la forma en que se especificaran en SQL tanto la estructura de las tablas como las restricciones de integridad.
Nota 1: Por favor, ser breves en vuestros razonamientos, pero estos son imprescindibles. Nota 2: todas las relaciones deben satisfacer la 3 forma normal o debers comentar por que opinas que en este caso particular es conveniente que se viole este principio general. Nota 3: Ningn atributo de las entidades puede ser redundante (cada atributo redundante descontar 3 puntos de la nota final). Se define atributo redundante como aquel que puede ser obtenido mediante una consulta que involucre el resto de los atributos de la base de datos. Slo se admiten atributos redundantes cuando se explique su necesidad (o se pidan explcitamente en el enunciado) y se rellenen automticamente mediante un trigger o similar.

En este apartado, se debe entregar: 1. Diagrama Entidad-Relacin. Explicacin RAZONADA del diseo (2.5 puntos) 2. Tablas** en SQL incluyendo todas las restricciones de integridad (1 punto) 3. Trigger(s) en SQL. (1.5 puntos) BLOQUE B (3 puntos) Da RAZONADAMENTE las siguientes consultas en lgebra relacional y SQL 1. (1.5 puntos) Para un pedido dado, aunque no haya existencias de algunos objetos, los que estn disponibles sern enviados tan pronto sea posible. Por lo tanto, un pedido puede ser entregado en varios envos. Encuentra el objeto ms problemtico, esto es, aquel objeto que ms a menudo no ha podido ser enviado en el primer envo. 2. (1.5 punto) Walnut Furniture Co. desea saber si merece la pena tener un gran stock de productos. Por ello est interesada en saber si los clientes pagan ms rpidamente aquellos objetos enviados en el primer envo frente a los objetos enviados en envos posteriores. Para los pedidos fraccionados en dos o ms envos encuentra la velocidad de facturacin media para el primer y el segundo envo. (i) se define la velocidad de facturacin como el tiempo entre la realizacin del envo y el pago del mismo (ii) se entiende como velocidad de facturacion media de los primeros envios el promedio sobre el conjunto formado por todas las velocidades de facturacion de cualquier primer envio y velocidad de facturacion media de los segundos envios sera el promedio sobre el conjunto formado por todas las velocidades de facturacin de cualquier segundo envo. (2 puntos) Escribe RAZONADAMENTE un programa en C con SQL embebido que permita gestionar los pedidos. NIF del cliente y los objetos que desea en su pedido y realizar esta tareas: 1. Determinar si se trabaja con un cliente nuevo o existente. 2. Si el cliente ya exista el empleado debe poder revisar si adeuda alguna cantidad a la empresa 3. Si el cliente es nuevo se deben poder introducir en la base de datos sus datos personales y crediticios. 4. Informar sobre qu objetos no estn disponibles.
Nota 4: TODAS las consultas que se formen usando informacin proporcionada por el usuario se deben crear previamente mediante rdenes prepare.

** Se requiere escribir todas las tablas necesarias para crear: triggers y las consultas.

Vous aimerez peut-être aussi