Salve a tutti ragazzi, sono qui a chiedere aiuto per meglio comprendere come rappresentare, durante la progettazione di un database, un attributo il cui dominio è rappresentato da specifici valori. In pratica una sorta di campo enum che però poi a livello fisico non sarà necessariamente rappresentato in questo modo ma anche utilizzando una tabella esterna.
Per fare un esempio un classico campo stato di una tabella che contiene i record degli utenti registrati sul sito.
Questo attributo può assumere per esempio i valori: "Attivo", "Non Attivo", "Disabilitato".
Ora suppongo che a livello logico conta poco se poi fisicamente creerò un enumerazione o mi appoggerò ad una tabella esterna (per esempio per poter generare dinamicamente altri stati senza dover apportare modifiche al db).
Ma appunto a livello logico, come si rappresenta una cosa del genere ?
Creo l'entità Utente e gli attribuisco l'attributo stato come qualsiasi altro attributo (nome, cognome..) oppure devo rappresentare lo stato come un'altra entità ed usare una relazione che le colleghi ?
Purtroppo ho sempre erroneamente scritto direttamente le tabelle in tutti i db che ho "progettato" e quindi sono sempre partito dalla fine ed ora che sto cercando di imparare per bene tutto il processo di progettazione mi trovo in difficoltà perchè la mente tende a fare dei procedimenti al contrario o a saltare dei passi importanti e mi sembra difficile entrare nell'ottica adeguata anche di cose che dovrebbero essere banali.
Spero che qualcuno possa illuminarmi, nel frattempo ringrazio tutti per l'attenzione.

Rispondi quotando
