| 354 | | * Clients: client_id is key → BCNF |
| 355 | | * Admins: admin_id is key → BCNF |
| 356 | | * Owners: owner_id is key → BCNF |
| 357 | | * Notifications: notification_id is key → BCNF |
| 358 | | * VetClinics: clinic_id is key → BCNF |
| 359 | | * VetClinicApplications: application_id is key → BCNF |
| 360 | | * Animals: animal_id is key → BCNF |
| 361 | | * Listings: listing_id is key → BCNF |
| 362 | | * Appointments: appointment_id is key → BCNF |
| 363 | | * HealthRecords: healthrecord_id is key → BCNF |
| 364 | | * Reviews: review_id is key → BCNF |
| 365 | | * UserReviews: review_id is key → BCNF |
| 366 | | * ClinicReviews: review_id is key → BCNF |
| 367 | | * FavoriteListings: (saved_user_id, saved_listing_id) is key → BCNF |
| 368 | | {{{So the schema satisfies BCNF.}}} |
| | 354 | * Administrators: admin_id is key → BCNF |
| | 355 | * Instructors: instructor_id is key → BCNF |
| | 356 | * SubscriptionPlan: plan_id is key → BCNF |
| | 357 | * UserSubscription: subscription_id is key → BCNF |
| | 358 | * Payment: payment_id is key → BCNF |
| | 359 | * SupportTicket: ticket_id is key → BCNF |
| | 360 | * Category: category_id is key → BCNF |
| | 361 | * Course: course_id is key → BCNF |
| | 362 | * CourseCategory: (course_id, category_id) is composite key → BCNF |
| | 363 | * Module: module_id is key → BCNF |
| | 364 | * Lesson: lesson_id is key → BCNF |
| | 365 | * Quiz: quiz_id is key → BCNF |
| | 366 | * QuizAttempt: attempt_id is key → BCNF |
| | 367 | * Enrollment: enrollment_id is key → BCNF |
| | 368 | * Certificate: certificate_id is key → BCNF |
| | 369 | {{{Therefore, the resulting schema satisfies BCNF.}}} |