| 275 | | * In Clients(client_id, user_id, …), we have client_id → user_id, but user descriptive attributes are stored in Users, so no transitive dependency remains inside Clients. |
| | 275 | * In Payment(payment_id, user_id, subscription_id, amount), we have: |
| | 276 | payment_id → subscription_id |
| | 277 | subscription_id → user_id, plan_id, start_date, end_date, subscription_status. |
| | 278 | Because subscription details are stored in UserSubscription, they should not be repeated in Payment. Payment keeps only payment_id, user_id, subscription_id and amount, so no transitive dependency remains inside Payment. |
| | 279 | |
| 276 | 280 | * In Listings(listing_id, admin_id, animal_id, …), we have listing_id → admin_id and globally admin_id → user_id, but user attributes are stored in Users, not in Listings, so no transitive dependency remains inside Listings. |
| 277 | 281 | * In VetClinicApplications(application_id, clinic_id, …), we have application_id → clinic_id and clinic_id determines clinic attributes, but those attributes are stored in VetClinics, not in VetClinicApplications, so no transitive dependency remains there either. |