Goal: Database Implementation & Java Console Interface
This project simulates a real-world house renting system using MySQL and Java. It was developed for the Intro to Programming and Databases module at CCT College Dublin and demonstrates database normalization, SQL query execution, and a Java-based console interface for user interaction.
- Java (JDK 17+)
- MySQL (Workbench + JDBC)
- Git & GitHub
- ERD Tools (Chen & Crow’s Foot Notation)
- Normalized to 3NF based on unnormalized data
- ERDs in both CHEN and Crow’s Foot notation
- DDL scripts to create tables and enforce referential integrity
- DML scripts to insert dummy data:
- 15+ clients
- 10+ owners
- Properties with rent details and valid dates
Includes:
- Clients and their properties
- Properties rented by clients with names starting with ‘D’
- Rent duration filters
- Monthly and annual rent calculations
- Triggers for rent updates
- Aggregate queries for owners and properties
Screenshots of query outputs are available in /sql/screenshots
.
- Connects to MySQL database via JDBC
- Menu-driven system with options to run SQL queries
- Validates user input (text, numbers, ranges)
- Displays results in a clean, readable format
- Handles errors gracefully (e.g., connection issues, invalid input)
Example menu: **** MENU SYSTEM ****
- List properties by client name
- Find clients renting between two dates
- Calculate total monthly rent
- Find owners with multiple properties
- Quit
Author Maria Martinez (Esperanza) Finance transitioning into tech Higher Diploma in Computing – CCT College Dublin