Task 2
Modules, lecturers and roles
The four tables below are read directly from MySQL. All create, update and delete actions use prepared statements and database foreign keys to uphold referential integrity.
Modules
| ModuleCode | ModuleName |
|---|---|
| ICT2613 | Internet Programming |
| ICT3611 | Advanced Databases |
| ICT3612 | Advanced Internet Programming |
| ICT3715 | Information Security |
| ICT3722 | Human-Computer Interaction |
Lecturers
| LecturerID | LecturerName |
|---|---|
| 1 | Dr Amina Jacobs |
| 2 | Prof Kabelo Mokoena |
| 3 | Dr Naledi Khumalo |
| 4 | Ms Lerato Molefe |
| 5 | Prof Sipho Dlamini |
| 6 | Ms Thandi Ndlovu |
Roles
| RoleID | RoleName |
|---|---|
| 1 | Primary lecturer |
| 2 | Secondary lecturer |
| 3 | Internal moderator |
| 4 | External moderator |
| 5 | Critical reader |
ModuleLecturerRole
| ModuleCode | LecturerID | LecturerName | RoleID | RoleName | Year |
|---|---|---|---|---|---|
| ICT2613 | 1 | Dr Amina Jacobs | 1 | Primary lecturer | 2026 |
| ICT3611 | 2 | Prof Kabelo Mokoena | 1 | Primary lecturer | 2026 |
| ICT3612 | 2 | Prof Kabelo Mokoena | 4 | External moderator | 2026 |
| ICT3612 | 3 | Dr Naledi Khumalo | 1 | Primary lecturer | 2026 |
| ICT3715 | 4 | Ms Lerato Molefe | 2 | Secondary lecturer | 2026 |
| ICT3722 | 5 | Prof Sipho Dlamini | 3 | Internal moderator | 2026 |
Modify ModuleLecturerRole
Delete a lecturer
The lecturer and any related ModuleLecturerRole rows are deleted in one transaction, so no orphaned foreign keys remain.
Five SELECT queries
Choose one query
Modules ordered alphabetically
| ModuleCode | ModuleName |
|---|---|
| ICT3611 | Advanced Databases |
| ICT3612 | Advanced Internet Programming |
| ICT3722 | Human-Computer Interaction |
| ICT3715 | Information Security |
| ICT2613 | Internet Programming |
Source code used for this task