Aggiornamento:
veda questo articolo nel mio blog in cui cerco di coprire l'argomento in modo più dettagliato:
Un'entità è un termine dallo entity-relationship model
.
A relational model
(lo schema del database) è uno dei modi per implementare il modello ER.
Le tabelle relazionali rappresentano le relazioni tra tra tipi semplici come numeri interi e stringhe, che a loro volta possono rappresentare tutto: entità, attributi, relazioni.
Non si può sapere che cos'è solo dalla struttura relazionale, è necessario vedere il modello ER.
Per tabella persons
,
id name surname
1 John Smith
id
, name
e surname
sono entità del mondo reale e può o non può rappresentare entità nel modello ER sottostante.
Il fatto di un record presente nella tabella significa che queste entità sono nella seguente relazione: "person 1
ha nome John
e ha cognome Smith
".
Nell'esempio sopra, l'entità è definita da id
(dal punto di vista del modello).
Se una persona cambia il suo nome da John
a Jack
, la persona rimane la stessa (di nuovo, dal punto di vista del modello), ma viene collegata a un altro name
.
Nell'esempio sopra name
e surname
può essere trattata come attribute
(al contrario di entity
), ma ancora una volta, è necessario vedere il modello ER che questo schema implementa per dire di cosa si tratta.
In alcune mappature del modello ER-a-relazionale, un'entità deve essere definita in una tabella referenzeable con un FOREIGN KEY
da considerarsi un entity
(che dovrebbe vincolare il suo dominio).
Tuttavia, questo vincolo può esistere ma non essere rappresentato in un database (a causa di limitazioni tecnologiche o altro).
Come, non è possibile mantenere un elenco di tutti i possibili nomi, ma il nome di @#$^#
è molto probabilmente un non-nome, quindi, non appartiene al dominio dei nomi.
Pertanto, uno attribute
è un entity
che può partecipare a una relazione ma non può essere contenuto in una tabella di definizione del dominio.
Ad esempio, la tabella prices
:
good_id price
definisce relazioni tra l'insieme di prodotti (che è definito dalla tabella goods
) e l'insieme di numeri reali (che non può essere contenuto in una tabella poiché è nemmeno numerabile).
Ancora ogni prezzo (come $2.00
) è anche un'entità del mondo reale.
Sono d'accordo con te. Una "Entità" è solitamente la rappresentazione di un oggetto del mondo reale. Una tabella PERSON è l'entità che rappresenta una persona del mondo reale. Cose come nome, cognome, ecc. Sono attributi dell'entità. –