Entità vs Attributo
La tecnica di modellazione delle relazioni tra entità (ERM) è ampiamente utilizzata per la modellazione dei database. La modellazione entità-relazione è il processo di elaborazione di una rappresentazione astratta e concettuale dei dati. Uno degli elementi costitutivi principali di ERM è un'entità. L'entità rappresenta un oggetto del mondo reale o una cosa che può stare in piedi da sola in modo indipendente e può essere identificata in modo univoco. Gli attributi sono le proprietà di queste entità. I diagrammi ER sono il prodotto della modellazione entità-relazione. I diagrammi ER vengono disegnati utilizzando entità, attributi e altri simboli (come relazioni).
Cos'è un'entità?
Un'entità rappresenta una cosa che può esistere indipendentemente e che può essere identificata in modo univoco. Più specificamente, un'entità rappresenta spesso una classe, un gruppo o una categoria di oggetti simili. Molto spesso, un'entità rappresenta un oggetto del mondo reale come un'auto o un dipendente. Le entità possono essere considerate come nomi che emergono durante la descrizione del problema da risolvere. Le entità sono rappresentate come tabelle nei database relazionali. In generale, ogni entità verrà mappata esattamente su una tabella nel database. Le singole righe nelle tabelle corrispondono alle istanze effettive dell'oggetto/oggetto rappresentato dall'entità. Ad esempio, in un database dei dipendenti, ogni riga corrisponde ai record dei singoli dipendenti dell'azienda.
Cos'è un attributo?
Nella modellazione entità-relazione, le proprietà delle entità sono chiamate attributi. In altre parole, gli attributi rappresentano un sottogruppo di informazioni dell'oggetto rappresentato dall'entità. Gli attributi definiscono le singole istanze e aiutano a differenziare tra ciascuna istanza descrivendone le caratteristiche. È importante notare che gli attributi non possono essere impostati e dovrebbero essere atomici. Nei database relazionali, dove le entità sono realizzate come tabelle, ogni colonna rappresenta gli attributi di queste entità. Ad esempio, nella tabella Impiegato, colonne come reparto, grado e stipendio sono esempi di attributi dei dipendenti. Per distinguere tra singole istanze dell'entità, è possibile selezionare come chiave uno o più campi di attributo con valori univoci (per tutte le istanze). Ad esempio, l'attributo del numero di previdenza sociale (che è univoco per tutti i dipendenti) viene spesso utilizzato come chiave primaria di una tabella Dipendente. A volte più attributi possono anche creare la chiave primaria.
Qual è la differenza tra un'entità e un attributo?
Nella modellazione entità-relazione, le entità rappresentano oggetti/cose del mondo reale che possono essere identificati come unici e indipendenti, mentre gli attributi rappresentano le proprietà di tali entità. Nei database relazionali, le entità diventano tabelle (ogni riga rappresenta singole istanze), mentre gli attributi diventano colonne di quelle tabelle corrispondenti. Quando si progettano database, è comune avere confusione sulla scelta di un'entità rispetto a un attributo per rappresentare un determinato oggetto parola reale. Ad esempio, l'indirizzo del dipendente deve essere rappresentato come un attributo o un' altra entità (collegata all'entità dipendente tramite una relazione)? Una regola generale è che, se un dipendente ha più di un indirizzo, l'indirizzo deve essere un'entità (perché gli attributi non sono impostati). Allo stesso modo, se è importante acquisire la struttura dell'indirizzo, anche in questo caso l'indirizzo dovrebbe essere un'entità (perché gli attributi sono atomici).