EJERCICIOS MODELADO BBDD - ENUNCIADOS ADMINISTRACIÓN DE FINCAS Una firma de abogados dedicada a la administración de fincas desea tener una base de datos para facilitar la gestión de la información de sus clientes, es decir, de las distintas comunidades de vecinos que administra. La información que debe contener la BD concierne a los aspectos que se describen a continuación: La firma tiene varios abogados y cada uno de ellos ejerce de administrador de una o más comunidades de vecinos, por lo que cobra a cada una de ellas unos honorarios anuales. Una comunidad de vecinos es gestionada por un único administrador (Nombre, DNI, Nº de Colegiado). Las funciones de un administrador, sobre las que en este caso interesa guardar información, consisten en llevar la contabilidad de la comunidad, gestionando los recibos que pagan los vecino mensualmente, así como los pagos a las distintas compañías que proporcionan algún servicio a la comunidad (limpieza, ascensores, seguridad, luz, etc.) De las empresas que tiene contratadas las distintas comunidades de vecinos (por ejemplo Iberdrola, Unión FENOSA, OTIS, ETC) se guarda su nombre, CIF, dirección, teléfono y una persona de contacto. Además, interesa tener estas compañías agrupadas en distintos sectores (luz, seguridad, ascensores, etc.) De cada comunidad de vecinos gestionada por la firma de abogados interesa almacenar un código identificador, su nombre, calle, código postal y población. Cada comunidad consta de una serie de propiedades que pueden ser de tres tipos (vivienda particular, local comercial y oficina). Cada propiedad se caracteriza por un número de portal, planta y letra, un nombre y apellidos del propietario con su dirección completa (que puede ser ésta u otra) y un teléfono de contacto, un porcentaje de participación en los gastos de la comunidad así como los datos de la cuenta bancaria en la que el propietario desea se le domicilie el pago de los recibos. Si el propietario no habita en su propiedad entonces se necesitan sus datos (nombre, apellidos, dirección y teléfono de contacto) así como los del inquilino que la habita (nombre, apellidos, dirección y teléfono de contacto), es caso de que esté habitada la propiedad. Si el propietario habita en la propiedad sólo son necesarios sus datos (nombre, apellidos, dirección y teléfono de contacto). Si la vivienda es particular se guardará el número de habitaciones de que dispone; si es un local comercial se almacenará el tipo de comercio que se desarrollo en él y el horario (en caso de que esté en uso); si es una oficina se guardará la actividad a la que se destina. Cada comunidad de vecinos tiene además un presidente y varios vocales (nombre, apellidos, propiedad de la que son dueños) elegidos entre todos los propietarios, que se encargan de tratar directamente con el administrador los distintos problemas que pudieran surgir. En cuanto a la contabilidad, cada comunidad de vecinos tiene una cuenta en un banco. De los distintos bancos se almacena el código de banco, el nombre y una persona de contacto, mientras que para una cuenta bancaria se guarda un código de cuenta (que consta de un código de sucursal, dos dígitos de control y un número de cuenta) y un saldo. Para identificar una cuenta es necesario añadir al código de cuenta el código del banco en el que se encuentra. Es necesario almacenar dos tipos de apuntes (ingresos y gastos) para la contabilidad ¹ de cada comunidad de vecinos. -
Por un lado, aunque es el banco el que emite los recibos de las cuotas de comunidad a los distintos propietarios, el administrador guarda información sobre dichos recibos que se ingresan en las cuentas bancarias de las comunidades, es decir, el número de recibo, fecha, importe y si se ha podido cobrar o no. Esta última información es importante para realizar a final de cada trimestre una relación de impagados.
BBDD Relacionales - Análisis, Diseño y Optimización
Página 86 de 110
-
En cuanto a los apuntes relativos a los gastos se tienen los importes que cobran las empresas contratadas por cada comunidad de vecinos. Las compañías cobran sus recibos (Número de recibo, fecha e importe) cargándolos en la cuenta de cada comunidad.
GESTIÓN DE HOSPITALES Una compañía aseguradora de tipo sanitario desea diseñar una BD para informatizar parte de su gestión hospitalaria. En una primera fase sólo quiere contemplar los siguientes supuestos semánticos: Los hospitales de su red pueden ser propios o concertados; además de unos datos comunes a todos ellos como son el código de hospital (Cod_H), su nombre (N_H), número de camas (Num_C), etc., cuando el hospital es propio se tienen otro específicos como el presupuesto (P), tipo de servicio (TS), etc. Una póliza, que se identifica por un número de póliza (Cod:P), tiene varios atributos que, en principio, no interesa especificar y que se agrupan bajo el nombre de datos de póliza (Datos_P). Una póliza cubre a varios asegurados, los cuales se identifican por un número correlativo (Num), añadido al código de la póliza, y tienen un nombre (NA), fecha de nacimiento (FN), etc. Los asegurados cubiertos por una misma póliza pueden sere de distintas categorías. Mientras los asegurados de primera categoría (A1C) pueden ser hospitalizados en cualquier hospital, los de segunda categoría (A2C) sólo pueden ser hospitalizados en hospitales propios. Aunque en otras categorías no tiene derecho a hospitalización, en la BD se guardas todos los asegurados sea cual sea su categoría. Interesa saber en qué hospitales han estado (o están) hospitalizados los asegurados, el médico que prescribió las hospitalización, así como las fechas de inicio (FI) y de fin (FF) de la misma. Existen áreas, identificadas por un código (Cod_A) y con datos sobre y superficie (S), número de habitantes (NUM_H), etc. Los hospitales concertados tienen que estar asignado a una única área, que no puede cambiar, mientras que los propios no están asignados a áreas. Los médicos, que se identifican por un código (Cod_M), tiene un nombre (N_M), teléfonos de contacto, etc. Interesa conocer las áreas a la que está adscrito un médico. Existe una dependencia jerárquica entre médicos de forma que un médico tiene un único jefe.
CURSOS DE FORMACION El departamento de formación de una empresa desea construir una base de datos para planificar y gestionar la formación de sus empleados. La empresa organiza cursos internos de formación de los que se desea conocer el código de curso, el nombre, una descripción, el número de horas de formación y el coste del curso. Un curso puede tener como prerrequisito haber realizado otros previamente, y a su vez la realización de un curso puede ser prerrequisito de otros. Un curso que es un prerrequisito de otros puede serlo de forma obligatoria o sólo recomendable. Un mismo curso puede tener diferentes ediciones, es decir, se imparte en diferentes lugares, fechas y con diferentes horarios ( intensivo, de mañana o de tarde ). En una misma fecha de inicio sólo puede impartirse una edición de un curso. Los cursos se imparten por personal de la propia empresa. De los empleados se desea almacenar su código de empleado, nombre y apellidos, dirección, teléfono, NIF, fecha de nacimiento, nacionalidad, sexo, firma y salario, así como se desea saber si está o no capacitado para impartir cursos.
BBDD Relacionales - Análisis, Diseño y Optimización
Página 87 de 110
Un mismo empleado puede ser docente en una edición de un curso y alumno en otra edición, pero nunca puede ser ambas cosas a la vez, es decir, es una misma edición de un curso o lo imparte o lo recibe.
CAMPEONATO DE AJEDREZ El club de ajedrez Villatortas de Arriba, ha sido encargado por la Federación Internacional de Ajedrez de la organización de próximos campeonatos mundiales que se celebraran en la localidad. Por este motivo, desea llevar a cabo uno base de datos con toda la gestión relativa a los participantes, alojamientos y partidas. Teniendo en cuenta que: En el campeonato participan jugadores y árbitros; de ambos se requiere conocer el número de asociado, nombre, dirección, teléfono de contacto, y campeonatos en los que han participado ( tanto como jugadores como árbitros ), de los jugadores además se precisa saber el nivel de juego en una escala de 1 a 10. Ningún árbitro puede participar como jugador. Los paises envían al campeonato un conjunto de jugadores y árbitros, aunque no todos los paises envían participantes. Todo jugador y árbitro es enviado por un único país. Un país puede ser representado por otro país. Cada país se identifica por un número correlativo según su orden alfabético e interesa conocer además de su nombre el número e clubes de ajedrez existentes en el mismo. Cada partida se identifica por un número correlativo, la juegan dos jugadores y la arbitra un árbitro. Interesa registrar las partidas que juegue cada jugador y el color ( blancas o negras ) con el que la juega. Ha de tenerse en cuenta que un árbitro no puede arbitrar a jugadores enviados por el mismo país que le ha enviado a él. Todo participante lo hace al menos en una partida. Tanto jugadores como árbitros se alojan en uno de los hoteles en los que se desarrollan las partidas, se desea conocer en que hotel y en que fechas se ha alojado cada uno de los participantes. Los participantes pueden no permanecer en Villatortas durante todo el campeonato, sino acudir cuando tienen que jugar alguna partida alojándose en el mismo o distinto hotel. De cada hotel se desea conocer el nombre, dirección y número de teléfono. El campeonato se desarrolla a lo largo de una serie de jornadas ( año, mes, día ) y cada partida tiene lugar en una de las jornadas aunque no tengan lugar partidas todas las jornadas. Cada partida se celebra en una de las salas de las que pueden disponer los hoteles, se desea conocer el número de entradas vendidas en la sala para cada partida. De cada sala se desea conocer su capacidad y medios de los que dispone (radio, televisión, video) para facilitar la retransmisión de los encuentros. Una sala puede disponer de varios medios distintos. De cada partida se pretender registrar todos los movimientos que la componen, la identificación del movimiento se establece en base a un número de orden dentro de cada partida: para cada movimiento se guardan la jugada ( 5 posiciones ) y un breve comentario realizado por un experto.
ENERGÍA ELÉCTRICA Se pretende llevar a cabo un control sobre la energía eléctrica que se produce y consume en un determinado país. Se parte de las siguientes hipótesis.
BBDD Relacionales - Análisis, Diseño y Optimización
Página 88 de 110
Existen productores básicos de electricidad que se identifican por un nombre, de los cuales interesa su producción media, producción máxima y fecha de entrada en funcionamiento. Estos productores básicos lo son de una de las siguientes categorías: Hidroeléctrica, Solar, Nuclear o Térmica. De una central hidroeléctrica o presa nos interesa saber su ocupación, capacidad máxima y número de turbinas. De la central solar nos interesa saber la superficie total de paneles solares, la media anual de horas de sol y tipo (fotovoltaica o termodinámica). De la central nuclear, nos interesa saber el número de reactores que posee, el volumen de plutonio consumido y el de residuos nucleares que produce. De una central térmica, nos interesa saber el número de hornos que posee, el volumen de carbón consumido y el volumen de emisión de gases. Por motivos de seguridad nacional interesa controlar el plutonio de que se provee una central nuclear, este control se refiere a la cantidad de plutonio que compra a cada unos de sus posibles suministradores, (nombre y país), y que porta un determinado transportista (nombre y matrícula), ha de tenerse en cuenta que el mismo suministrador puede vender plutonio a distintas centrales nucleares y que cara porte, (un único porte por compra), puede realizarlo un transportista diferente. Cada día, los productores entregan la energía producida a una o barias estaciones primarias, las cuales pueden recibir diariamente una cantidad distinta de energía de cada unos de estos productores. Los productores entregan siempre el total de su producción. Las estaciones se identifican por su nombre y tienen un número de transformadores de baja a altas tensión y son cabecera de una o varias redes de distribución. Una red de distribución se identifica por un número de red y sólo puede tener una estación primario como cabecera. La propiedad de una red puede ser compartida por varias compañías eléctricas, a cada compañía eléctrica se le identifica por su nombre. La energía sobrante en una de las redes puede enviarse a otra red. Se registra el volumen total de energía intercambiada entre dos redes. Una red está compuesta por una serie de líneas, cada línea se identifica por un número secuencial dentro del número de red y tiene una determinada longitud. La menor de las líneas posibles abastecerá al menos a dos subestaciones.
Una subestación es abastecida sólo por una línea y distribuye a una o varias zonas de servicio, a tales efectos, las provincias (código y nombre), se encuentran divididas en tales zonas de servicio, aunque no puede haber zonas de servicio que pertenezcan a más de una provincia. Cada zona de servicio puede ser atendida por más de una subestación. En cada zona de servicio se desea registrar el consumo medio y el número de consumidores finales de cada una de las siguientes categorías. Particulares, empresas e instituciones.
CONFLICTOS BÉLICOS Una organización internacional pretende realizar un seguimiento de los conflictos bélicos que se producen en todo el mundo. Para ello creará una BD que responderá al siguiente análisis. Se entiende por conflicto cualquier lucha armada que afecte a uno o varios países y en el cual se produzcan muertos y/o heridos. Todo conflicto se identificará por un nombre que habitualmente hará referencia a la zona o causa que provoca el conflicto, aunque dado que este nombre puede cambiar con el paso del tiempo, dentro de la BD cada conflicto se identificará mediante un código numérico sin significado alguno. Para cada conflicto se desea recoger los países a que afecta, así como el número de muertos y heridos contabilizados hasta el momento. Los conflictos pueden ser de distintos tipos según la causa que lo ha originado, clasificándose, a lo sumo, en cuatro grupos: territoriales, religiosos, económicos o raciales, en cada unos de estos grupos se recogerán diversos datos. En los conflictos territoriales se recogerán las regiones afectadas, en los
BBDD Relacionales - Análisis, Diseño y Optimización
Página 89 de 110
religiosos las religiones afectadas, en los económicos las materias primas disputadas y en los raciales las etnias enfrentadas. En los conflictos intervienen diversos grupos armador (al menos dos) y diversas organizaciones mediadoras (podría no haber ninguna). Los mismos grupos armados y organizaciones mediadoras pueden intervenir en diferentes conflictos. Tanto los grupos armados comos las organizaciones mediadores podrán entrar y salid de conflicto, en ambos casos se recogerán tanto la fecha de incorporación como la fecha de salida. Temporalmente, tanto un grupo armado como una organización mediadora podrían n o intervenir en conflicto alguno. De cada grupo armado se recoge el código que se le asigna y un nombre. Cada grupo armado dispone de al menos una división es liderado por al menos un líder político. Las divisiones de que dispone un grupo armado se numeran consecutivamente y se registra el número de barcos, tanques, aviones y hombres de que dispone, asimismo se recoge el número de bajas que ha tenido. Para los grupos armados se recoge el número de bajas como sumas de bajas producidas en todas sus divisiones. Los traficantes de armas suministran diferentes tipos de arma a los grupos armados. De cada tipo de armas de recoge un nombre y un indicador de su capacidad destructiva. De cada traficante se recoge un nombre, los diferentes tipos de arma que puede suministrar y cantidad de armas de cada unos de los tipos de armas que podría suministrar. Se mantiene el número total de armas de cada uno de los diferentes tipos de armas suministrado por cada traficante a cada grupo armado. Los líderes políticos se identifican por su nombre y por el código de grupo armado que lideran. Además se recoge una descripción textual de los apoyos que éste posee. Cada división la puede dirigir conjuntamente un máximo de tres jefes militares, aunque cada jefe militar no dirige más de una división. A cada jefe militar se le identifica por un código, además se recoge el rango que éste posee, y dado que un jefe militar no actúa por iniciativa propia sino que siempre obedece las órdenes de un único líder político de entre aquello que lideran al grupo armado al que el jefe pertenece, se registrará el líder político al que obedece. De las organizaciones mediadoras se recogerá un código, su nombre, su tipo (gubernamental, no gubernamental o internacional), la organización de que depende (una como máximo), el número de personas que mantiene desplegadas en cada conflicto y el tipo de ayuda que presta en cada conflicto que será de uno y sólo uno de los tres tipos siguientes, médica, diplomática o presencial. Con diversos fines, los líderes políticos dialogan con las organizaciones; se desea recoger explícitamente esta información. Así para cada líder se recogerán aquellas organizaciones con que dialoga y viceversa.
GESTIÓN DE NÓMINAS Una empresa decide informatizar su nómina. Del resultado del análisis realizado, se obtiene las siguientes informaciones: A cada empleado se le entregan múltiples justificantes de nómina a lo largo de su vida laboral en la empresa y al menos uno mensualmente. A cada empleado se le asigna un número de matrícula en el momento de su incorporación a la empresa, y éste es el número usado a efectos internos de identificación. Además, se registran el NIF del empleado, nombre, número de hijos, porcentaje retenido para Hacienda, datos de cuenta corriente en a que se le ingresa el dinero (banco, sucursal y número de cuenta) y departamentos en los que trabaja. Un empleado puede trabajar en varios departamentos y en cada unos de ellos trabajará con una función distinta. De un departamento se mantiene el nombre u cada una de sus posibles sedes.
BBDD Relacionales - Análisis, Diseño y Optimización
Página 90 de 110
Son datos propios de un justificante de nómina el ingreso total percibido por el empleado y el descuento total aplicado. La distinción entre dos justificantes de nómina se hará, además de mediante el número de matrícula del empleado, mediante el ejercicio fiscal y número de mes al que pertenece y con un número de orden en el caso de varios justificantes de nómina recibidos el mismo mes. Cada justificante de nómina consta de varias líneas (al menos una de ingresos) y cada línea se identifica por un número de línea del correspondiente justificante. Una línea puede corresponder a un ingreso o a un descuento. En ambos casos, se recoge la cantidad correspondiente a la línea (en positivo si se trata de un ingreso o en negativo si se trata de un descuento); en el caso de los descuentos, se recoge la base sobre la cual se aplica y el porcentaje que se aplica para el cálculo de éstos. Toda línea de ingreso de un justificante de nómina responde a un único concepto retributivo. En un mismo justificante, puede haber varias líneas que respondan al mismo concepto retributivo. De los conceptos retributivos se mantiene un código y una descripción. De cara a la contabilidad de la empresa, cada línea de un justificante de nómina se imputa al menos a un elemento de coste. Al mismo elemento de coste pueden imputársele varias líneas. Para cada elemento de coste, se recoge un código, una descripción y un saldo. Entre los elementos de coste se establece una jerarquía, en el sentido de que un elemento de coste puede contener a otros elementos de coste, pero un elemento de coste sólo puede estar contenido en, a lo sumo, otro elemento de coste.
En determinadas fechas, que se deben recoger, cada elemento de coste se liquida con cargo a varios apuntes contables (código y cantidad) y a una o varias transferencias bancarias, de las que se recogen los datos de la cuenta corriente (banco, sucursal y número de cuenta) y la cantidad. Por cada apunte contable y transferencia bancaria se pueden liquidar varios elementos de coste.
ENTORNO DE EJECUCIÓN Una empresa decide crear un único entorno de ejecución que controle la seguridad de acceso para todas sus aplicaciones informáticas. Para ello considera conveniente dividir sus aplicaciones en subsistemas funcionales especializados y establecer el control de acceso al nivel de estos subsistemas. Se desarrollará un motor de ejecución que, tomando como parámetro los contenidos de la BD, controlará la ejecución de los subsistemas y el acceso a los mismos. Este motor se hará cargo también de la navegación dentro de los subsistemas. Profundizando en este enfoque, se establecen los siguientes requisitos. La unidad básica de acceso a los subsistemas es el denominado perfil de acceso. Un usuario tendrá acceso a todos los subsistemas a los que permiten acceder los distintos perfiles de que disfruta (al menos uno). Un perfil permite el acceso de al menos un subsistema y para cualquier subsistema habrá siempre un perfil que permita acceder al mismo. De cada usuario de mantiene el DNI, nombre, teléfono y terminales en que trabaja. De los perfiles de acceso, lo mismo que los subsistemas, se mantiene un código y una descripción. De los subsistemas, se mantiene además, la ventana en la que arranca. Las ventanas están compuestas por controles: toda ventana tendrá un control que permita cerrarla. Todo control ha de emplearse en alguna ventana y el mismo control puede emplearse en distinta ventanas. De las ventanas y controles se mantiene también un código y una descripción. Los controles pueden ser de dos tipos: botones o ítems de menú. Para soportar la estructura jerárquica de menús, de un ítem de menú pueden depender otros ítems, pero no puede darse la situación de que el mismo ítem dependa de varios ítems. En los ítems de menú se ha de mantener forzosamente el
BBDD Relacionales - Análisis, Diseño y Optimización
Página 91 de 110
texto que se visualizará en pantalla. De los controles de tipo botón se mantiene el nombre del icono que opcionalmente se visualizará. La activación de un control tiene como consecuencia la ejecución de una única acción (todo control ejecutará una acción al menos). Una acción requiere siempre un control que pueda ejecutarla. De las acciones se mantiene el código y la descripción. Las acciones pueden ser de dos tipos, de función y de llamada. Las acciones de función ejecutan una función interna del propio entorno (de la que se ha de guardar el nombre). Las acciones de llamada invocan una única ventana.
BBDD Relacionales - Análisis, Diseño y Optimización
Página 92 de 110
EJERC. MODELADO - PROPUESTAS SOLUCION E/R
ADMINISTRACION DE FINCAS
BBDD Relacionales - Análisis, Diseño y Optimización
Página 93 de 110
GESTIÓN DE HOSPITALES
BBDD Relacionales - Análisis, Diseño y Optimización
Página 94 de 110
CURSOS DE FORMACION
BBDD Relacionales - Análisis, Diseño y Optimización
Página 95 de 110
CAMPEONATO DE AJEDREZ
BBDD Relacionales - Análisis, Diseño y Optimización
Página 96 de 110
ENERGIA ELECTRICA
BBDD Relacionales - Análisis, Diseño y Optimización
Página 97 de 110
CONFLICTOS BELICOS
BBDD Relacionales - Análisis, Diseño y Optimización
Página 98 de 110
GESTION DE NOMINAS
BBDD Relacionales - Análisis, Diseño y Optimización
Página 99 de 110
ENTORNO DE EJECUCION
BBDD Relacionales - Análisis, Diseño y Optimización
Página 100 de 110