Ejercicio Obligatorio EER

La Inmobiliaria

La agencia inmobiliaria MACASA nos ha solicitado que diseñemos una base de datos para almacenar la información que necesitan. Nos han dado los siguientes requisitos:

Requisitos

  1. La inmobiliaria maneja varias ciudades (de las cuales guarda el código postal y el nombre, y se identificarán con un código interno). En una ciudad puede haber muchas zonas, las cuales se identifican con el código de la ciudad más el número de zona de la ciudad. Además, de cada zona se podrá guardar un nombre y las zonas con las que limita. Y siempre se guardará, de cada calle: código, nombre y zona (y unas observaciones, pero no obligatorias).

  2. Cuando llega un cliente, se le piden sus datos obligatorios: nombre y teléfono. Opcionalmente, también se podrá guardar su DNI. Automáticamente se le asignará un código de cliente y se le preguntará si busca un inmueble (cliente buscador) o si ofrece algún inmueble (cliente propietario) para alquilar o vender.

  3. Si el cliente es un propietario, se dará de alta el inmueble o inmuebles que quiere tratar, asignándoles un código a cada uno. No se podrá dar de alta un inmueble si no se conoce al propietario. Se le preguntará al propietario la siguiente información para cada uno de sus inmuebles:

    • Domicilio: nombre de la calle, número, piso, puerta, ciudad. El programa permitirá buscar esa calle entre las que tiene guardadas en la base de datos para asignar al inmueble una de esas calles.
    • Tipo de inmueble (imprescindible): casa, piso, chalet, adosado, comercio, nave, solar, huerto, arrozal o cualquier otro tipo. Necesitaremos un archivo con los posibles tipos de inmuebles, donde guardaremos el código y el nombre de cada uno de ellos.
    • Las prestaciones (que están catalogadas con un código y un nombre) y en qué cantidad. Por ejemplo, se debe saber cuántas habitaciones tiene, cuántos baños, cocheras, cuántos m2, etc.
    • Los años de antigüedad y un apartado de observaciones donde se podrán anotar otras características (exterior, soleado, estado de conservación, etc.).
    • También se debe saber si el inmueble es para vender y/o alquilar:
      • Si es para vender, se debe saber obligatoriamente el precio al que lo quiere vender y si es negociable o no. El propietario podrá cambiar el precio de venta cuando lo desee, pero siempre debe constar el precio inicial y el último precio solicitado.
      • Si es para alquilar, se debe saber el precio mensual, el importe de la fianza, si se pueden hacer reformas o no, y opcionalmente, el tiempo mínimo y máximo de alquiler expresado en meses.
  4. Si el cliente es un buscador (busca un inmueble para comprar o alquilar), se creará una ficha con su necesidad. Un cliente podrá tener tantas fichas de necesidades como inmuebles desee. Por ejemplo, si un cliente quiere comprar 2 pisos para 2 hijos y, además, quiere alquilar uno para el verano, ese cliente tendrá 3 necesidades. Las necesidades se identificarán con el código del cliente más un número secuencial. Para cada necesidad se debe saber la siguiente información:

    • Las zonas por las que desea buscar el inmueble.
    • El tipo de inmueble (casa, piso, chalet, etc.).
    • Las prestaciones necesarias (2 baños, 3 habitaciones, 200 m² mínimo, 1 ascensor, etc.).
    • Un apartado de observaciones donde se podrán poner otros deseos (1 piso por planta, con ascensor, etc.).
    • Si es para comprar o alquilar (nunca podrá ser ambas cosas al mismo tiempo).
      • Si es para comprar, se preguntará al cliente el precio máximo que está dispuesto a pagar.
      • Si es para alquilar, se preguntará si desea hacer reformas o no y la cantidad aproximada de meses que lo quiere alquilar.
  5. La empresa dispone de agentes cuya información debe ser almacenada. Se debe guardar obligatoriamente su nombre, móvil y salario, además de un número de agente que los identifica en la inmobiliaria.

  6. Cada vez que se muestra un inmueble a un cliente buscador, se anotará en la base de datos la información de la visita: el agente, el cliente buscador, el inmueble visitado, la fecha y, opcionalmente, unas observaciones sobre cómo ha ido la visita. Es importante tener en cuenta que un buscador puede visitar el mismo inmueble muchas veces, con el mismo agente o no.

  7. Con el tiempo, un buscador puede hacer ofertas por un inmueble. Todas las ofertas deben quedar registradas, anotando obligatoriamente la fecha y el importe de cada oferta.

  8. Cuando se acuerda un alquiler, se debe anotar el inmueble que se alquila y a qué necesidad de alquiler corresponde, la fecha inicial y final del alquiler (como mínimo se podrá alquilar durante 30 días), el importe mensual a pagar y el importe de la fianza (que podrá ser diferente al establecido). La única información que podría dejarse sin rellenar es la fecha final. Es importante recordar que un inmueble solo puede ser alquilado (o vendido) una vez. Si se desea alquilar (o vender) nuevamente, se deberá dar de alta con un código de inmueble diferente.

  9. Cuando se realiza una compra/venta, se debe indicar el inmueble que se vende y a qué necesidad de compra corresponde, además de la fecha, el importe a pagar y el importe de la señal que debe adelantarse. El sistema debe asegurarse de que un cliente no pueda comprar (o alquilar) su propio inmueble.

  10. Dado que la inmobiliaria también actúa como gestoría, tiene registrada la información de los bancos con los que trabaja: código, nombre (no puede ser nulo), teléfono y nombre de la persona de contacto. En cada operación de compra/venta se podrá asignar uno de esos bancos para gestionar la hipoteca. En ese caso, se podrá registrar el porcentaje de interés y el número de años para pagarla.

Tareas

  • Diseñar un diagrama EER que recoja toda la información que debe ser almacenada. Usa la disposición de las entidades adjunta en la siguiente página (esto facilitará la corrección).
  • Si existe alguna especialización, justifica brevemente el motivo y los dos tipos. Y si existe alguna relación ternaria, explica brevemente por qué se ha decidido como se ha hecho cada una de las tres conectividades.
  • Incluir en un apartado de Suposiciones aquellos aspectos que has tenido que incluir en el esquema EER sobre los que no se mencionaba nada en los requisitos del problema.
  • Incluir en un apartado de Otras restricciones de integridad aquellos requisitos del problema que no han podido ser captados en el esquema EER.

Plantilla para la solución

Plantilla para el ejercicio

Para la solución del ejercicio puedes usar la siguiente plantilla: Plantilla para el ejercicio

Solución:

Pendiente de publicar.