Contexto:
Una empresa de administración de propiedades desea crear una base de datos para gestionar sus propiedades y los contratos de alquiler asociados a cada propiedad. Los inquilinos alquilan propiedades bajo un contrato específico, y cada contrato tiene condiciones y pagos periódicos. Además, la empresa desea registrar los pagos realizados por cada inquilino bajo un contrato específico.
Requerimientos:
Propiedades
- Cada propiedad tiene un número de identificación único (
ID_propiedad), dirección, tipo (departamento, casa, oficina) (el tipo se modela como un texto simple), y el costo_mensual de alquiler.
- Una propiedad puede estar alquilada bajo varios contratos a lo largo del tiempo, pero solo puede tener un contrato activo en un momento dado.
Inquilinos
- Cada inquilino tiene un número de identificación único (
ID_inquilino), nombre, teléfono (guardamo 1 solo teléfono).
- Un inquilino puede firmar varios contratos de alquiler a lo largo del tiempo, pero solo puede tener un contrato activo por propiedad.
Contratos_Alquiler
- Los contratos de alquiler están asociados a una propiedad, a un inquilino y a los pagos.
- Cada contrato tiene un número de contrato único (
num_contrato) dentro del contexto de la propiedad.
- Se deben almacenar la
fecha_inicio, fecha_finalización, el importe_mensual_acordado, y las condiciones del contrato.
- Contratos_Alquiler será una entidad asociativa.
Pagos
- Cada pago está asociado a un contrato específico.
- Cada pago tiene un número secuencial (
num_pago) dentro del contexto del contrato (clave compuesta por ID_propiedad, num_contrato y num_pago).
- Se debe registrar la
fecha_pago, el importe_pagado y el método_pago (transferencia, efectivo, tarjeta) (el método_pago se modela como un texto simple).
- Los pagos dependen del contrato de alquiler al que pertenecen y no pueden existir sin él.