Está en la página 1de 3

CFGS :

Examen del mòdul 2: BASES DE DADES

UF2: SQL ddl/dml


Nom i Cognoms:

Creamos una BBDD para un sistema sanitario donde las entidades principales serian pacientes , médicos y
sus visitas El detalle del esquema de la BBDD del sector sanitario es:

PACIENTE

num_paciente nombre dirección DNI nom_pobl

Restricción PK NN U FK
borrado
set null

Tipo Numérico carácter carácter Carácter carácter

Longitud 4 30 50 9 20
POBLACION

nom_pob habitantes superficie


l

Restricción PK NN
>=1
<=250.000

Tipo carácter numérico numérico

Longitud 20 8 10
VISITA (contendrá la cita del paciente con el importe de la visita, las foreign key hace referencia
a dos tablas de las del esquema)

num_médico num_paciente fecha_visita importe

Restricción PK, FK PK,FK PK


por defecto,
fecha del dia

Tipo Numérico numérico fecha numérico

Longitud 4 4 3
MEDICO

num_medico Nombre especialidad dirección telefono sueldo

Restricción PK U PEDIATRIA NN
OFTALMOLOGIA
UROLOGIA
REUMATOLOGIA
NEUROLOGIA
Tipo Numérico Carácter carácter carácter numéric numérico
o

Longitud 4 30 30 40 9 6
DETALLE_VISITA (contendrá los detalles de cada visita realizada, se relaciona con visita, y
guardara los detalles que apunta el médico en esa visita)

num_medico num_paciente fecha_visita num_linia tipo_visita sintomas

Restricción PK,FK PK,FK PK,FK PK

Tipo Numérico numérico fecha Numérico carácter caracter

Longitud 4 4 2 10 80

PACIENTE (1,N)  PACIENTE (1,1)   MEDICO (1,1)   VISITA (1,1)   (1,N)


(1,1) POBLACION (1,N) VISITA (1,N) VISITA DETALLE_VISITA

1. Crear las tablas y restricciones anteriores.

2. Crea un secuencia llamada 'num_paciente_seq' con las siguientes características: valor inicial 1,
incremento 1, valor máximo 999 y que vuelva a empezar al llegar al máximo y otra con las
mismas características que se llame num_medico_seq. Estas sequence se deben utilizar cuando
sean necesarios en los proximos ejercicios.

3. Debes insertar dos pacientes de Badalona y uno de Cornella. Si para realizar estos inserts debes
hacer otras operaciones sql previas, también incluyelas en la respuesta.

4. Inserta tres médicos , uno que sea oftalmólogo , reumatología y el otro pediatra, utilizando la
sequence num_medico_seq.

Nombre medico Telefono Salario tipo Calle

tu_nombre 973458349 20000 oftalmo Calle 24

tu_1apellido 973458350 25000 pediatra

Nombre_alumno 32000 reumatologia Calle 25


5. Inserta dos visitas ficticias una para medico tu_nombre y otra para medico tu_1apellido, para cada
paciente los dos pacientes de Badalona, el primero con fecha a día de hoy, la segunda para otro
paciente restándole 3 años exactos (si no te sale que lo calcule el gestor, introduce la fecha a
mano).

Nombre medico Telefono Salari tipo Calle


o

tu_nombre 973458349 2000 oftalmo Calle 24


0

tu_1apellido 973458350 2500 pediatra


0

Nombre_alumno 3200 reumatolo Calle 25


0 gia

6.- Aumentar el salario en un 20% de los médicos que en sus especialidad contengan alguna letra u.

7.- Supongamos que de otro aplicativo tenemos esta tabla ciudad, con estos registros (ejecútala todo de
golpe)

drop table CIUDAD;

CREATE table CIUDAD

(Cod_ciudad number(5) primary key,

Nombre_ciudad varchar2(20),

Provincia varchar2(50),

Num_Habitantes number(8),

Alcade varchar2(50),

Superficie number(10));

INSERT INTO CIUDAD VALUES (11,'Lleida','Lleida',25000,'Alcalde1',3485);

INSERT INTO CIUDAD VALUES (12,'Barcelona','Barcelona',135000,'Alcalde2',34850);

INSERT INTO CIUDAD VALUES (13,'Girona','Girona',5000,'Alcalde3',4850);

INSERT INTO CIUDAD VALUES (14,'Tarragona','Tarragona',35000,'Alcalde4',3485);

Queremos insertar dentro de nuestra tabla POBLACION, los registros de esta tabla CIUDAD
formada por los campos (Cod_ciudad, Nombre_ciudad, Provincia, Num_Habitantes, Alcalde,
Superficie). El insert debe ser con una sola instrucción que inserte todos los registros de la tabla
CIUDAD a la población. Cómo lo podemos hacer teniendo en cuenta que sólo nos interesan
ALGUNOS campos de esta última tabla(1 punto)?

.8. Modifica las características del campo síntomas de la tabla Detalle_visitas a un máximo de 100
caracteres y elimina el campo tipo_visita.

9. Inserta un médico de REUMATOLOGIA, escribe la instrucción que borra los médicos de


REUMATOLOGIA pero que aún se podría recuperar. Vuelve a recuperarlos CON QUE INSTRUCCION?

10. (0,75 puntos) Busca los nombres de los alcades y el nombre de la población que sus poblaciones estén entre
10000 y 40000 y devuélvelos ordenados ascendentemente por el nombre del alcalde.

11. Crea una vista llámala medico_paciente que sirva para haciendo un select * from medico_pacient , se
vea el nombre del médico, el nombre del paciente y la fecha en la que se visito.

También podría gustarte