Employee Management System – DBMS assignment
Database Tables:
1. Employees: Stores information about employees, including employee ID, name, email,
department ID, role ID, and salary.
2. Departments: Contains details about different departments in the company, such as department
ID and name.
3. Roles: Defines various roles within the organization, including role ID, title, and description.
4. Salaries: Records historical salary information for employees, including employee ID, salary
amount, effective date, and end date (if applicable).
Tasks:
1. Table Creation:
Write SQL statements to create the Employees, Departments, Roles, and Salaries tables
with appropriate columns and constraints.
2. Data Population:
Populate the Employees table with sample data including employee names, email
addresses, department IDs, role IDs, and salary information.
Populate the Departments table with sample department names.
Populate the Roles table with sample role titles and descriptions.
Populate the Salaries table with historical salary information for employees.
3. SQL Queries:
Retrieve a list of all employees along with their department names and roles.
Search for employees by name or email address.
Retrieve information about a specific employee including their department, role, and
salary history.
Add a new employee to the database and update related tables as necessary.
Update the details of an existing employee, such as their department, role, or salary.
Delete an employee from the database and handle cascading deletions if necessary.
Retrieve a list of all departments along with the total number of employees in each
department.
Retrieve a list of all roles along with the total salary expenses for each role.
Calculate average salary, highest salary, and lowest salary for employees in each
department.
4. Data Integrity and Transaction Management:
Implement foreign key constraints to ensure referential integrity between tables.
Implement appropriate check constraints to enforce data validation rules.
Implement transactions to ensure atomicity and data consistency for operations that
involve multiple database changes.
Submission Guidelines:
Submit your assignment as a SQL script file containing all SQL statements used to create tables,
populate data, and execute queries.
Include a README file with instructions on how to set up and use your database management
system.