Here’s a refined list of **entities** strictly following the content and requirements from your
problem statement:
---
### **Entities for the ER Diagram**
1. **Faculty**
- Attributes:
- Faculty_ID (Primary Key)
- Name
- Gender
- Date_of_Birth
- Email
- Phone_Number
- Address
- Department_ID (Foreign Key to `Department`)
- Designation
- Joining_Date
- Salary
- Password (for login)
2. **Department**
- Attributes:
- Dept_ID (Primary Key)
- Dept_Name (e.g., CSM, CSD)
- HOD_ID (Foreign Key to `Faculty`)
- Contact_Number
3. **Course**
- Attributes:
- Course_ID (Primary Key)
- Course_Name
- Credits
- Semester_ID (Foreign Key to `Semester`)
- Department_ID (Foreign Key to `Department`)
- Faculty_ID (Foreign Key to `Faculty`)
4. **Timetable**
- Attributes:
- Timetable_ID (Primary Key)
- Faculty_ID (Foreign Key to `Faculty`)
- Day_of_Week
- Period_Number
- Course_ID (Foreign Key to `Course`)
- Start_Time
- End_Time
5. **Leave**
- Attributes:
- Leave_ID (Primary Key)
- Faculty_ID (Foreign Key to `Faculty`)
- Leave_Type (e.g., CL, EL, ODL, AL)
- Start_Date
- End_Date
- Status (Approved/Rejected/Pending)
- Applied_Date
6. **Training_Program**
- Attributes:
- Program_ID (Primary Key)
- Faculty_ID (Foreign Key to `Faculty`)
- Program_Name
- Institution/Organizer
- Start_Date
- End_Date
7. **Research_Publication**
- Attributes:
- Publication_ID (Primary Key)
- Faculty_ID (Foreign Key to `Faculty`)
- Title
- Journal_Name
- Publication_Date
- DOI_Link
8. **Patent**
- Attributes:
- Patent_ID (Primary Key)
- Faculty_ID (Foreign Key to `Faculty`)
- Patent_Title
- Patent_Number
- Filing_Date
- Grant_Date
9. **Result**
- Attributes:
- Result_ID (Primary Key)
- Course_ID (Foreign Key to `Course`)
- Faculty_ID (Foreign Key to `Faculty`)
- Semester_ID (Foreign Key to `Semester`)
- Student_Count
- Pass_Percentage
10. **Semester**
- Attributes:
- Semester_ID (Primary Key)
- Semester_Name (e.g., Spring 2024)
- Start_Date
- End_Date
11. **Role**
- Attributes:
- Role_ID (Primary Key)
- Role_Name (e.g., Admin, HOD, Faculty)
12. **Faculty_Role** (Associative Entity)
- Attributes:
- Faculty_Role_ID (Primary Key)
- Faculty_ID (Foreign Key to `Faculty`)
- Role_ID (Foreign Key to `Role`)
- Assigned_Date
13. **Notification**
- Attributes:
- Notification_ID (Primary Key)
- Recipient_ID (Foreign Key to `Faculty`)
- Message
- Sent_Date
- Status (Read/Unread)
14. **Attendance**
- Attributes:
- Attendance_ID (Primary Key)
- Faculty_ID (Foreign Key to `Faculty`)
- Date
- Status (Present/Absent/On Leave)
- Leave_ID (Nullable, Foreign Key to `Leave`)
15. **Performance_Report**
- Attributes:
- Report_ID (Primary Key)
- Faculty_ID (Foreign Key to `Faculty`)
- Semester_ID (Foreign Key to `Semester`)
- Teaching_Hours
- Free_Periods
- Pass_Percentage
- Achievements
---
### **Relationships Between Entities**
1. **Faculty** teaches multiple **Courses** per semester.
2. **HOD** (from `Faculty`) manages **Department** and oversees faculty activities like
timetables, results, and leave approvals.
3. **Faculty** has **Timetables** for each day and semester.
4. **Faculty** can request multiple **Leaves**, approved by the **HOD** or **Admin**.
5. **Faculty** updates their profiles with **Training_Programs**, **Publications**, and
**Patents**.
6. **Results** store the performance data of faculty for their assigned **Courses**.
7. **Role-Based Access Control** is managed by associating faculty members with appropriate
**Roles**.
8. **Performance_Report** aggregates data on teaching hours, free periods, results, and
achievements for each faculty.
9. **Notifications** inform faculty and HODs about profile updates, timetable changes, and leave
statuses.
---
This structure ensures that **all faculty activities, department management, course handling,
training programs, leaves, and performance tracking** are well-represented and manageable
through the system.