Real Estate Property Management Database Design
Real Estate Property Management Database Design
Real Estate Property Management Database Design
Scenario
A real estate company manages various properties for rental. Each property has specific details like
location, type, and rental price. Properties are leased to tenants, who have information like name,
contact details, and lease details. The company records payments from tenants, manages
maintenance tasks for each property, and tracks the status of each lease.
Requirements
1. Property Management:
- Store details for each property (Property ID, Address, Type, Rent Amount, and Status).
- Track which properties are currently leased and which are available.
2. Tenant Management:
- Maintain tenant information (Tenant ID, Name, Contact Number, and Address).
- Link tenants to the properties they lease, with start and end dates for each lease.
3. Lease Management:
- Store lease information, including the lease ID, property ID, tenant ID, lease start date, and lease
end date.
4. Payment Management:
- Record payments made by tenants with details like amount, date, and lease ID.
- Track maintenance requests and tasks with property ID, task description, and status.
3. Lease: Lease_ID (PK), Property_ID (FK), Tenant_ID (FK), Start_Date, End_Date, Status.
1. Property to Lease: A property can have multiple leases over time (1-to-many).
2. Tenant to Lease: A tenant can have multiple leases over time, but each lease is linked to one
tenant (1-to-many).
Specialization: For the Property entity, specialization can be applied to differentiate property types
Generalization: A Person entity could generalize both tenants and property owners if needed.
);
Contact_Number VARCHAR(15),
Address TEXT
);
Property_ID INT,
Tenant_ID INT,
);
CREATE TABLE Payment (
Lease_ID INT,
);
Property_ID INT,
);