Home » Tutorials » Datenbanken » SQLite mit Delphi

SQLite mit Delphi

Relationale Datenbanken

Eine relationale Datenbank besteht, wie oben bereits erwähnt, aus Tabellen, die durch Relationen (Beziehungen) miteinander verknüpft sind. Ein simples Beispiel für eine Relation ist folgendes: Es sollen Adressinformationen von Personen in einer Datenbank gesammelt werden. Gespeichert werden sollen unter anderem Land, Ort und Postleitzahl. Natürlich könnte man für jede Person, die in Zürich lebt die Felder Ort, Postleitzahl und Land ausfüllen. Einfacher und platzsparender ist es allerdings, wenn man eine zweite Tabelle anlegt, die folgende Struktur hat:

  • id
  • ort
  • plz
  • land

„id“ nennt man auch Primärschlüssel, da er jeden Datensatz eindeutig identifiziert. Normalerweise ist es eine Zahl, die beim Einfügen einfach um eins erhöht wird. So gibt es dann die Datensätze mit „id“ = 1, 2, 3, 4, 5, … Die Personen-Informationen liegen in einer Tabelle mit folgendem Aufbau:

  • id
  • name
  • strasse
  • ort

Im Feld „ort“ der Personen-Tabelle steht nicht etwa der Name des Ortes, sondern die id des Ortes aus der Orte-Tabelle. Man spricht hier auch von Fremdschlüssel, da er auf eine fremde Tabelle zeigt. Ein Fremdschlüssel zeigt auf das Primärschlüssel-Feld einer anderen Tabelle. Durch dieses Konstrukt (getrennte Ort- und Personentabellen) lassen sich mehrere Personen demselben Ort zuweisen. Sollte es (so unwahrscheinlich der Fall auch sein mag) eine Postleitzahländerung geben, muss diese nur an einer statt an vielen Orten vorgenommen werden. Auch das spätere Hinzufügen von Informationen – beispielsweise der Einwohnerzahl – geschieht nur in der Orte-Tabelle; die Personentabelle bleibt davon unberührt, die Informationen können aber trotzdem sofort von überall erreicht werden.