Data in an unnormalized form often contains repeated groups of data.
Problem: Redundant data and update anomalies.
Normalization Process: Separate the data into distinct records.
Resulting Form: Unnormalized data becomes 1NF.
Assessor Table:
| Assessor Name | Assessor ID | Assessor Address | Post Code | Assessor Mobile Number | Assessor Email Address | Course Name | Course ID | Venue Name | Venue ID | Venue Address | Post Code | Venue Mobile Number | Manager Name | Venue Email Address | Venue Cost | Google Map Link | Student Name | Student ID | Student Address | Student Post Code | Student Email Address | Student Mobile Number | Notes |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| [Assessor Name] | [Assessor ID] | [Assessor Address] | [Post Code] | [Assessor Mobile Number] | [Assessor Email Address] | [Course Name] | [Course ID] | [Venue Name] | [Venue ID] | [Venue Address] | [Post Code] | [Venue Mobile Number] | [Manager Name] | [Venue Email Address] | [Venue Cost] | [Google Map Link] | [Student Name] | [Student ID] | [Student Address] | [Student Post Code] | [Student Email Address] | [Student Mobile Number] | [Notes] |
Course Table:
| Course Name | Course ID | Course Date | Course Cost | Assessor Name | Assessor ID | Course Duration | Venue Name | Venue ID | Venue Address | Post Code | Venue Mobile Number | Manager Name | Venue Email Address | Venue Cost | Google Map Link | Notes |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| [Course Name] | [Course ID] | [Course Date] | [Course Cost] | [Assessor Name] | [Assessor ID] | [Course Duration] | [Venue Name] | [Venue ID] | [Venue Address] | [Post Code] | [Venue Mobile Number] | [Manager Name] | [Venue Email Address] | [Venue Cost] | [Google Map Link] | [Notes] |
Venue Table:
| Venue Name | Venue ID | Venue Address | Post Code | Venue Mobile Number | Manager Name | Venue Email Address | Venue Cost | Google Map Link | Course Name | Course ID | Assessor Name | Assessor ID | Assessor Address | Assessor Post Code | Assessor Mobile Number | Assessor Email Address | Student Name | Student ID | Student Address | Student Post Code | Student Email Address | Student Mobile Number | Notes |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| [Venue Name] | [Venue ID] | [Venue Address] | [Post Code] | [Venue Mobile Number] | [Manager Name] | [Venue Email Address] | [Venue Cost] | [Google Map Link] | [Course Name] | [Course ID] | [Assessor Name] | [Assessor ID] | [Assessor Address] | [Assessor Post Code] | [Assessor Mobile Number] | [Assessor Email Address] | [Student Name] | [Student ID] | [Student Address] | [Student Post Code] | [Student Email Address] | [Student Mobile Number] | [Notes] |
Course Schedule Table:
| Course Name | Course ID | Course Date | Course Duration | Course Cost | Venue Name | Venue ID | Venue Address | Post Code | Venue Mobile Number | Manager Name | Venue Email Address | Venue Cost | Google Map Link | Assessor Name | Assessor ID | Assessor Address | Assessor Post Code | Assessor Mobile Number | Assessor Email Address | Student Name | Student ID | Student Address | Student Post Code | Student Email Address | Student Mobile Number | Notes |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| [Course Name] | [Course ID] | [Course Date] | [Course Duration] | [Course Cost] | [Venue Name] | [Venue ID] | [Venue Address] | [Post Code] | [Venue Mobile Number] | [Manager Name] | [Venue Email Address] | [Venue Cost] | [Google Map Link] | [Assessor Name] | [Assessor ID] | [Assessor Address] | [Assessor Post Code] | [Assessor Mobile Number] | [Assessor Email Address] | [Student Name] | [Student ID] | [Student Address] | [Student Post Code] | [Student Email Address] | [Student Mobile Number] | [Notes] |
Student Table:
| Student Name | Student ID | Address | Post Code | Email Address | Student Mobile Number | Course Name | Course ID | Course Date | Achieved (Yes/No) | Assessor Name | Assessor ID | Assessor Address | Post Code | Assessor Mobile Number | Assessor Email Address | Notes |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| [Student Name] | [Student ID] | [Address] | [Post Code] | [Email Address] | [Student Mobile Number] | [Course Name] | [Course ID] | [Course Date] | [Achieved (Yes/No)] | [Assessor Name] | [Assessor ID] | [Assessor Address] | [Post Code] | [Assessor Mobile Number] | [Assessor Email Address] | [Notes] |
In 1NF, all columns contain atomic values. There are no repeating groups.
Problem: Partial dependencies exist.
Normalization Process: Eliminate partial dependencies.
Resulting Form: Data is now in 2NF.
Assessor Table:
| Assessor ID | Assessor Name | Assessor Address | Post Code | Mobile Number | |
|---|---|---|---|---|---|
| [AssessorID] | [AssessorName] | [AssessorAddress] | [PostCode] | [MobileNumber] | [Email] |
Course Table:
| Course ID | Course Name | Course Date | Duration | Cost | Assessor ID |
|---|---|---|---|---|---|
| [CourseID] | [CourseName] | [CourseDate] | [Duration] | [Cost] | [AssessorID] |
Venue Table:
| Venue ID | Venue Name | Venue Address | Post Code | Mobile Number | Manager Name | Cost | Google Maps Link | |
|---|---|---|---|---|---|---|---|---|
| [VenueID] | [VenueName] | [VenueAddress] | [PostCode] | [MobileNumber] | [ManagerName] | [Email] | [Cost] | [GoogleMapsLink] |
Student Table:
| Student ID | Student Name | Address | Post Code | Mobile Number | |
|---|---|---|---|---|---|
| [StudentID] | [StudentName] | [Address] | [PostCode] | [Email] | [MobileNumber] |
Course Schedule Table:
| Schedule ID | Course ID | Venue ID | Student ID | Achieved ( Yes / No) | Notes |
|---|---|---|---|---|---|
| [ScheduleID] | [CourseID] | [VenueID] | [StudentID] | [Achieved] | [Notes] |
2NF eliminates partial dependencies, ensuring each non-key attribute depends on the entire primary key.
Problem: Transitive dependencies exist.
Normalization Process: Remove transitive dependencies.
Resulting Form: Data is now in 3NF.
Assessor Table:
| Assessor ID | Assessor Name | Assessor Address | Post Code | Mobile Number | |
|---|---|---|---|---|---|
| [AssessorID] | [AssessorName] | [AssessorAddress] | [PostCode] | [MobileNumber] | [Email] |
Course Table:
| Course ID | Course Name | Course Date | Duration | Cost | Assessor ID |
|---|---|---|---|---|---|
| [CourseID] | [CourseName] | [CourseDate] | [Duration] | [Cost] | [AssessorID] |
Venue Table:
| Venue ID | Venue Name | Venue Address | Post Code | Mobile Number | Manager Name | Cost | Google Maps Link | |
|---|---|---|---|---|---|---|---|---|
| [VenueID] | [VenueName] | [VenueAddress] | [PostCode] | [MobileNumber] | [ManagerName] | [Email] | [Cost] | [GoogleMapsLink] |
Student Table:
| Student ID | Student Name | Address | Post Code | Mobile Number | |
|---|---|---|---|---|---|
| [StudentID] | [StudentName] | [Address] | [PostCode] | [Email] | [MobileNumber] |
Course Schedule Table:
| Schedule ID | Course ID | Venue ID | Student ID | Achieved ( Yes / No) | Notes |
|---|---|---|---|---|---|
| [ScheduleID] | [CourseID] | [VenueID] | [StudentID] | [Achieved] | [Notes] |
3NF removes all transitive dependencies, ensuring that non-key attributes depend only on the primary key.
Problem: The data still may have anomalies.
Normalization Process: Resolve any remaining dependencies to reach BCNF.
Resulting Form: Data is in BCNF.
Assessor Table:
| Assessor ID | Assessor Name | Assessor Address | Post Code | Mobile Number | |
|---|---|---|---|---|---|
| [AssessorID] | [AssessorName] | [AssessorAddress] | [PostCode] | [MobileNumber] | [Email] |
Course Table:
| Course ID | Course Name | Course Date | Duration | Cost | Assessor ID |
|---|---|---|---|---|---|
| [CourseID] | [CourseName] | [CourseDate] | [Duration] | [Cost] | [AssessorID] |
Venue Table:
| Venue ID | Venue Name | Venue Address | Post Code | Mobile Number | Manager Name | Cost | Google Maps Link | |
|---|---|---|---|---|---|---|---|---|
| [VenueID] | [VenueName] | [VenueAddress] | [PostCode] | [MobileNumber] | [ManagerName] | [Email] | [Cost] | [GoogleMapsLink] |
Student Table:
| Student ID | Student Name | Address | Post Code | Mobile Number | |
|---|---|---|---|---|---|
| [StudentID] | [StudentName] | [Address] | [PostCode] | [Email] | [MobileNumber] |
Course Schedule Table:
| Schedule ID | Course ID | Venue ID | Student ID | Achieved ( Yes / No) | Notes |
|---|---|---|---|---|---|
| [ScheduleID] | [CourseID] | [VenueID] | [StudentID] | [Achieved] | [Notes] |
BCNF ensures that every non-key attribute depends only on the primary key, eliminating any remaining dependencies and ensuring data consistency.
Resulting Form: Data is in BCNF.
Assessor Table:
| Assessor ID | Assessor Name | Assessor Address | Post Code | Mobile Number | |
|---|---|---|---|---|---|
| [AssessorID] | [AssessorName] | [AssessorAddress] | [PostCode] | [MobileNumber] | [Email] |
Course Table:
| Course ID | Course Name | Course Date | Duration | Cost | Assessor ID |
|---|---|---|---|---|---|
| [CourseID] | [CourseName] | [CourseDate] | [Duration] | [Cost] | [AssessorID] |
Venue Table:
| Venue ID | Venue Name | Venue Address | Post Code | Mobile Number | Manager Name | Cost | Google Maps Link | |
|---|---|---|---|---|---|---|---|---|
| [VenueID] | [VenueName] | [VenueAddress] | [PostCode] | [MobileNumber] | [ManagerName] | [Email] | [Cost] | [GoogleMapsLink] |
Student Table:
| Student ID | Student Name | Address | Post Code | Mobile Number | |
|---|---|---|---|---|---|
| [StudentID] | [StudentName] | [Address] | [PostCode] | [Email] | [MobileNumber] |
Course Schedule Table:
| Schedule ID | Course ID | Venue ID | Student ID |
|---|---|---|---|
| [ScheduleID] | [CourseID] | [VenueID] | [StudentID] |
Student Achieved Table:
| Schedule ID | Achieved ( Yes / No) | Notes |
| [ScheduleID] | [Achieved] | [Notes] |