Entità vs Attributo
La tecnica di modellazione delle relazioni tra entità (ERM) è ampiamente utilizzata per la modellazione di database. La modellazione delle relazioni tra entità è il processo di elaborazione di una rappresentazione astratta e concettuale dei dati. Uno dei principali elementi costitutivi di ERM è un'entità. L'entità rappresenta un oggetto del mondo reale o una cosa che può reggersi autonomamente e che 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 sono disegnati usando entità, attributi e altri simboli (come le 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 reale come un'automobile o un dipendente. Le entità possono essere come nomi che emergono durante la descrizione del problema da risolvere. Le entità sono rappresentate come tabelle in database relazionali. In generale, ciascuna entità eseguirà il mapping esattamente a una tabella nel database. Le singole righe nelle tabelle corrispondono alle istanze effettive dell'oggetto / cosa 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 distinguere tra ciascuna istanza descrivendo le loro caratteristiche. È importante notare che gli attributi non possono essere valorizzati e dovrebbero essere atomici. Nei database relazionali, dove le entità sono realizzate come tabelle, ciascuna colonna rappresenta gli attributi di queste entità. Ad esempio, nella tabella Dipendente, colonne come reparto, rango e stipendio sono esempi di attributi dei dipendenti. Per differenziare 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 numero di sicurezza sociale (che è univoco per tutti i dipendenti) viene spesso utilizzato come chiave primaria di una tabella Employee. A volte più attributi possono truccare anche 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 quelle 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, è normale avere confusione sulla scelta di un'entità rispetto a un attributo per rappresentare un certo oggetto parola reale. Ad esempio, l'indirizzo del dipendente deve essere rappresentato come un attributo o un'altra entità (collegata all'entità dipendente attraverso una relazione)? Una regola generale è che, se un dipendente ha più di un indirizzo, allora l'indirizzo deve essere un'entità (perché gli attributi non sono a valore prefissato). Allo stesso modo, se la struttura dell'indirizzo è importante da catturare, allora di nuovo l'indirizzo dovrebbe essere un'entità (perché gli attributi sono atomici).