A relational database project built using Oracle SQL to manage employees, departments, projects, salaries, and employee-project assignments.
The Employee Management System demonstrates practical SQL concepts through a realistic employee database.
The project focuses on database design, relationships between tables, data retrieval, aggregation, joins, subqueries, window functions, and views.
- Oracle SQL
- Oracle Live SQL
The project contains four main tables:
- DEPARTMENT — Stores department information.
- EMPLOYEE — Stores employee details, salary, job title, hiring date, department and manager relationships.
- PROJECT — Stores project information, budgets and project dates.
- EMPLOYEE_PROJECT — Junction table representing the many-to-many relationship between employees and projects.
- DDL —
CREATE TABLE,ALTER TABLE - Constraints
- Primary Keys
- Foreign Keys
- Unique Constraints
- Check Constraints
- DML —
INSERT SELECTWHEREORDER BY- Table Aliases
- INNER JOIN
- Multiple Table JOINs
- Aggregate Functions
GROUP BYHAVING- Subqueries
- Window Functions
RANK()- Views
SQL-Employee-Management-System/
│
├── 01_tables.sql
├── 02_data.sql
├── 03_basic_queries.sql
├── 04_joins.sql
├── 05_aggregate_queries.sql
├── 06_subqueries.sql
├── 07_window_functions.sql
├── 08_views.sql
└── README.md
This project helped demonstrate how SQL can be used to:
- Design relational database structures
- Establish relationships between tables
- Retrieve related data using JOINs
- Analyze employee salaries using aggregate functions
- Filter grouped data using HAVING
- Use subqueries for comparative analysis
- Rank employees using window functions
- Create reusable database views
Mohammed Shoaib P A
Java Full Stack Developer | Java | SQL | JDBC | Spring Boot