| 117 | | {{{R ∈ 1NF}}} |
| | 116 | {{{R ∈ 1NF}}}: The universal relation R is in 1NF because all attributes contain atomic values and there are no repeating groups. |
| | 117 | |
| | 118 | {{{R ∉ 2NF}}}: The candidate key of R is: |
| | 119 | |
| | 120 | **K = {order_id, product_id, artist_id, song_id, modification_id, album_id}** |
| | 121 | |
| | 122 | Since K is a composite key, we must check for partial functional dependencies in order to determine whether R satisfies 2NF. |
| | 123 | |
| | 124 | **Example of a 2NF violation:** |
| | 125 | |
| | 126 | product_id → release_id, format, price, product_description, stock |
| | 127 | artist_id → artist_name, artist_description, artist_photo |
| | 128 | song_id → song_name, song_duration |
| | 129 | |
| | 130 | In each case, a proper subset of the candidate key determines non-prime attributes. Therefore, R contains partial functional dependencies |
| | 131 | and is not in 2NF. |
| | 132 | |