Thoughts on this ER-diagram?

Hi everyone, I'm working on a workforce scheduling system as part of my bachelor's thesis project, and I'd love some feedback on the ER diagram I designed. The system is designed to automate and optimize employee scheduling in workplaces where employees have different roles, work percentages (e.g., 40%, 60%, 100%), and preferences for shifts.
The goal is to allow managers to efficiently allocate shifts while considering constraints like availability, location, and shift types. Employees should also be able to express scheduling preferences (e.g., preferred working hours or locations).
ER Diagram Breakdown: - EmployeeRole: Defines different roles employees can have (e.g., Nurse, Caregiver).
- Employee: Stores employee details, including their work percentage and preferences.
- Shift: Represents a scheduled work shift with start and end times, type, and status.
- Place: Indicates different locations where shifts can be assigned.
- ShiftAssignment: Links employees to shifts and tracks where they will work.
Integration with Timefold To optimize scheduling, we plan to integrate Timefold, an open-source AI constraint solver that helps solve complex scheduling problems. Timefold will handle constraints like employee availability, shift preferences, and workload balancing while ensuring efficient resource allocation. Since we're also working with Quarkus, we want to ensure that our database structure aligns well with these technologies.
Questions: 1. Does this ER diagram provide a solid foundation for a backend that works with Timefold and Quarkus?
2. Are there any missing relationships or tables that might be essential for workforce scheduling?
3. Would you suggest any changes to improve performance, especially when handling large datasets?
Looking forward to your thoughts! 😊
No description
1 Reply
JavaBot
JavaBot•2d ago
⌛ This post has been reserved for your question.
Hey @dghf! Please use /close or the Close Post button above when your problem is solved. Please remember to follow the help guidelines. This post will be automatically marked as dormant after 300 minutes of inactivity.
TIP: Narrow down your issue to simple and precise questions to maximize the chance that others will reply in here.

Did you find this page helpful?