Beruflich Dokumente
Kultur Dokumente
Bases de Datos
Trabajo de Campo
Entrega Final
Relloso, Juan
Facultad de Economía
Lic. en Ciencias de la Computación
Teoría y Diseño de Bases de Datos
Trabajo de Campo
FAF Asociados SRL es una empresa nacida en 1988, dedicada a los servicios de
seguridad.
Algunos de ellos son: vigilancia privada, transporte de caudales, investigaciones
privadas, instalación y monitoreo de alarmas, diagramación, instalación y monitoreo
satelital de vehículos, servicio de control en yacimientos petroleros, instalación de circuitos
cerrados de televisión, etc.
Se desea almacenar toda la información referida a los servicios de monitoreo de
alarmas y de vigilancia ofrecidos, así como los datos de los clientes, empleados y
servicios ya brindados.
Las personas interesadas en los servicios de la empresa, pueden solicitar un
presupuesto, el cual puede ser para un servicio de vigilancia o para un servicio de
alarmas. Estos presupuestos, dados en una fecha, y que poseen un importe total según el
servicio consultado, serán guardados, en caso de que el cliente se decida a contratar el
servicio o no, ya que pueden servir para futuras estadísticas. Para los presupuestos de
vigilancia se pedirá al cliente la cantidad de horas aproximada que necesitará vigilancia,
mientras que para los de alarmas se necesita saber la dimensión del lugar, y la cantidad
de elementos estimativos que se colocaran (sensores, cámaras, etc). Un cliente puede
pedir varios presupuestos, pero cada uno pertenece a un cliente.
Si se aprueba un presupuesto, se genera un servicio correspondiente a la necesidad
del cliente (servicio de vigilancia o alarmas), el cual estará asociado a un único cliente,
tendrá una fecha de inicio y un lugar o dirección en donde se realizará. Un cliente puede
tener varios servicios a su nombre.
Para los servicios de vigilancia es necesario saber los días y horarios, los cuales serán
asignados luego a aquellos vigilantes de la empresa que estén disponibles. Un vigilante
tendrá varios horarios (día, hora de inicio y hora final) que pueden pertenecer a distintos
servicios, siempre y cuando los horarios no se superpongan. En el caso de los servicios
de alarmas, se registrarán la dimensión del lugar, la cantidad de sensores y de cámaras
que se usarán.
Para estos servicios, la empresa cuenta con varios empleados; en este caso se tendrán
1 Relloso, Juan
Teoría y Diseño de Bases de Datos
Trabajo de Campo
2 Relloso, Juan
Teoría y Diseño de Bases de Datos
Trabajo de Campo
3 Relloso, Juan
Teoría y Diseño de Bases de Datos
Trabajo de Campo
4 Relloso, Juan
Teoría y Diseño de Bases de Datos
Trabajo de Campo
5 Relloso, Juan
Teoría y Diseño de Bases de Datos
Trabajo de Campo
interface Estado
{ relationship <ControlMensual>tieneControlMensual inverse ControlMensual:: tieneEstado;
};
interface EstadoPendiente: Estado
{ attribute String fechaLimite;
}:
interface EstadoRealizado: Estado
{ attribute String fechaControl;
attribute String estadoServicio;
attribute String observaciones;
attribute String conformidad;
};
6 Relloso, Juan
Teoría y Diseño de Bases de Datos
Trabajo de Campo
7 Relloso, Juan
Teoría y Diseño de Bases de Datos
Trabajo de Campo
8 Relloso, Juan
Teoría y Diseño de Bases de Datos
Trabajo de Campo
9 Relloso, Juan
Teoría y Diseño de Bases de Datos
Trabajo de Campo
10 Relloso, Juan
Teoría y Diseño de Bases de Datos
Trabajo de Campo
11 Relloso, Juan
Teoría y Diseño de Bases de Datos
Trabajo de Campo
2. Realizar todas las operaciones necesarias para modificar el equipo asignado a los
vigilantes que vivan en Neuquén.
3. Realizar todas las operaciones necesarias para eliminar un vigilante (ojo con la
integridad referencial).
4. Listar los vigilantes cuyo nombre comience con la letra A y que no tengan asignado
ningún servicio.
SELECT v
FROM Vigilante v
WHERE v.nombre LIKE 'A%' AND v.dni NOT IN (SELECT dniVigilante FROM Trabaja)
12 Relloso, Juan
Teoría y Diseño de Bases de Datos
Trabajo de Campo
SELECT sa
FROM ControlPendiente, ServicioAlarma sa
WHERE ControlPendiente.idServicio=sa.idServicio
SELECT sa
FROM ControlPendiente, ServicioAlarma sa
WHERE ControlPendiente.idServicio=sa.idServicio
AND (fechaEmision>='1/11/2008' OR fechaEmision<='30/9/2008')
7. Listar la cantidad de presupuestos para servicios de alarmas que haya pedido un cliente
y que lo haya efectivamente contratado.
8. Listar los vigilantes que hayan realizado más de 10 horas extras el mes pasado en un
servicio de Nqn.
Suponiendo que un vigilante trabaja por ejemplo 170 horas al mes, buscaremos aquellos que han
trabajado más de 180 horas.
Observación: Se podría haber usado el tipo DATE para los horarios de los vigilantes y usar
operaciones de SQL para ese tipo; no se usan para no complicar la consulta y suponemos que la
diferencia entre horarios nos da el número de horas diarios de trabajo.
13 Relloso, Juan
Teoría y Diseño de Bases de Datos
Trabajo de Campo
SELECT v
FROM Vigilante v,
( SELECT sv.idServicio
FROM ServicioVigilancia sv
WHERE sv.Lugar = 'Neuquen'), (*1)
( SELECT dniVigilante, idServicio, SUM ((horaFin – horaInicio)) AS nroHoras
FROM Trabaja
WHERE dia<'1/12/2008' AND dia>'31/10/1984'
GROUP BY Cliente.dni ) (*2)
WHERE v.dni = dniVigilante AND idServicio = sv.IdServicio AND nroHoras>180
9. Realizar una afirmación que controle que la fecha del control mensual sea siempre
mayor a la fecha de inicio del servicio al cual pertenece.
10. Realizar una afirmación que controle que todo servicio contratado por un cliente haya
tenido previamente un presupuesto efectuado.
14 Relloso, Juan
Teoría y Diseño de Bases de Datos
Trabajo de Campo
Consultas OQL
11. Listar los controles mensuales de los empleados técnicos cuya dirección comience con
Av. de Nqn.
SELECT c
FROM ControlesMensuales c
WHERE c.realizadoPor.localidad='Neuquen' AND c.realizadoPor.direccion LIKE 'Av. %'
(SELECT t
FROM Tecnicos t)
EXCEPT
(SELECT DISTINCT c.realizadoPor
FROM ControlesMensuales c)
13. Listar los servicios de vigilancia contratados por un cliente específico junto con el
vigilante y su equipo de trabajo.
Servicios contratados por el cliente con dni 20.000.000 junto con los vigilantes y su equipo
Otra forma
15 Relloso, Juan