The way I’ve always done it is to essentially think about the basics of each normal form.
- 1NF- Remove any “duplicate” values
- 2NF - Remove any functional dependencies
- 3NF - Remove any non-required data
Your initial table structure was essentially already in 1NF to start with. Doesn’t make it usable, but it’s already there by it’s initial nature.
To get it to 2NF, you need to remove any information that can be classified separately., which means you need to look at the table you have. What I see is three separate types of data
- Course Information
- Tutor Information
- Course Session Information
So, take the tutorID through tutorMaxStudents and put them onto a separate table. I would take placeAvailability and put it on the table you call Course_Date since it’s appropriate there.
At that point, you’re essentially at 3NF, though you’ll need some intermediate tables later to tie them together…