Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

Ayuda con examen de Base de Datos

Estas en el tema de Ayuda con examen de Base de Datos en el foro de Bases de Datos General en Foros del Web. Bueno, ante todo muy buenos dias a toda la comunidad. Bueno les comento que tengo un examen de base de datos y necesito una mano ...
  #1 (permalink)  
Antiguo 23/01/2009, 15:15
 
Fecha de Ingreso: enero-2009
Mensajes: 1
Antigüedad: 15 años, 3 meses
Puntos: 0
Ayuda con examen de Base de Datos

Bueno, ante todo muy buenos dias a toda la comunidad. Bueno les comento que tengo un examen de base de datos y necesito una mano con un par consultas que tengo que resolver. Les agradeceria mucho si me ayudan un poquillo jeje . En la ultima parte les dejo las consignas (y tambien aquellas q pude resolver para q me digan si esta mal o si se puede mejorar y como, demas esta decir que el motor utilizado es SQL ).

Estas son las tablas:

departamento

* nombre
* nro
* fecha_inicio
* gerente (referencia a Documento en Empleado)


empleado

* nombre
* apellido
* documento
* fecha_nacimiento
* direccion
* sexo
* salario
* supervisor (referencia a Documento en Empleado)
* departamento (referencia a Nro en Departamento)


dependiente

* nombre
* sexo
* fecha_nacimiento
* parentezco
* empleado (referencia a Documento en Empleado)


proyecto

* nombre
* nro
* lugar
* departamento (referencia a Nro en Departamento)


trabaja_en

* horas
* empleado (referencia a Documento en Empleado)
* proyecto (referencia a Nro en Proyecto)


Notas:
·Las claves primarias de cada tabla se encuentras marcadas con un subrayado


Resolver los siguientes requerimientos de información en consultas SQL.

1.Nombre de los Jefes de cada departamento

SELECT empleado.nombre, empleado.apellido, departamento.nombre AS departamento FROM empleado, departamento WHERE (gerente = documento);


2.Cantidad de empleados por departamento.

SELECT departamento.nombre, COUNT(empleado.nombre) AS empleados FROM departamento, empleado WHERE (departamento.nro = empleado.departamento) GROUP BY (departamento.nombre);

3.Empleado con mayor cantidad de horas trabajadas por proyecto.

SELECT empleado.nombre, empleado.apellido, trabaja_en.horas, proyecto.nombre FROM empleado, trabaja_en, proyecto WHERE (empleado.documento = trabaja_en.empleado) AND (trabaja_en.proyecto = proyecto.nro) ORDER BY (trabaja_en.horas) desc limit 0,1;

4.Datos del supervisor con mayor cantidad de empleados a su cargo

5.Departamento con el gerente a cargo desde hace mayor cantidad de tiempo.

SELECT * FROM (SELECT departamento.nombre, empleado.apellido, departamento.fecha_inicio FROM departamento, empleado WHERE (departamento.gerente = empleado.documento)) AS tabla HAVING MIN(tabla.fecha_inicio);

6.Proyecto con mayor cantidad de empleados asignados.

SELECT * FROM (SELECT proyecto.nombre, trabaja_en.proyecto, count(trabaja_en.empleado) AS empleados FROM proyecto, trabaja_en WHERE (proyecto.nro = trabaja_en.proyecto) GROUP BY trabaja_en.proyecto ORDER BY empleados desc) AS tabla HAVING MAX(tabla.empleados);

7.Empleados con mayor y menor salario por proyecto

8.Empleados cuya carga familiar (dependiente) sea superior a 4
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:12.