programmierung
und datenbanken

Joern Ploennigs

Relationale Datenbanken

Midjourney: Tabular Relief, ref. Ben Nicholson

Ablauf¶

Relationale Datenbanken¶

No description has been provided for this image
Midjourney: Relational Database

Relationale Datenbanken - Grundkonzepte¶

📘 Definition: Relationale Datenbank

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.

  • Daten sind in Tabellenstrukturen (Schemata) organisiert

  • Relation ist hierbei der Begriff für eine Tabelle

  • Eine relationale Datenbank ist eine Menge von Tabellen

Spalte 1 Spalte 2 Spalte 3
Zeile 1 ... ...
Zeile 2 ... ...

Relationale Datenbanken - Grundbegriffe¶

  • Jede Tabelle hat einen Relationennamen (Tabellennamen)

  • Relation steht für die Gesamtheit der Datentupel (Alle Zeilen)

  • Jedes Tupel an Daten besteht aus einer Abfolge von Attributwerten (Einzelne Zeile)

  • Reihenfolge festgelegt durch Relationenschema (Spaltennamen)

Attribut 1 Attribut 2 Attribut 3
Attributwert ... ...
Attributwert ... ...

Beispiel: OpenData Hanse-Stadt Rostock¶

Informationen sind meist über verschiedene Tabellen verteilt und müssen oft zusammengeführt verarbeitet werden, um daraus anwendbares Wissen abzuleiten.

  • Beispiel: https://www.opendata-hro.de
    • Bebauungspläne
    • Gemeinden
    • Baustellen
    • Bodenrichtwerte
    • Adressenliste

Schlüsselattribute¶

  • Gewisse Attribute (Spalten) können als Schlüssel markiert werden

  • Schlüssel sind meist eindeutig (unique) zuordenbar

  • Sie existieren in der Tabelle nur einmal

  • Man kann damit die Zeile (Tupel) identifizieren

  • Zeilennummern eignen sich nicht (können gelöscht werden)

Schlüsseltypen:

  • Einzelnes Attribut oder Menge von Attributen

  • Unique ID (UID) - einzelnes Attribut

  • Globally Unique IDs (GUID) - global eindeutig

  • UUID (universally unique identifier) - ISO Standard

Schlüsselattribute - Beispiel¶

Gemeinden Tabelle

GemeindeID Name Einwohner
1 Dummerstorf 7.329
2 Graal-Müritz 4.278
3 Sanitz 5.831


Schlüssel: GemeindeID

Verweise über Schlüssel¶

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

Schlüsselkonzepte¶

  • Die Schlüssel anderer Tabellen kann man nutzen um auf Tupel in diesen zu verweisen
  • Die eigenen Schlüssel einer Tabelle heißen Primärschlüssel (Primary Key)
  • Die Schlüssel anderer Tabellen heißen Fremdschlüssel (Foreign Key)
  • Die Tabellen werden über Schlüssel in Beziehung gesetzt

Der Fremdschlüssel verweist auf den Primärschlüssel in der anderen Tabelle

Die Rolle von Schlüsseln¶

Schlüssel definieren sogenannte Integritätsbedingungen:

Primärschlüssel

  • Stehen für die Integrität der einzelnen Tabelle

  • Lokale Integrität

Fremdschlüssel

  • Stehen für die Integrität des gesamten Datenbanksystems

  • Globale Integrität

Lesson Learned¶

No description has been provided for this image
https://youtu.be/arj7oStGLkU

Lessons Learned - Prokrastination¶

Lernkarten
  • Etwas Prokrastination ist normal und oft Teil des Arbeitslebens (folgt aus Priotisierung)
  • Prokrastination ist sehr gefährlich, wenn wir den Aufwand falsch einschätzen und sich als grösser herausstellt als die verfügbare Zeit ist

Lessons Learned - Zeitmanagement¶

Lernkarten

fragen?

programmierung
und datenbanken