Relationale Datenbanken#

If you think you understand SQL, you’re probably wrong.
— C. J. Date
Folien/PDF#
Einführung in relationale Datenbanken#
Relationale Datenbanken bilden das Fundament moderner Informationssysteme und sind aus der heutigen Ingenieurspraxis nicht mehr wegzudenken. Eine relationale Datenbank ist ein Datenbanksystem, das Informationen in Tabellen speichert, wobei die Daten als Tupel organisiert sind und jede Spalte einen definierten Datentyp besitzt. Diese strukturierte Herangehensweise ermöglicht es Ingenieuren, komplexe Datenbestände effizient zu verwalten und sinnvoll miteinander zu verknüpfen.
Eine relationale Datenbank ist ein Datenbanksystem, das Informationen in Tabellen (Relationen) speichert, wobei die Daten als Tupel (Zeilen) organisiert sind und jede Spalte (Attribut) einen definierten Datentyp besitzt.
Der Begriff “Relation” stammt aus der Mathematik und bezeichnet eine Tabelle mit all ihren Datenzeilen. Eine relationale Datenbank besteht somit aus einer Sammlung von Tabellen, die logisch miteinander verbunden sind. Für Ingenieure bedeutet dies beispielsweise, dass Projektdaten, Materiallisten und Kostenkalkulationen in separaten, aber verknüpften Tabellen gespeichert werden können.
Tabellenstruktur und Grundbegriffe#
Jede Tabelle in einer relationalen Datenbank besitzt einen eindeutigen Namen (Relationennamen), der ihren Inhalt beschreibt. Die Relation selbst steht für die Gesamtheit aller Datentupel in dieser Tabelle. Ein Tupel entspricht einer einzelnen Zeile und besteht aus einer Abfolge von Attributwerten. Die Bedeutung dieser Werte wird durch das Relationenschema festgelegt, welches die Spaltennamen und deren Anordnung definiert.
Attribut 1 |
Attribut 2 |
Attribut 3 |
---|---|---|
Attributwert |
… |
… |
Attributwert |
… |
… |
In der Umwelttechnik könnte eine Tabelle “Messstationen” beispielsweise Informationen über verschiedene Überwachungsstandorte enthalten. Jede Zeile würde eine konkrete Messstation repräsentieren, während die Spalten Eigenschaften wie Standort, Installationsdatum oder Sensortyp beschreiben.
Eindeutige Schlüssel#
Relationale Datenbanken sind nach festen Prinzpien aufgebaut. Meist sind Informationen über verschiedene Tabellen verteilt (Baustellen, Adressen, Aufträge, etc.) und müssen in Zusammenhang gesetzt werden, um daraus anwendbares Wissen abzuleiten. Dies geschieht über Schlüsselattribute. Das sind spezielle Spalten, die zur eindeutigen Identifikation von Datensätzen dienen. Diese Attribute sind eindeutig zuordenbar und existieren in der Tabelle nur einmal, wodurch sie eine zuverlässige Identifikation jedes Tupels ermöglichen. Zeilennummern eignen sich nicht als Schlüssel, da sie bei Löschvorgängen verändert werden können und somit ihre Eindeutigkeit verlieren.
Schlüssel können als einzelnes Attribut definiert werden oder sich aus einer Menge von Attributen zusammensetzen. Besonders verbreitet sind:
Einzelnes Attribut oder Menge von Attributen
Unique ID (UID) - einzelnes Attribut
Globally Unique IDs (GUID) - global eindeutig
UUID (universally unique identifier) - ISO Standard
Die Stärke relationaler Datenbanken liegt in der Möglichkeit, Tabellen über Schlüssel zu verknüpfen. Dabei werden die eigenen Schlüssel einer Tabelle als Primärschlüssel bezeichnet, während Schlüssel anderer Tabellen als Fremdschlüssel fungieren. Der Fremdschlüssel verweist dabei immer auf den Primärschlüssel in der anderen Tabelle.
Diese Verknüpfung lässt sich am Beispiel von Gemeinden und Bauwerken veranschaulichen. Die Bauwerke-Tabelle enthält neben der eigenen BauwerksID auch die GemeindeID als Fremdschlüssel. Dadurch wird eine logische Verbindung zur Gemeinden-Tabelle hergestellt, ohne dass Gemeindeinformationen in der Bauwerke-Tabelle wiederholt werden müssen. Ein Bauingenieur kann so beispielsweise alle Hotels in Dummerstorf finden, indem er Bauwerke mit dem Typ “Hotel” und der entsprechenden GemeindeID abfragt.
Gemeinden Tabelle
GemeindeID |
Name |
Einwohner |
---|---|---|
1 |
Dummerstorf |
7.329 |
2 |
Graal-Müritz |
4.278 |
3 |
Sanitz |
5.831 |
Primärschlüssel: GemeindeID
Bauwerke Tabelle
BauwerksID |
Bauwerkstyp |
GemeindeID |
---|---|---|
5000 |
Tankstelle |
2 |
5001 |
Hotel |
1 |
5002 |
Kirche |
2 |
Fremdschlüssel: GemeindeID
Integritätsbedingungen und Datenqualität#
Schlüssel definieren wichtige Integritätsbedingungen, die die Qualität und Konsistenz der Daten sicherstellen. Primärschlüssel gewährleisten die lokale Integrität der einzelnen Tabelle, indem sie verhindern, dass identische Datensätze mehrfach gespeichert werden. Fremdschlüssel hingegen sichern die globale Integrität des gesamten Datenbanksystems, indem sie gewährleisten, dass alle Verweise zwischen Tabellen gültig bleiben.
Für Ingenieure ist diese Integrität von entscheidender Bedeutung. In einer Baudatenbank muss beispielsweise sichergestellt sein, dass jeder Verweis auf ein Baumaterial tatsächlich zu einem existierenden Material führt. Ein ungültiger Verweis könnte zu Fehlern in der Kostenberechnung oder Materialbeschaffung führen. Ebenso kritisch ist in der Umwelttechnik die korrekte Zuordnung von Messdaten zu ihren Herkunftsstationen, um falsche Schlüsse über Umweltbedingungen zu vermeiden.
Die Tabellen werden somit über Schlüssel in Beziehung gesetzt, wodurch ein zusammenhängendes und konsistentes Datenmodell entsteht, das die Grundlage für zuverlässige ingenieurtechnische Entscheidungen bildet.