Changes between Version 12 and Version 13 of Normalization


Ignore:
Timestamp:
08/30/26 08:06:01 (8 days ago)
Author:
232012
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Normalization

    v12 v13  
    132132
    133133
    134 ==== **1. PRODUCT(product_id, release_id, format, price, product_description, stock)**
     134==== 1. PRODUCT(product_id, format, price, product_description, stock)
    135135
    136136
     
    139139
    140140R1 = {user_id, email, username, password, date_created, shipping_address, telephone_number, admin_type, discount_percentage, points_collected,
    141       artist_id, artist_name, artist_description, artist_photo, release_id, title, record_label, genre, release_date, cover_photo, duration,                                             
    142       album_id, song_id, song_name, song_duration, order_id, payment_method, purchase_date, points_earned, points_used, status, modification_id, 
     141      artist_id, artist_name, artist_description, artist_photo, release_id, title, record_label, genre, release_date, cover_photo, duration,
     142      album_id, song_id, song_name, song_duration, order_id, payment_method, purchase_date, points_earned, points_used, status, modification_id,
    143143      admin_id, date_modified, type_of_modification, discount, wishlist_id, quantity, price_at_purchase, added_at, release_ordinal,
    144       release_artist_type, song_ordinal}
     144      release_artist_type, song_ordinal, product_id}
    145145}}}
    146146
    147147**Lossless join:** The original relation can be reconstructed through a join using {{{product_id}}}.
    148148
    149 **Dependency preservation:** The dependency {{{product_id → release_id, format, price, product_description, stock}}} is preserved in the new PRODUCT relation.
    150 
    151 
    152 ==== **2. ARTIST(artist_id, artist_name, artist_description, artist_photo)**
    153 
    154 
    155 {{{
    156 R2 = R - {artist_name, artist_description, artist_photo}
     149**Dependency preservation:** The dependency {{{product_id → release_id, format, price, product_description, stock}}} is preserved in the new ''PRODUCT'' relation.
     150
     151
     152==== 2. ARTIST(artist_id, artist_name, artist_description, artist_photo)
     153
     154
     155{{{
     156R2 = R1 - {artist_name, artist_description, artist_photo}
    157157
    158158R2 = {user_id, email, username, password, date_created, shipping_address, telephone_number, admin_type, discount_percentage, points_collected,
    159       artist_id, release_id, title, record_label, genre, release_date, cover_photo, duration, album_id, song_id, song_name, song_duration,                                             
    160       product_id, format, price, product_description, stock, order_id, payment_method, purchase_date, points_earned, points_used, status,
    161       modification_id, admin_id, date_modified, type_of_modification, discount, wishlist_id, quantity, price_at_purchase, added_at, release_ordinal,
    162       release_artist_type, song_ordinal}
     159      artist_id, release_id, title, record_label, genre, release_date, cover_photo, duration, album_id, song_id, song_name, song_duration,
     160      product_id, order_id, payment_method, purchase_date, points_earned, points_used, status, modification_id, admin_id, date_modified,
     161      type_of_modification, discount, wishlist_id, quantity, price_at_purchase, added_at, release_ordinal, release_artist_type, song_ordinal}
    163162}}}
    164163
    165164**Lossless join:** The original relation can be reconstructed through a join using {{{artist_id}}}.
    166165
    167 **Dependency preservation:** The dependency {{{artist_id → artist_name, artist_description, artist_photo}}} is preserved in the new ARTIST relation.
    168 
     166**Dependency preservation:** The dependency {{{artist_id → artist_name, artist_description, artist_photo}}} is preserved in the new ''ARTIST'' relation.
     167
     168
     169==== 3. RELEASE(release_id, title, record_label, genre, release_date, cover_photo, duration)
     170
     171{{{
     172R3 = R2 - {title, record_label, genre, release_date, cover_photo, duration}
     173
     174R3 = {user_id, email, username, password, date_created, shipping_address, telephone_number, admin_type, discount_percentage, points_collected,
     175      artist_id, release_id, album_id, song_id, song_name, song_duration, product_id, order_id, payment_method, purchase_date,
     176      points_earned, points_used, status, modification_id, admin_id, date_modified, type_of_modification, discount, wishlist_id,
     177      quantity, price_at_purchase, added_at, release_ordinal, release_artist_type, song_ordinal}
     178}}}
     179
     180**Lossless join:** The original relation can be reconstructed through a join using {{{release_id}}}.
     181
     182**Dependency preservation:** The dependency {{{release_id → title, record_label, genre, release_date, cover_photo}}} is preserved in the new ''RELEASE'' relation.
     183
     184==== 4. SONG(song_id, song_name, song_duration)
     185
     186{{{
     187R4 = R3 - {song_name, song_duration}
     188
     189R4 = {user_id, email, username, password, date_created, shipping_address, telephone_number, admin_type, discount_percentage, points_collected,
     190      artist_id, release_id, album_id, song_id, product_id, order_id, payment_method, purchase_date, points_earned, points_used, status,
     191      modification_id, admin_id, date_modified, type_of_modification, discount, wishlist_id, quantity, price_at_purchase, added_at,
     192      release_ordinal, release_artist_type, song_ordinal}
     193}}}
     194
     195**Lossless join:** The original relation can be reconstructed through a join using {{{song_id}}}.
     196
     197**Dependency preservation:** The dependency {{{song_id → song_name, song_duration}}} is preserved in the new ''SONG'' relation.
     198
     199==== 5. MODIFICATION(modification_id, admin_id, date_modified, type_of_modification, discount)
     200
     201{{{
     202R5 = R4 - {admin_id, date_modified, type_of_modification, discount}
     203
     204R5 = {user_id, email, username, password, date_created, shipping_address, telephone_number, admin_type, discount_percentage, points_collected,
     205      artist_id, release_id, album_id, song_id, product_id, order_id, payment_method, purchase_date, points_earned, points_used, status,
     206      modification_id, wishlist_id, quantity, price_at_purchase, added_at, release_ordinal, release_artist_type, song_ordinal}
     207}}}
     208
     209**Lossless join:** The original relation can be reconstructed through a join using {{{modification_id}}}.
     210
     211**Dependency preservation:** The dependency {{{modification_id → admin_id, date_modified, type_of_modification, discount}}} is preserved in the new ''MODIFICATION'' relation.
     212
     213==== 6. ORDER(order_id, user_id, payment_method, purchase_date, points_earned, points_used, status)
     214
     215{{{
     216R6 = R5 - {payment_method, purchase_date, points_earned, points_used, status}
     217
     218R6 = {user_id, email, username, password, date_created, shipping_address, telephone_number, admin_type, discount_percentage, points_collected,
     219      artist_id, release_id, album_id, song_id, product_id, order_id, modification_id, wishlist_id, quantity, price_at_purchase, added_at,
     220      release_ordinal, release_artist_type, song_ordinal}
     221}}}
     222
     223**Lossless join:** The original relation can be reconstructed through a join using {{{order_id}}}.
     224
     225**Dependency preservation:** The dependency {{{order_id → user_id, payment_method, purchase_date, points_earned, points_used, status}}} is preserved in the new ''ORDER'' relation.
     226
     227==== 7. USER(user_id, email, username, password, date_created, shipping_address, telephone_number)
     228
     229{{{
     230R7 = R6 - {email, username, password, date_created, shipping_address, telephone_number}
     231
     232R7 = {user_id, admin_type, discount_percentage, points_collected, artist_id, release_id, album_id, song_id, product_id, order_id,
     233      modification_id, wishlist_id, quantity, price_at_purchase, added_at, release_ordinal, release_artist_type, song_ordinal}
     234}}}
     235
     236**Lossless join:** The original relation can be reconstructed through a join using {{{user_id}}}.
     237
     238**Dependency preservation:** The dependency {{{user_id → email, username, password, date_created, shipping_address, telephone_number}}} is preserved in the new ''USER'' relation.
     239
     240==== 8. ORDER_PRODUCTS(order_id, product_id, price_at_purchase, quantity)
     241
     242{{{
     243R8 = R7 - {price_at_purchase, quantity}
     244
     245R8 = {user_id, admin_type, discount_percentage, points_collected, artist_id, release_id, album_id, song_id, product_id, order_id,
     246      modification_id, wishlist_id, added_at, release_ordinal, release_artist_type, song_ordinal}
     247}}}
     248
     249**Lossless join:** The original relation can be reconstructed through a join using {{{order_id, product_id}}}.
     250
     251**Dependency preservation:** The dependency {{{(order_id, product_id) → price_at_purchase, quantity}}} is preserved in the new ''ORDER_PRODUCTS'' relation.
     252
     253==== 9. WISHLIST_PRODUCTS(wishlist_id, product_id, added_at)
     254
     255{{{
     256R9 = R8 - {added_at}
     257
     258R9 = {user_id, admin_type, discount_percentage, points_collected, artist_id, release_id, album_id, song_id, product_id, order_id,
     259      modification_id, wishlist_id, release_ordinal, release_artist_type, song_ordinal}
     260}}}
     261
     262**Lossless join:** The original relation can be reconstructed through a join using {{{wishlist_id, product_id}}}.
     263
     264**Dependency preservation:** The dependency {{{(wishlist_id, product_id) → added_at}}} is preserved in the new ''WISHLIST_PRODUCTS'' relation.
     265
     266==== 10. RELEASE_ARTISTS(release_id, artist_id, release_ordinal, release_artist_type)
     267
     268{{{
     269R10 = R9 - {release_ordinal, release_artist_type}
     270
     271R10 = {user_id, admin_type, discount_percentage, points_collected, artist_id, release_id, album_id, song_id, product_id, order_id,
     272       modification_id, wishlist_id, song_ordinal}
     273}}}
     274
     275**Lossless join:** The original relation can be reconstructed through a join using {{{release_id, artist_id}}}.
     276
     277**Dependency preservation:** The dependency {{{(release_id, artist_id) → release_ordinal, release_artist_type}}} is preserved in the new ''RELEASE_ARTISTS'' relation.
     278
     279==== 11. SONG_ARTISTS(song_id, artist_id, song_ordinal)
     280
     281{{{
     282R11 = R10 - {song_ordinal}
     283
     284R11 = {user_id, admin_type, discount_percentage, points_collected, artist_id, release_id, album_id, song_id, product_id, order_id,
     285       modification_id, wishlist_id}
     286}}}
     287
     288**Lossless join:** The original relation can be reconstructed through a join using {{{song_id, artist_id}}}.
     289
     290**Dependency preservation:** The dependency {{{(song_id, artist_id) → song_ordinal}}} is preserved in the new ''SONG_ARTISTS'' relation.