Modelo de datos y SQL
Hospital
Ejercicio evaluable
Preparado por CICE
Modelo de datos y SQL
Ejercicio evaluable
Contenido
Ejercicio 1 ................................................................................................................................................................ 2
Problema de negocio .............................................................................................................................................. 2
REQUERIMIENTOS ................................................................................................................................................ 2
QUÉ DEBEMOS HACER .......................................................................................................................................... 4
_________
1
Modelo de datos y SQL
Ejercicio evaluable
EJERCICIO 1
PROBLEMA DE NEGOCIO
Nos contratan para realizar el diseño funcional y físico de base de datos (diagrama Entidad –
Relación, Relacional y SQL) de una red de hospitales.
REQUERIMIENTOS
Cada hospital está compuesto por salas de especialidades.
La plantilla del hospital está compuesta por personal cuya función es enfermeros /
enfermeras y personal interno (no doctores) en turnos de mañana (M), tarde (T) y noche
(N).
Cada hospital tiene un número máximo de camas y en cada sala existe un número de
camas asociado.
Cada doctor depende de un hospital, no pudiéndose dar el caso de que un doctor
pertenezca a varios hospitales.
El atributo salario de la plantilla guarda información del salario anual bruto.
_________
2
Modelo de datos y SQL
Ejercicio evaluable
De acuerdo con las consideraciones anteriores, y teniendo en cuenta que algunos atributos se
han omitido en la definición anterior, el diagrama relacional que podemos obtener podría ser el
siguiente:
_________
3
Modelo de datos y SQL
Ejercicio evaluable
QUÉ DEBEMOS HACER
1. Crear las tablas y relaciones de acuerdo con el modelo relacional de la figura 1.
Dibujar previamente el modelo de datos.
2. Insertar datos (tantas filas como estiméis necesarias, leed todos los enunciados
antes de insertar) en todas las tablas teniendo en cuenta las relaciones
establecidas y los tipos de campo.
3. Encuentra todos los miembros del personal cuyo nombre comience por ‘H’.
4. ¿Quiénes son las enfermeras y enfermeros que trabajan en turnos de tarde o
mañana?
5. Hacer un listado del personal de enfermería cuyo salario está comprendido entre
25.000 y 35.000 € al año.
6. Mostrar, para todos los hospitales, el código de hospital, el nombre completo del
hospital y su nombre abreviado de tres letras (a esto podemos llamarlo ABR).
Ordenar el resultado por esta abreviatura.
7. Encontrar a todas las enfermeras y enfermeros con indicación del salario
mensual de cada uno.
8. Recuperar el número de empleado y nombre de las personas que perciban un
salario > que la media de su hospital.
9. Insertar en la tabla PLANTILLA a “Pedro Elguapo” con un salario anual de 30.000
€, número de empleado 1234. Trabaja en el hospital 22, sala2.
10. Actualizar al paciente número 74835 la dirección a la calle Alcalá, 411.
11. Poner todas las direcciones de la tabla ENFERMO a null.
12. Igualar la dirección y fecha de nacimiento del paciente 10995 (es un id de
ejemplo, podéis usar esto u otro, pero documentadlo) a los valores de las
columnas correspondientes almacenadas para el paciente 14024 (es un id de
ejemplo, podéis usar esto u otro, pero documentadlo).
13. En todos los hospitales del país se ha recibido un aumento del presupuesto, por
lo que se incrementará el número de camas disponibles en un 10%.) ¿Cómo se
haría en SQL? Analizar si es necesario cambiar la estructura de la tabla de
HOSPITAL, y en ese caso crear una copia de seguridad de esta, además de
hacer el correspondiente ajuste en el número de camas.
_________
4
Modelo de datos y SQL
Ejercicio evaluable
14. Se va a realizar un programa de consulta de la información sobre enfermos. Los
datos por mostrar serán sus apellidos, dirección, fecha de nacimiento y hospital
en el que se encuentran. Definir una vista donde salgan los datos solicitados.
15. Obtener un listado que incluya el nombre de cada hospital, las salas, los
empleados que trabajan en cada sala, agrupados por categorías profesionales y
salarios.
16. Obtener el grado de ocupación de cada hospital, es decir, el número de
enfermos que hay en cada uno de los hospitales, analizar la ocupación actual por
salas y obtener la diferencia entre la ocupación actual y la ocupación máxima por
sala.
17. Seleccionar todos los doctores por cada hospital, en el informe deberá aparecer
el nombre del hospital y la correspondiente lista de doctores asociados.
18. Revisad el diagrama relacional planteado y proponed mejoras que repercutan en
un mayor conocimiento de doctores asignados a salas y a enfermos:
a) Un doctor podrá pertenecer no solo a uno, sino a varios hospitales.
b) Un doctor debe tener asignada una sala (área de especialidad) del
hospital.
c) Un doctor debe tener asignados enfermos.
d) Un doctor deberá pertenecer a la plantilla del hospital.
19. Sobre el nuevo diagrama relacional planteado y mediante instrucciones SQL
plantead las modificaciones en las tablas correspondientes.
_________
5