Changes between Version 1 and Version 2 of Normalization


Ignore:
Timestamp:
02/26/26 10:20:37 (2 months ago)
Author:
231035
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Normalization

    v1 v2  
    11= Normalization
     2== Initial De-Normalized Relation and Functional Dependencies
     3=== Unified De-Normalized Relation
     4This represents the initial de-normalized relation before any normalization is applied.
     5{{{
     6R(
     7user_id, username, user_email, password_hash, fullname, name, surname, user_created_at,
     8blocked_reason, blocked_at, is_blocked,
     9
     10animal_id, animal_name, species, breed, sex, date_of_birth, photo_url, owner_id,
     11
     12listing_id, listing_status, listing_price, listing_description, listing_created_at,
     13
     14appointment_id, appointment_date_time, appointment_status, appointment_notes,
     15
     16clinic_id, clinic_name, clinic_address, clinic_location, clinic_city,
     17clinic_email, clinic_phone,
     18
     19application_id, application_name, application_email, application_phone,
     20application_city, application_address, submitted_at, reviewed_at,
     21reviewed_by, application_status, denial_reason,
     22
     23healthrecord_id, health_type, health_description, health_date,
     24
     25review_id, rating, review_comment, review_created_at,
     26review_updated_at, is_deleted, reviewer_id,
     27target_user_id, target_clinic_id,
     28
     29notification_id, notification_type, notification_message,
     30notification_created_at, is_read,
     31
     32favorite_user_id, favorite_listing_id
     33)
     34}}}
     35=== Initial Set of Functional Dependencies
     36User dependencies
     37{{{
     38user_id → username
     39user_id → user_email
     40user_id → password_hash
     41user_id → fullname
     42user_id → name
     43user_id → surname
     44user_id → user_created_at
     45user_id → blocked_reason
     46user_id → blocked_at
     47user_id → is_blocked
     48}}}
     49Animal dependencies
     50{{{
     51animal_id → animal_name
     52animal_id → species
     53animal_id → breed
     54animal_id → sex
     55animal_id → date_of_birth
     56animal_id → photo_url
     57animal_id → owner_id
     58}}}
     59Listing dependencies
     60{{{
     61listing_id → listing_status
     62listing_id → listing_price
     63listing_id → listing_description
     64listing_id → listing_created_at
     65listing_id → animal_id
     66}}}
     67Appointment dependencies
     68{{{
     69appointment_id → appointment_date_time
     70appointment_id → appointment_status
     71appointment_id → appointment_notes
     72appointment_id → animal_id
     73appointment_id → clinic_id
     74}}}
     75Vet Clinic dependencies
     76{{{
     77clinic_id → clinic_name
     78clinic_id → clinic_address
     79clinic_id → clinic_location
     80clinic_id → clinic_city
     81clinic_id → clinic_email
     82clinic_id → clinic_phone
     83}}}
     84Vet Clinic Application dependencies
     85{{{
     86application_id → application_name
     87application_id → application_email
     88application_id → application_phone
     89application_id → application_city
     90application_id → application_address
     91application_id → submitted_at
     92application_id → reviewed_at
     93application_id → reviewed_by
     94application_id → application_status
     95application_id → denial_reason
     96}}}
     97Health Record dependencies
     98{{{
     99healthrecord_id → health_type
     100healthrecord_id → health_description
     101healthrecord_id → health_date
     102healthrecord_id → animal_id
     103}}}
     104Review dependencies
     105{{{
     106review_id → rating
     107review_id → review_comment
     108review_id → review_created_at
     109review_id → review_updated_at
     110review_id → is_deleted
     111review_id → reviewer_id
     112review_id → target_user_id
     113review_id → target_clinic_id
     114}}}
     115Notification dependencies
     116{{{
     117notification_id → notification_type
     118notification_id → notification_message
     119notification_id → notification_created_at
     120notification_id → is_read
     121notification_id → user_id
     122}}}
     123Fav listing dependencies
     124{{{
     125(favorite_user_id, favorite_listing_id) → ∅
     126}}}
     127== Candidate Keys and Primary Key Selection