miércoles, 16 de octubre de 2013

Tarea 2 : Práctica de uso de SQL Developer

Trabajo Grupal – Practica de uso SQL Developer

1) De acuerdo al enunciado presentado a mas adelante, realice lassiguientes actividades:

a) Diagrama de Entidad – Relación, describiendo Entidades, Relaciones, y Atributos, (Modelo conceptual)
b) Modelo Relacional, incorporando los atributos necesarios
c) Generar el script (DDL)
d) Insertar al menos 5 registros en cada entidad
e) Proponer al menos 3 consultas SQL, con su respectivas soluciones
f) Guardar el Proyecto

Debe publicar en el blog de su grupo casa paso relizado, anexando pantallas correspondientes.

Caso: Proyectos desarrollados por una compañía.

1. La base de datos de una COMPAÑIA se ocupa de los empleados, departamentos y proyectos de una empresa, de acuerdo con los siguientes requisitos:

2. La compañía está organizada en departamentos. Cada departamento tiene un nombre único, un número único y un empleado que la dirige y se está interesado en guardar la fecha en que dicho empleado comenzó a dirigir el departamento.

3. Un departamento puede estar distribuido en varios lugares.

4. Cada departamento controla un cierto número de proyectos, cada uno de los cuales tiene un nombre y un número únicos, y se realiza en un sólo lugar.

5. Se almacena el nombre, número de la Seguridad Social, dirección, sueldo,sexo y fecha de nacimiento de cada empleado.

6. Todo empleado está asignado a un departamento, pero puede trabajar en varios proyectos que no tienen porque ser del mismo departamento.

7. Interesa saber el número de horas que un empleado trabaja en cada proyecto a los que está asignado.

8. También se quiere guardar la relación de las cargas familiares de cada empleado para administrar el seguro que poseen. Se almacena el nombre, sexo y fecha de nacimiento de cada una de las cargas familiares y su parentesco con el empleado.

9. Se debe controlar el pago a los empleados que puede ser solo de dos formas al contado con un cheque o depósitos en una cuenta corriente. A cada empleado se le cancela de una sola forma y no de ambas.

Modelo Entidad - Relación



Modelo Relacional




Script 


Consultas

Todos los pagados con cheque
select empleado.nombre, empleado.sueldo, cheque.numero, departamento.nombre as departamento, cheque.banco, cheque.fecha_pago from empleado, cheque , departamento where cheque.empleado_id_empleado= empleado.id_empleado and empleado.id_departamento = departamento.id_departamento

El sueldo mas alto
select empleado.nombre, departamento.nombre, empleado.sueldo as "sueldo maximo" from empleado, departamento where sueldo=(select max(sueldo) from empleado) and empleado.id_departamento = departamento.id_departamento

Cantidad de proyectos en que trabaja cada empleado
select empleado.nombre,count(mantiene.empleado_id_empleado) as cant_proyectos_trabaja from proyecto,empleado,mantiene where empleado.id_empleado = mantiene.empleado_id_empleado and proyecto.id_proyecto = mantiene.proyecto_id_proyecto group by empleado.nombre

Empleado mayor
select empleado.nombre, departamento.nombre, empleado.fecha_nacimiento from empleado, departamento where fecha_nacimiento=(select min(fecha_nacimiento) from empleado) and empleado.id_departamento = departamento.id_departamento