Está en la página 1de 6

Gestin de Base de Datos

92

1.

PROBLEMA 1: BDD SOCIEDADES MDICAS

1.1.

Enunciado

Una de las sociedades mdicas ms importantes del pas, con oficina central en Madrid, dispone de tres
grandes centros mdicos en esta misma ciudad. En cada uno de ellos se atienden determinadas
especialidades mdicas por el personal contratado por dicha sociedad, de manera que una especialidad
puede darse en un centro o en varios y todos los centros tienen al menos una especialidad.
En la actualidad tienen una base de datos relacional centralizada, a la cual acceden todos los centros, con
el esquema de la pgina siguiente.
Realice el diseo de los esquemas de fragmentacin y asignacin de una Base de Datos Distribuida para
conseguir la mayor autonoma local, tanto en los centros mdicos como en la sede central, sabiendo que las
operaciones realizadas en cada uno de ellos son:
En la sede central (Cd-Centro = 01) se elaboran las nminas del personal contratado por la Sociedad
Mdica y de aqu se envan a los Centros para que sean repartidas a los trabajadores.
Cada Centro mdico (Cd-Centro = {02, 03, O4}) debe tener la relacin de personal sanitario que trabaja en
el mismo, as como el horario de la consulta y la especialidad que desarrolla.

CENTRO ( Cd-Centro , Nombre-Centro , Direccin , Telfono )


BR:MC
PERSONAL ( Cd-Empleado , Nombre,Direccin,Salario,IRPF,Fecha-Contrato,Cod-Centro )
BC:MC
PERSONAL-SANITARIO ( Cod-Empleado , Funcion , Aos-Experiencia)
ESPECIALIDAD ( Cd-Especialidad , Nombre-Especialidad , Descripcin )

BC:MC

BR:MC

BC:MC

CONSULTA ( Cd-Centro , Cod-Emp , Cod-Esp , Dia-semana , Hora )


Figura 24. Esquema relacional correspondiente a una BD centralizada de Sociedades Mdicas
1.2.

Discusin del enunciado

Esquema de fragmentacin
"En la sede central (Cd-Centro = 01) se elaboran las nminas del personal contratado por la Sociedad
Mdica y de aqu se envan a los Centros para que sean repartidas a los trabajadores".
Suponiendo que la informacin necesaria para realizar las nminas son los atributos "Salario", "IRPF" y
"Fecha-Contrato" se realizar una fragmentacin vertical de la relacin PERSONAL para separar esta
informacin y posteriormente poder asignada a la sede central. Las relaciones resultantes contendrn en
cualquier caso la clave primaria de la relacin de la que proceden.
INF-PERSONAL:

Cod_Empleado, Nombre, Direccin, Cod_Centro (PERSONAL)

NMINA_PERSONAL: Cd_Empleado, Salario, IRPF, Fecha_Contrato (PERSONAL)


El fragmento INF_PERSONAL nos interesar que se fragmente de nuevo para tener en cada centro la
informacin del personal que est a su cargo. Para ello tendremos que aplicar una fragmentacin horizontal:

Henry George Maquera Quispe

Gestin de Base de Datos

PERSONAL_i:

93

Cod_Centros=i (lNF_PERSONAL) donde i = {01,02,03, 04}.

Cada Centro mdico (Cod-Centro = {02, 03, 04} ) debe tener la relacin de personal sanitario que trabaja
en el mismo, as como el horario de la consulta y la especialidad que desarrolla...
Para tener la relacin del personal sanitario en cada sede debemos partir de la tabla
PERSONAL_SANITARIO y mediante los fragmentos PERSONAL_i realizar la fragmentacin horizontal
derivada.
PERSONAL_SANITARIO_i:
PERSONAL_SANITARIO cod-Empleado PERSONAL_i donde i = {01, 02, 03, 04}
Hay que destacar que aunque en la sede central no haya personal sanitario, se ha considerado que para
mayor completitud en la fragmentacin mantendremos este fragmento vaco.
Como adems se quiere la informacin acerca de las consultas de cada centro, cul es su horario y qu
especialidad se trata se tendr que fragmentar la relacin CONSULTAS verticalmente.
CONSULTAS_i: Cod_centros = i (CONSULTAS) donde i = {01, 02, 03, 04}
Una vez aplicada esta fragmentacin slo nos falta obtener las especialidades desarrolladas en cada una
de las sedes de la sociedad mdicas para ello fragmentaremos la tabla ESPECIALIDADES mediante un
fragmentacin horizontal derivada.
ESPECIALIDAD_i: ESPECIALIDADES Cod_Esp=Cod_Especialidad CONSULTAS_i Donde i = {01, 02, 03, 04}
Esquema de asignacin:
La asignacin se especificar en una tabla indicando en la primera fila las sedes o nadas de la red que
forma parte del sistema distribuido y en la primera columna la tabla base de la que se ha obtenido un
determinado fragmento. Debemos aclarar que como la relacin CENTRO es poco dinmica, es decir, no
sufre apenas actualizaciones, se duplicar por todas los centros.

Centro 01

Centro 02

Centro 03

Centro 04

CENTROS

CENTROS

CENTROS

CENTROS

CENTROS

PERSONAL

NMINA
PERSONAL

INF_PERSONAL

PERSONAL_01

PERSONAL_02

PERSONAL_03

PERSONAL_04

PERSONAL_
SANITARIO

PERSONAL_
SANITARIO_01

PERSONAL_
SANITARIO_02

PERSONAL_
SANITARIO_03

PERSONAL_
SANITARIO_04

CONSULTAS

CONSULTAS_01

CONSULTAS_02

CONSULTAS_03

CONSULTAS_04

ESPECIALIDADES ESPECIALIDAD_01 ESPECIALIDAD_02 ESPECIALIDAD_03 ESPECIALIDAD_04


2.

PROBLEMA 2: BDD SERVICIOS INFORMATICOS

2.1.

Enunciado

La empresa de servicios informticos INFOSYSTEM est ubicada en cuatro edificios cuyos cdigos de
identificacin son '00', '01', '02' y '03', conectados entre s por una red. En cada uno de ellos se encuentra
Henry George Maquera Quispe

Gestin de Base de Datos

94

una o varias unidades de desarrollo, por ejemplo, en el edificio cuyo cdigo es '00' se halla la unidad de
Recursos Humanos.
Los empleados de la empresa y los proyectos que se realizan en sta, estn asignados a una sola unidad
de desarrollo, aunque un empleado puede trabajar en un proyecto que no pertenezca a su unidad.
Los proyectos se realizan para una determinada empresa de la cual nos interesa saber el nombre y el
telfono para que dicha informacin este disponible en cada uno de los edificios donde se desarrollan
proyectos para estas empresas, y los dems datos se los quedar Recursos Humanos para tramitar las
facturas correspondientes.
Pueden existir proyectos internos de los cuales no se tramita factura. por lo que no es necesario que
Recursos Humanos posea informacin de ellos. Estos proyectos tienen como cdigo de empresa cliente el
'00000'.
Suponiendo que el esquema de la base de datos relacional es el de la figura 25:

EDIFICIO ( Cod-Edificio , Nombre , Direccin , Telfono-Central)

BR:MC

UNIDAD ( Cod-Unidad , Nombre , Area-Desarrollo , Responsable , Cod-Edificio )


BR:MC

BR:MC

EMPLEADO ( Cod-Empleado , Nombre , Apellidos , Direccion , Cod-Unidad )


BC:MC
REALIZA_PROYECTO ( Cod-Empleado , Cod-Proyecto , Horas_Computadas )
BC:MC
BR:MC
PROYECTO ( Cod-Proyecto , Nombre,Presupuesto,Cod-Empresa,Jefe-Proyecto,Cod-Unidad )
BR:MC
BR:MC
EMPRESA_CLlENTE ( Cod-Empresa , Nombre, Direccin, Apartado-Correo)

Figura 25. Esquema relacional correspondiente a una BD centralizada para la gestin de una empresa de
Servicios lnformticos.
1) Disear los esquemas de fragmentacin y asignacin de la Base de Datos Distribuida. Tener en cuenta
que cada unidad de desarrollo gestiona las nminas de sus empleados y necesita la informacin de los
proyectos en los que trabaja para poder pagarles conforme a las horas que han computado en cada uno
de ellos.
2) Conforme al diseo realizado en el apartado anterior, modificar si se cree necesario los esquemas de
fragmentacin y de asignacin para conseguir que la siguiente consulta se realice de manera local:
"cdigo de los proyectos que desarrollan las unidades de un determinado edificio":
2.2.

Discusin del enunciado

APARTADO 1
Esquema de fragmentacin:
La empresa de servicios informticos INFOSYSTEM est ubicada en cuatro edificios cuyos cdigos
de identificacin son '00', '01', '02' y '03', conectados entre s por una red. En cada uno de ellos se
encuentra una o varias unidades de desarrollo, por ejemplo, en el edificio cuyo cdigo es '00' se halla
la unidad de Recursos Humanos.

Henry George Maquera Quispe

Gestin de Base de Datos

95

Los empleados de la empresa y los proyectos que se realizan en sta, estn asignados a una sola
unidad de desarrollo, aunque un empleado puede trabajar en un proyecto que no pertenezca a su
unidad.
Como se puede observar en el esquema relaciona}, en un edificio existe una o varias unidades de
desarrollo, pero una determinada unidad slo se encuentra en un edificio en concreto. Por tanto, nos
interesara tener en cada uno de los edificios tanto el personal como los proyectos que se llevan a cabo en
l.
La relacin UNIDAD la fragmentamos horizontalmente para saber las unidades asignadas a cada edificio.
UNIDAD_i:

cod-Edificio=i (UNIDAD) donde i = 0..3

Para saber los empleados designados a las distintas unidades realizamos una fragmentacin horizontal
derivada.
EMPLEADO_i: EMPLEADO cod-Unidad UNIDAD_i

donde i = {00, 01, 02, 03}

De igual forma. obtenemos los fragmentos con los proyectos que se desarrollan en cada unidad.
PROYECTO_i: PROYECTO cod-Unidad UNIDAD_i

donde i = {00, 01, 02, 03}

Los proyectos se realizan para una determinada empresa de la cual nos interesa saber el nombre y
el telfono para que dicha informacin este disponible en cada uno de los edificios donde se
desarrollan proyectos para estas empresas. y los dems datos se los quedar Recursos Humanos
para tramitar las facturas correspondientes.
Para que Recursos Humanos tenga la informacin necesaria de la empresa cliente fragmentamos
verticalmente la tabla EMPRESA_CLIENTE.
INF_EMPRESA:

Cd-Empresa, Nombre (EMPRESA_CLIENTE)

FACT_EMPRESA:

Cod-Empresa, Direccin, Apartado-Correo ( EMPRESA- CLI ENTE)


Los proyectos internos que tienen como Cod_Empresa = '00000' no se mandan a facturar, pero esta
informacin es muy pequea (una tupla) y podemos dejarla en la tabla FACT_EMPRESA y en
INF_EMPRESA.
La informacin de las empresas que participan en proyectos asociados a cada una de las unidades se
obtiene:
INF_EMPRESA_i: INF_EMPRESA

cod-Empresa PROYECTO_i

donde i = {00, 01, 02, 03}

Tener en cuenta que cada unidad de desarrollo gestiona las nominas de sus empleados y necesita la
informacin de los proyectos en los que trabaja para poder pagarles conforme a las horas que han
computado en cada uno de ellos.
Para que cada edificio tenga el cdigo de los proyectos en los que trabaja el personal de las distintas
unidades asignadas a ste realizamos la siguiente fragmentacin horizontal derivada.
REALIZA_PROYECTO_i: REALIZA_PROYECTO
Esquema de asignacin:

Henry George Maquera Quispe

cod-Proyecto PROYECTO_i donde i = {00, 01, 02, 03}

Gestin de Base de Datos

96

A continuacin presentamos una tabla con la asignacin de cada uno de los fragmentos obtenidos en el
apartado anterior. La relacin EDIFICIO, que aparece en el esquema relacional, es una relacin que
suponemos esttica, es decir, en ella no se van a realizar operaciones de actualizacin solo de consulta, por
lo que decidimos duplicarla en cada uno de las sedes.

Edf.00
UNIDAD

UNIDAD_00

Edf.01
UNIDAD_01

Edf.02
UNIDAD_02

Edf.03
UNIDAD_03

EMPLEADO

EMPLEADO_00

EMPLEADO_01

EMPLEADO_02

EMPLEADO_03

PROYECTO

PROYECTO_00

PROYECTO_01

PROYECTO_02

PROYECTO_03

EMPRESA_
CLIENTE

FACT_EMPRESA

INF_EMPRESA

INF_EMPRESA_00 INF_EMPRESA_01 INF_EMPRESA_02 INF_EMPRESA_03

REALIZA_
PROYECTO

REALIZA_
PROYECTO_00

REALIZA_
PROYECTO_01

REALIZA_
PROYECTO_02

REALIZA_
PROYECTO_03

EDIFICIO

EDIFICIO

EDIFICIO

EDIFICIO

EDIFICIO

APARTADO 2
Esquema de fragmentacin:
Para poder mantener el esquema de fragmentacin anterior y adems poder dar la informacin referente al
cdigo de los empleados que trabajan en los proyectos desarrollados por las unidades asignadas a los
distintos edificios, realizaremos la siguiente fragmentacin horizontal derivada.

EMP_i : REALIZA_PROYECTO_i

cod-Emp EMPLEADO_j

donde i, j = {00, 01, 02, 03 }

Por ejemplo, la informacin que contiene el fragmento EMP_00_01 sera los empleados asignados al
edificio 01 que participan en los proyectos llevados a cabo por las unidades asociadas al edificio 00.
Esquema de asignacin:
La tabla descriptora de la asignacin de los fragmentos contendr los nuevos fragmentos hallados en el
esquema de fragmentacin anterior y que se asignarn de la forma siguiente:
En el EDIFICIO K: EMP_K_J donde j, K = {00, 01, 02, 03} que sern los empleados de todos los edificios
que trabajan en proyectos del edificio K. Y adems, EMP_i_K donde i = {00, 01, 02, 03} - {K} y K = {00, 01,
02, 03} que sern los empleados del edificio K que trabajan en proyectos de otros edificios. En este caso el
ndice i no recorre todos los nmeros de edificio para no repetir el fragmento EMP_K_K.

Edf.00

Edf.01

Edf.02

Edf.03

UNIDAD

UNIDAD_00

UNIDAD_01

UNIDAD_02

UNIDAD_03

EMPLEADO

EMPLEADO_00

EMPLEADO_01

EMPLEADO_02

EMPLEADO_03

PROYECTO

PROYECTO_00

PROYECTO_01

PROYECTO_02

PROYECTO_03

EMPRESA_
CLIENTE

FACT_EMPRESA

Henry George Maquera Quispe

Gestin de Base de Datos

97

INF_EMPRESA

INF_EMPRESA_00 INF_EMPRESA_01 INF_EMPRESA_02 INF_EMPRESA_03

REALIZA_
PROYECTO_00

EMP_00_00
EMP_00_01
EMP_00_02
EMP_00_03

EMP_00_01

EMP_00_02

EMP_00_03

EMP_01_00

EMP_01_00
EMP_01_01
EMP_01_02
EMP_01_03

EMP_01_02

EMP_01_03

EMP_02_01

EMP_02_00
EMP_02_01
EMP_02_02
EMP_02_03

EMP_02_03

REALIZA_
PROYECTO_01

REALIZA_
PROYECTO_02

EMP_02_00

REALIZA_
PROYECTO_03

EMP_03_00

EMP_03_01

EMP_03_02

EMP_03_00
EMP_03_01
EMP_03_02
EMP_03_03

EDIFICIO

EDIFICIO

EDIFICIO

EDIFICIO

EDIFICIO

Tendramos duplicacin en algunos de los fragmentos pero conseguiramos que la consulta se realizara de
manera local.

Henry George Maquera Quispe