Update:
diesen Artikel in meinem Blog sehen, in denen ich versuche, das Thema näher zu decken:
Eine Entität ist ein Begriff aus der entity-relationship model
. Eine relational model
(Ihr Datenbankschema) ist eine der Möglichkeiten, das ER-Modell zu implementieren.
Relationale Tabellen repräsentieren Relationen zwischen einfachen Typen wie Ganzzahlen und Strings, die wiederum alles darstellen können: Entitäten, Attribute, Beziehungen.
Sie können nicht sagen, was es nur von der relationalen Struktur ist, müssen Sie das ER-Modell sehen.
Für Tisch persons
,
id name surname
1 John Smith
id
, name
und surname
sind Einheiten in der realen Welt und kann oder auch nicht Entitäten in dem zugrundeliegenden ER-Modell darstellen.
Die Tatsache eines Datensatzes in der Tabelle existiert, bedeutet, daß diese Einheiten in der folgenden Beziehung stehen: „person 1
hat Namen John
und hat Nachnamen Smith
“.
In dem obigen Beispiel wird die Entität durch id
(aus der Sicht des Modells) definiert.
Wenn eine Person ihren Namen von John
zu Jack
ändert, bleibt die Person die gleiche (wieder, aus der Sicht des Modells), aber bezieht sich auf eine andere name
.
In Beispiel oben name
und surname
als attribute
behandelt werden (im Gegensatz zu entity
Gegensatz), aber auch hier müssen Sie das ER-Modell sehen, die dieses Schema zu sagen implementiert, was es ist.
In einigen ER-zu-relationalen Modellzuordnungen sollte eine Entität in einer Tabelle definiert werden, die mit einer FOREIGN KEY
als entity
in Bezug gesetzt werden kann (die ihre Domäne einschränken sollte).
Diese Einschränkung kann jedoch existieren, aber nicht in einer Datenbank dargestellt werden (aufgrund von technologischen Einschränkungen oder etwas anderem).
Wie können wir nicht eine Liste aller möglichen Namen führen, aber der Name @#$^#
ist höchstwahrscheinlich ein Nicht-Name, daher gehört es nicht zur Domain von Namen.
Daher ist attribute
ein entity
, der an einer Beziehung teilnehmen kann, aber nicht in einer domänendefinierenden Tabelle enthalten sein kann.
Zum Beispiel die Tabelle prices
:
good_id price
definiert Beziehungen zwischen der Menge der Waren (die durch die Tabelle definiert ist goods
) und die Menge der reellen Zahlen (die in einer Tabelle enthalten ist, kann nicht sein, da es nicht einmal zählbar).
Noch ist jeder Preis (wie $2.00
) eine reale Entität ebenso.
Ich würde Ihnen zustimmen. Eine "Entität" ist normalerweise die Darstellung eines realen Weltobjekts. Eine PERSON-Tabelle ist die Entität, die eine reale Person darstellt. Dinge wie Vorname, Nachname usw. sind Attribute der Entität. –