Changes between Version 20 and Version 21 of Normalization


Ignore:
Timestamp:
04/27/26 02:37:50 (5 days ago)
Author:
221296
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Normalization

    v20 v21  
    270270
    271271== Check for 3NF (and decomposition)
    272 Now we look for transitive dependencies inside the produced relations.
     272Now we look for transitive dependencies inside the relations obtained after the 2NF decomposition.
    273273
    274274=== Typical transitive issues from the ER
    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 
    276280* 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.
    277281* 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.