Consultas+Ejercicio+hospital-2

10. Realizar el diagrama E/R del sistema de información de un hospital en el que se maneja información de: MEDICOS, PLANTAS, HABITACIONES, PACIENTES, ENFERMEROS, ENFERMEDADES, etc. Suponer las siguientes consideraciones:
 * Médicos, enfermeros y pacientes tendrán los datos habituales de personas, nombre edad, etc. además de datos específicos de cada uno de ellos.
 * Un enfermo puede tener varios ingresos con una fecha de entrada, otra de alta y su causa, la descripción de la causa, el médico responsable.
 * Una planta estará compuesta de habitaciones, y tendrá una especialización clínica y un médico director.
 * Las habitaciones tendrán, número de camas, características especiales, etc. Existirá información acerca de la ocupación de una habitación.


 * Los enfermeros están asignados a una planta y tendrán un conjunto de habitaciones asignado.






 *  TABLAS. **


 * - Medicos:**




 * - Plantas:**




 * - Habitaciones:**




 * - Enfermeros:**




 * - Ingresos**:




 * - Enfermedad:**




 * - Paciente:**




 * - Ingresos_Enfermedades:**



**CONSULTAS**


 * 1 - Seleccionar el nombre y edad de a aquellos enfermeros más jovenes ( menores de 30 años):**

R: select nombre,edad from enfermeros where edad < 30;




 * 2 - Seleccionar el nombre de aquellos medicos que tenga como letra del DNI una V:**

R: select nombre from medicos where dni like '%V';




 * 3 - Selecciona aquellos pacientes que hayan ingresado en el hostpital en el 2010:**

R: select nombre from pacientes where dni in ( select paciente from ingresos where fentrada > '31/12/2009');


 * 4 - Selecciona aquellos que todavia no han sido dados de alta ( la fecha de no alta es 31/12/9999 ):**

R: select nombre from pacientes where dni in ( select paciente from ingresos where falta <> '31/12/9999');




 * 5 - Selecciona aquellas plantas que tengan más de tres habitaciones:**

R: select idplanta from habitaciones group by idplanta having count(id)>'3' order by idplanta;




 * 6 - Selecciona aquellas plantas que tengan o hallan tenido mas de 1 habitacion ocupadas:**

R: select idplanta as "PLANTA" from habitaciones where id in ( select idhabitacion from ingresos group by idhabitacion having count(id)>'1');




 * 7 - Seleccionar el nombre de aquellos pacientes cullos ingresos tiene más de 1 enfermedad:**

R: select nombre from pacientes where dni in ( select paciente from ingresos where id in ( select idingreso from ingresosenfermedades group by idingreso having count(idenfermedad)>'1')) order by nombre;




 * 8 - Saca todos los atributos de las habitaciones de la planta de maternidad:**

R: select * from habitaciones where idplanta in ( select numero from plantas where especialidad = 'Maternidad') order by id;




 * 9 - Selecciona el nombre de los enfermeros que trabajen en la planta de la que sea jefe Israel:**

R: select nombre from enfermeros where dni in (select distinct enfermero from habitaciones where idplanta in (select numero from plantas where medicojefe in (select dni from medicos where nombre = 'Israel')));




 * 10 - Selecciona el nombre de los enfermeros que no trabajen en la planta de Deivid:**

R: select nombre from enfermeros where dni in (select enfermero from habitaciones where idplanta <> (select idplanta from habitaciones where enfermero in (select dni from enfermeros where nombre = 'Deivid')) group by enfermero);




 * 11 - Selecciona aquellos enfermeros que tengan 2 o más habitaciones a su cargo:**

R: select nombre from enfermeros where dni in (select enfermero from habitaciones group by enfermero having count(id)>='2');




 * 12 - Selecciona aquellos enfermeros que actualmete no tengan habitaciones asignadas:**

R: select nombre from enfermeros where dni not in (select enfermero from habitaciones group by enfermero);




 * 13 - Selecciona el nombre de las enfermedades que esten en dos o más ingresos:**

R: select nombre from enfermedades where id in (select idenfermedad from ingresosenfermedades group by idenfermedad having count(idingreso)>='2');




 * 14 - Selecciona las habiationes que tengan algo que ver con 'rayos':**

R: select * from habitaciones where especificaciones like '%rayos%';