Documentos de Académico
Documentos de Profesional
Documentos de Cultura
GUADIANA
TALLER DE BASE DE DATOS
DOCUMENTO DEL CASO DE HOSPITALES Y
EJERCICIO DEL PDF
PROFESOR:
RAMIRO VILLANUEVA
EQUIPO N 9
YADIRA RODRIGUEZ MARTINEZ
ANA SILVIA TENORIO SANCHEZ
PEDRO CHAVEZ MARTINEZ
JOSE LUIS ALVAREZ CARRILLO
FECHA DE ENTREGA 02/ ABRIL/2009
CASO DE UN HOSPITAL
9. Se trata de disear la base de datos para la administracin de un consorcio de
hospitales, que permita gestionar datos acerca del personal as como de los
pacientes de los mismos. De cada hospital interesa almacenar adems de su
nombre direccin, telfono, fax, etc.
El personal de los hospitales (del que interesa almacenar su dni, nombre,
apellidos, direccin y telfono) se divide en personal administrativo y personal
sanitario (dentro de este se distingue a su vez ATS y mdicos).
Los mdicos tienen una especialidad que interesa conocer (pediatra, obstetricia,
etc.) Y slo trabajan, al igual que el resto del personal, en un hospital.
Los pacientes pueden acudir a varios hospitales del consorcio, pudiendo ser
Atendidos por varios mdicos.
Se desea conocer los datos personales de los pacientes que van a ingresar en el
hospital, as como el nmero de seguridad social, compaa aseguradora, la
fecha de admisin y la sala (habitacin) en la que deben permanecer.
Cada sala se identifica por un nmero de sala dentro de cada hospital y se
desea conocer el nmero de camas de las que dispone cada sala.
Cada admisin de un paciente en el hospital lleva asociada una o varias fichas
de tratamiento en las que se indica la enfermedad y el mdico que la atiende.
Cada tratamiento se identifica por el nombre de la enfermedad del tratamiento
que es nico para cada admisin.
Adems, cada tratamiento da lugar a distintos resultados que permiten realizar el
seguimiento de cada enfermedad de un paciente. El resultado debe indicar la
fecha y hora en que ste tuvo lugar, as como un comentario (por ejemplo,
indicando si el paciente tiene fiebre etc.). Para un mismo tratamiento slo puede
haber un resultado en un mismo da, a una misma hora.
CODIGO DE LAS TABLAS
Tabla pacientes
create table pacientes (id_paciente number not null, nombre
varchar2(50)null,
direccion
varchar2(50)null,padecimiento
varchar2(50)null,no_cama number,departamento varchar2(50)null,telefono
number
null,seguro_social
number
null,fecha_de_ingreso
date
null,fecha_de_egreso date null,tratamiento varchar2(50) null,medico
varchar2(50)null,constraint pkey_pacientes primary key (id_paciente));
Llaves forneas
Tabla medicos
create
table
medicos
(id_medico
number
not
null,nombre
varchar2(50)null,paterno varchar2(50)null,materno varchar2(50)null,telefono
number(9)null,direccion
varchar2(50)null,especialidad
varchar2(50)null,constraint pkey_medicos primary key (id_medico));
Tabla departamentos
create table departamentos (id_departamento number not null,nombre
varchar2(50)null,bloque varchar2(4)null,no_camas number(2) null,constraint
pkey_departamentos primary key (id_departamento));
Tabla hospitales
create
table
hospitales
(id_hospital
number
not
null,direccion
varchar2(50)null,especialidad
varchar2(50)null,ciudad
varchar2(50)null,administrador varchar2(50)null,constraint pkey_hospitales
primary key (id_hospital));
Llaves foraneas
foreign
key
Tabla tratamientos
create table tratamientos (id_tratamientos number not null,fecha date
null,hora
number
(4)null,nombre_enfermedad
varchar2(50)null,nombre_paciente
varchar2(50)null,medico
varchar2(50)null,comentario varchar2(50)null,constraint pkey_tratamientos
primary key (id_tratamientos));
Tabla personal
create table personal (id_personal number not null,nombre_personal
varchar2
(50)
null,paterno
varchar2
(50)null,materno
varchar2(50)null,direccion
varchar2(50)null,telefono number null,curp
number
null,turno
varchar2
(50)null,
ocupacion
varchar2
(50)null,grado_estudios varchar2 (50)null,constraint pkey_personal primary
key (id_personal));
VISTAS
as
select
"TRATAMIENTOS"."NOMBRE_ENFERMEDAD"
"NOMBRE_ENFERMEDAD",
as
"TRATAMIENTOS"."NOMBRE_DEL_TRATAMIENTO"
"NOMBRE_DEL_TRATAMIENTO",
as
"TRATAMIENTOS"."NOMBRE_PACIENTE" as "NOMBRE_PACIENTE",
"TRATAMIENTOS"."SALA" as "SALA",
"TRATAMIENTOS"."COMENTARIO" as "COMENTARIO"
from "TRATAMIENTOS" "TRATAMIENTOS"
TRIGER
create or replace trigger trigger_pacientes
before insert on test
for each row
declare
n registros number;
ncont
number;
begin
select sum(registros),count(1)
into nregistros, ncont
from test where id_paciente= :new.id_paciente;
nregistros:=nvl(nregistros, :new.registros);
if ncont=0 then
ncont:=1;
end if;
update hospital
set =(nregistros+ :new.)/(ncontegistros+1)
where id_paciente= :new.id_paciente;
end trigger_pacientes;
DOCUMENTO DE PDF
REPORTE DE TRIGGERS
CREAR LAS SIGUIENTES TABLAS CON AL SIGUIENTE ESTRUCTURA
Autores = {
ID: numrico (PK)
Nombre: carcter (50)
Apellidos: carcter (50)
}
Libros = {
ISBN: carcter (10) (PK)
Gnero: carcter (20)
Ttulo: carcter (100)
Pginas: numrico
Precio: numrico
Copyright: numrico (4)
Autor1: numrico (FK autores)
Autor2: numrico (FK autores)
Autor3: numrico (FK autores)
}
Estadisticas = {
Genero: carcter (20)
Total_Libros: numrico
Precio_Medio: numrico
}
TABLA DE AUTORES
TABLA DE ESTADISTICA
create table estadistica(genero varchar2(20),total_libros number,precion_medio
number);
END LOOP;
END ActualizarEstadisticas_FOR;
creacion de la vista
"AUTORES" "AUTORES",
"LIBROS" "LIBROS_1"