Salve a tutti, sono nuovo del forum, appena registrato^^
Mi sto allenando in esercizi per lo scritto di Basi Dati, ho qualche dubbio, talvolta, nell'identificare le dipendenze o, un po' più raramente, le chiavi.

Ho provato a svolgere il seguente esercizio sulla normalizzazione di una relazione:

Dato il seguente schema relazionale:
ACQUISTI(CodUtente, Nickname, Password, CodProdotto, NomeProdotto, TipoProdotto, DataAcquisto, QuantitàAcquistata)
verificare se la relazione è in 3NF ed in caso contrario effettuarne un’opportuna decomposizione.

Ho individuato come chiave:

K={CodUtente, CodProdotto, QuantitàAcquistata}

Notando che la DataAcquisto si riferisce a un'istante (il formato date ha anche ora e minuto) e non un giorno generico, quindi non bisogna metterla nella chiave.

Ho trovato le seguenti dipendenze funzionali:

Cod. Utente -> Nickname, Password
Cod. Prodotto -> NomeProdotto, TipoProdotto

Quindi decompongo nelle seguenti relazioni:

Acquisti (CodUtente, CodProdotto, QuantitàAcquistata, DataAcquisto)
Utenti (CodUtente, Nickname, Password)
Prodotti (CodProdotto, NomeProdotto, TipoProdotto)

Che sono tutte e 3 in 2NF.
In particolare in quest'ultima parte non sono sicuro al massimo, ma ho proceduto così:
- Acquisti e Prodotti sono anche in 3NF.
-Per quanto riguarda Utenti, Password, "tramite" Nickname, dipende in maniera transitiva da CodUtente: quindi Utenti non è in 3NF.
Decompongo quindi in due relazioni:

Utenti(CodUtente, Nickname)
Nicknames(Nickname, Password)

Ed ora dovrei avere tutto in 3NF.

Se ho sbagliato qualcosa, potreste spiegarmene il motivo? Grazie in anticipo.