Database Management System Project Proposal
Database Management System Project Proposal
1. Entities:
Strong Entities:
o Employee, Department, BusStation, BusRoute, Counter, Shift, Vehicle, Bus.
Weak Entities:
o EmployeeShift, Attendance, Leave, Complaint.
2. Relationships:
One-to-One:
o One BusRoute can have one assigned Bus at a time.
o One Department can have one Manager (an Employee).
One-to-Many:
o One Department has many Employees.
o One BusRoute has many Counters.
o One BusStation serves many BusRoutes.
o One Employee can have many Leave records.
Many-to-Many:
o Employee and Shift (via EmployeeShift entity) – Many employees can work
multiple shifts, and multiple shifts can have many employees.
o Employee and BusRoute (via an assignment system) – Employees (like drivers
or conductors) can be assigned to multiple routes, and one route can have multiple
employees working on it.
3. Generalization/Specialization:
Vehicle (general entity) is specialized into Bus and can be further specialized into sub-
types of buses (e.g., standard bus, luxury bus).
4. Role:
Manager Role in the Department entity: A manager is an employee who has additional
responsibilities to oversee a department.
5. Ternary Relationship:
For scheduling, a ternary relationship among Employee, Shift, and BusRoute – defining
which employees are working on which route during a given shift.
6. Composite Attributes:
Employee: Composite attribute ContactInfo could include multiple phone numbers and
email addresses.
BusStation: Composite attribute Address (Street, City, ZipCode).
7. Multivalued Attributes:
Employee: ContactInfo could have multiple phone numbers and email addresses.
8. Derived Attributes:
Employee: Derived attribute tenure could be calculated from the joining date.
Leave: Derived attribute remaining leave days based on the leave policy and past leaves
taken.
9. Weak Entities:
EmployeeShift: Weak entity that depends on both Employee and Shift.
Attendance: Weak entity that records the attendance status of an employee on a specific
date.
Implementation Scope
1. Primary Key, Foreign Key, Cascade, and Constraints:
Primary Keys:
o Each entity will have a unique identifier, e.g., EmployeeID for Employee,
DepartmentID for Department.
Foreign Keys:
o EmployeeShift will have foreign keys for both Employee and Shift.
o Bus will have a foreign key to BusRoute.
Cascade:
o Use cascade delete/update when an employee is removed, their shifts and
attendance records could be automatically updated/deleted.
Constraints:
o Salary constraints for employees (e.g., salary should be a positive value).
o Date constraints for leave and shift timings (e.g., an employee cannot work more
than one shift at the same time).
2. Two Functions and Two Procedures:
Functions:
1. Calculate Employee Tenure: A function to calculate how long an employee has
been working based on the joining date.
2. Available Leave Days: A function that calculates remaining leave days for an
employee.
Procedures:
1. Assign Employee to Shift: A procedure to assign an employee to a shift and
ensure they are not double-booked.
2. Process Leave Request: A procedure to handle leave applications, check leave
balance, and update the status (approved/rejected).
3. CRUD Operations:
We are planning to implement Create, Read, Update, and Delete (CRUD) operations on at least
three relations. For example:
1. Employee Management:
o Create: Add a new employee.
o Read: View details of an employee, including assigned shifts and routes.
o Update: Update an employee’s designation, salary, etc.
o Delete: Remove an employee, cascading deletes to related tables (e.g., shifts,
attendance).
2. Shift Management:
o Create: Assign an employee to a new shift.
o Read: View all shifts an employee is assigned to.
o Update: Change shift details (e.g., timings).
o Delete: Remove an employee’s shift record.
3. Leave Management:
o Create: Apply for leave for an employee.
o Read: View the leave status of an employee.
o Update: Modify leave dates or type.
o Delete: Revoke a leave application.