- Eine Entity ist immer ein existierendes Objekt,
eine Beobachtung, eine Transaktion oder Person, über welches
Informationen in einer Datenbank abgelegt werden. Beispiel:
Eine bestimmte Person (Frau Meier), ein realer Gegenstand (Das Buch "Vom
Winde verweht"), oder einfach nur ein Ereignis, wie Kaffe trinken oder
Buch ausleihen.
- Eine Entitätsmenge (Entity - Set) ist die Zusammenfassung
einzelner Entities, die ähnliche oder vergleichbare Eigenschaften haben.
Beispiel: Alle Bücher in einer Bibliothek, die Einwohner einer Stadt oder alle
Raucher.
Entitätsmengen
(wir erinnern uns an die Mengenlehre, der ja SQL zugrunde
liegt) können sich natürlich mit der Zeit (Merke: Zeitabhängigkeit) ändern.
- Attribute sind Eigenschaften oder Merkmale einer Entität. Sie sind die
typischen Eigenschaften einer Entität und charakterisieren diese Entität.
Beispielsweise sind die Kunden einer Firma eine Entitätsmenge, also eine
Ansammlung von einzelnen Entitäten. Sowohl eine Entity als auch eine
Entitätsmenge werden durch Attribute charakterisiert. Als Attribute werden
z.B. Kundennummer, Name, Vorname, Wohnort oder Straße bezeichnet. Es gibt
sowohl einwertige Attribute zusammengesetzte Attribute. Ein Buch (also eine
Entity) kann mahrere Autoren haben, ist also eine Entity mit mehrwertigem Attribut.
Ein typisches Beispiel für ein zusammengesetzes Attribut ist die Adresse,
die aus Postleitzahl, Ort und Straße besteht.
- Ein Entitätstyp beschreibt eine Menge von Entitäten mit
gleichen Attributen. Ein Entitätstyp könnte ein Buch sein, welches mit den
Attributen: Titel, Autor, Verlag, ISBN-Nummer in der Datenbank definiert
wurde. Der Entitätstyp darf nicht mit Entitätsmenge verwechselt werden !
Eine Entitätsmenge ist eine Sammlung von vielen Büchern mit bestimmten
Gemeinsamkeiten (alle eines Autors), ein Entitätstyp ist mehr als nur
die Bücher eines Autors, es sind alle Bücher, die einen Autor, einen Verlag,
eine ISBN-Nummer haben. Damit lassen sich alle im Buchhandel käuflichen
Bücher beschreiben, aber nicht die privat gedruckten (wie z.B. dieses
Handbuch für MySQL hier). Der Grund liegt darin, daß dieses Handbuch keine
ISBN-Nummer besitzt. Es ist also nicht vom gleichen Entitätstyp, sehr wohl
kann es aber zu der Entitätsmenge der Bücher einer Bibliothek gehören. Jede
Entität eines Entitätstyps kann über die Attributwerte eindeutig
identifiziert werden. In der Praxis genügt aber oft schon die Angabe einiger
Attribute, um die Entität eindeutig bestimmen zu können. Diese Attribute
nennt man Schlüsselattribute. und deren Zusammenfassung die Schlüssel.
- Schlüssel (key) oder Schlüsselkandidaten (candidate key) ist die
minimale Kombination von Attributen, die eine Entität aus einer
Entitätsmenge eindeutig identifiziert. Minimal bedeutet hier, daß man nicht
alle Attribute angeben muß, damit man eine Person oder ein Buch eindeutig
identifizieren kann. Die Zahl der notwendigen oder auch hinreichenden
Attribute hängt natürlich stark von den Inhalten ab. Möchte man z.B. eine
Person eindeutig identifizieren, so muß man sich die Attribute einer Person
(also Entity) anschauen:
PERSON, beschrieben durch PersNr, Name, Vorname, Adresse, Geburtsdatum, Beruf
Leider ist die Kombination von den Eigenschaften (Attributen) dieser Entity
PERSON nicht minimal, ist also kein Schlüssel. In der Praxis ist das auch
wenig praktisch, da man, um eine Person aufzufinden, oder mit anderen Enties
zu verknüpfen (trinkt Kaffee), man ja alle Attribute in die Datenbank
eintippen muß, damit eine Abfrage erfolgreich sein kann. Besser ist es hier,
das naheliegenste als eindeutigen Schlüssel zu bestimmen, die PersNr. Wie
man das aus der Praxis mit Personalausweisenummern kennt, ist diese Nummer
immer ein eindeutiger Schlüssel für Personen. Ein Schlüssel wäre aber auch
die Kombination von Name, Vorname und Geburtsdatum. Krankenkassen z.B. speichern
Personen stets so ab. Über die Angabe dieser drei Attribute finden die
Mitarbeiter jedes Mitglied und alle Vorgänge über dieses Mitglied wieder.
Das diese Kombination ein eindeutiger Schlüssel ist, liegt an der
statistischen Verteilung der Daten. Bei der Angabe von Thomas Schmitz und
einem Datum könnte es Schwierigkeiten geben, bei Zwilligen jedoch nicht, da
diese von ihren Eltern garantiert nicht auf den gleichen Namen getauft
werden. Falls der Schlüssel also nicht in jedem Falle eindeutg ist, macht
das auch nichts. Die Datenbank gibt dann ein paar wenige zur Auswahl aus.
Trotzdem wird diese Kombination als eindeutig bezeichnet.
- Primärschlüssel (primary key) ist häufig identisch mit einem
Schlüssel, z.B:
PERSON (PersNr, Name, Vorname, Adresse, Geburtsdatum, Beruf)
Wenn man sich zwischen mehreren eindeutigen Schlüsseln oder auch
zusammengesetzen Schlüsseln entscheiden kann, nimmt man immer den
einfachsten Schlüssel, der eine Entität (PERSON) eindeutig beschreibt. Dies
ist heir die PersNr, also die Personalnummer. Es häfig eine laufende Nummer
(Siehe hier Kapitel
CREATE unter "autoincrement").
So, nun sind vorläufig alle wichtigen Begriffe der Datenbanktechnik erklärt
worden. Man muß sich also viele Gedanken darüber machen, welche Attribute zu
welcher Entität gehören, welche veränderlich sind, welche von anderen
abhängig sind (Adresse und Postleitzahl), und wie man diese am besten so
ordnet, daß z.B. Redundanzen vermieden werden. Wir möchten ja nicht unsere
Datenbank unnötig aufblähen.