Grundlagen von Datenbanken: Typen, Modellierung und Optimierung

Eingeordnet in Informatik

Geschrieben am in Deutsch mit einer Größe von 14,2 KB

Datenbanktypen: Eine Übersicht

Es gibt drei Hauptmodelle von Datenbanken: hierarchische, Netzwerk- und relationale.

Hierarchische Datenbanken

Eine hierarchische Datenbank verwendet eine hierarchische Struktur zur logischen Darstellung von Daten. Dateien sind in Hierarchien organisiert, wobei jede Datei in der Regel einer Entität der Datenbank entspricht. Hierarchische Bäume werden mit der Wurzel oben und den Blättern unten dargestellt.

Merkmale hierarchischer Datenbanken

  • Datensegmente sind in einer hierarchischen Struktur angeordnet.
  • Segmente sind durch eine oder mehrere Beziehungen miteinander verbunden.
  • Jeder Knoten besteht aus einem oder mehreren Feldern.
  • Jedes Vorkommen eines übergeordneten Datensatzes kann eine unterschiedliche Anzahl von Vorkommen untergeordneter Datensätze haben.
  • Beim Löschen eines übergeordneten Datensatzes sollten alle untergeordneten Datensätze ebenfalls gelöscht werden (Datenintegrität).
  • Jeder untergeordnete Datensatz muss einen einzelnen übergeordneten Datensatz haben, mit Ausnahme des Wurzeldatensatzes.

Netzwerkdatenbanken

Das Netzwerkmodell versucht, die Mängel des hierarchischen Ansatzes zu überwinden, indem es Viele-zu-Viele-Beziehungen durch eine Netzwerk- oder Graphenstruktur ermöglicht. Eine Netzwerk-Datenstruktur ist einer hierarchischen Struktur sehr ähnlich; tatsächlich ist sie eine Obermenge davon. Wie in der hierarchischen Struktur kann jeder Knoten mehrere Kinder haben, aber im Gegensatz dazu können Knoten auch mehrere Eltern haben. Der Grundgedanke im Netzwerkansatz ist das Konzept der Menge oder des Sets.

Ein Set besteht aus zwei Arten von Datensätzen, die eine Viele-zu-Viele-Beziehung haben. Um diese Art von Beziehung darzustellen, müssen beide Arten von Datensätzen miteinander verbunden sein, oft durch einen Verknüpfungsdatensatz (Join Record).

Eigenschaften von Sets in Netzwerkdatenbanken

  • Der übergeordnete Datensatz wird als Eigentümer bezeichnet, während der untergeordnete Datensatz als Mitglied bezeichnet wird.
  • Ein Set besteht aus einem einzigen Eigentümer-Datensatz und einem oder mehreren Mitglieder-Datensätzen.
  • Jedes Set-Vorkommen ist eine Sammlung von Datensätzen, von denen einer der Eigentümer und die anderen Mitglieder sind.
  • Alle Eigentümer-Datensätze eines Set-Vorkommens sollten vom gleichen Datensatztyp sein.
  • Der Datensatztyp des Eigentümers eines Set-Typs muss sich von den Datensatztypen der Mitglieder unterscheiden.
  • Es ist nur erlaubt, dass ein Mitgliedsdatensatz einmal im Vorkommen desselben Set-Typs erscheint.
  • Ein Mitglieder-Datensatz kann mit mehr als einem Eigentümer verknüpft sein, d.h., er kann gleichzeitig zu zwei oder mehr verschiedenen Set-Typen gehören.
  • Diese Situation kann durch eine Multi-Ring-Struktur dargestellt werden.
  • Es können mehrere Hierarchieebenen definiert werden, wobei ein Datensatztyp Mitglied eines Sets sein kann, während er gleichzeitig Eigentümer eines anderen Sets ist.

Relationale Datenbanken

Relationale Datenbanken sind die bekanntesten und am häufigsten genutzten Datenbanken, sowohl wegen ihrer einfachen Bedienung als auch wegen ihrer weiten Verbreitung und Verfügbarkeit für alle Benutzer. In einer relationalen Datenbank ist es das Ziel, dass der Benutzer die Datenbank als eine einfache und einheitliche logische Struktur von Beziehungen (Tabellen) wahrnimmt. Relationale Systeme sind wichtig, da sie viele Arten der Datenverarbeitung ermöglichen und Einfachheit sowie Allgemeingültigkeit bieten. Dies erleichtert Endbenutzern den Zugang, verkürzt Lernzeiten und ermöglicht eine einfache Abfrage von Informationen.

Relationale Datenbanken bestehen aus einer oder mehreren Tabellen, die Informationen organisiert zusammenfassen. Tabellen sind ein effektives Mittel zur kompakteren Darstellung von Informationen und ermöglichen den Zugriff auf Daten aus zwei oder mehr Tabellen.

Grundlegende Prinzipien relationaler Datenbanken

  • Enthalten in der Regel mehrere Tabellen.
  • Eine Tabelle enthält eine festgelegte Anzahl von Feldern.
  • Die Namen der Tabellenfelder sind unterschiedlich.
  • Jede Tabellenzeile ist einzigartig.
  • Die Reihenfolge der Datensätze und Felder ist nicht festgelegt.
  • Für jedes Feld gibt es eine Reihe von möglichen Werten (Domäne).
  • In den Tabellen stellen Zeilen Datensätze (Sammlungen von Daten über einzelne Elemente) und Spalten Felder (bestimmte Attribute eines Datensatzes) dar.
  • Bei Abfragen verknüpft eine relationale Datenbank Informationen aus einem Feld einer Tabelle mit Informationen aus einem Feld einer anderen Tabelle und erzeugt so eine dritte Tabelle, die die angeforderten Daten aus beiden Tabellen kombiniert.
  • In diesen Datenbanken sind die zulässigen Operationen im Wesentlichen Aktualisierungen (d.h. Einfügen, Löschen und Ändern) sowie Abfragen.
  • Die Grundlage aller Operationen bildet die relationale Algebra.
  • Sie werden für alle relationalen Sprachen wie SQL verwendet, und die grundlegende Verarbeitung muss Integritätsregeln erfüllen.
  • Diese Regeln stellen sicher, dass die Integrität des Modells die Realität plausibel abbildet und Widersprüchlichkeiten vermieden werden.
  • Sie umfassen auch die Einzigartigkeit des Primärschlüssels, die Domänenintegrität und die referenzielle Integrität.

Vorteile relationaler Datenbanken

  • Kompatibilität und Standardisierung.
  • Zuverlässigkeit.
  • Garantierte Datenunabhängigkeit.
  • Verfügbarkeit zahlreicher kommerzieller Systeme zur Auswahl und anschließender technischer Unterstützung.
  • Garantierte Konnektivität zu Standard-Programmiersprachen.
  • Eine relationale Datenbank ist eine stabile und kompatible Plattform mit klar definierten Ausdrucksmöglichkeiten und Grenzen.
  • Bietet Werkzeuge zur Vermeidung von Duplikaten und Redundanz durch Schlüsselfelder.
  • Garantiert referentielle Integrität: Beim Löschen eines Datensatzes werden alle abhängigen Datensätze ebenfalls gelöscht.
  • Fördert die Normalisierung, was die Verständlichkeit und Anwendbarkeit erhöht.
  • Kann von mehreren Benutzern und/oder Anwendungen gemeinsam genutzt werden.
  • Die Daten sind unabhängig von der verwaltenden Software (DBMS). Jede Anwendung kann die Daten nutzen (Datenunabhängigkeit).

Ein weiterer großer Vorteil des relationalen Modells ist die Definition einer eigenen Algebra, der relationalen Algebra. Alle möglichen Operationen auf Tabellen werden durch eine Kombination von nur fünf Basisoperatoren erreicht: RESTRICT (Selektion), PROJECT (Projektion), TIMES (Kartesisches Produkt), UNION (Vereinigung) und MINUS (Differenz). Für die Benutzerfreundlichkeit wurden darüber hinaus drei weitere Operatoren definiert: JOIN, INTERSECT (Schnittmenge) und DIVIDE (Division), obwohl diese durch die Anwendung der oben genannten Basisoperatoren abgeleitet werden können. Das DBMS erlaubt dem Benutzer jedoch in der Regel nicht, die relationale Algebra direkt zu verwenden. In der Regel wird mit der Datenbank über eine speziell entwickelte Datenbanksprache interagiert, wie die SQL-Sprache. Dies ist eine deklarative Sprache (Structured Query Language), deren Abfragen vom DBMS in eine Reihe relationaler Operationen zerlegt werden.

SQL-Abfragen und ihre Anwendung

SQL-Abfragen bieten eine große Flexibilität bei der Verwaltung von Informationen. Durch sie können Informationen in einer relationalen Datenbank abgerufen, gespeichert oder einfach vom Benutzer verwaltet werden. Aus diesem Grund ist SQL (Structured Query Language) zu einem Standard geworden, der von den meisten relationalen Datenbankmanagementsystemen (DBMS) implementiert wird. Im Rahmen einer SQL-Abfrage werden die Zeilen sortiert, wenn die Datenbank durch den entsprechenden SQL-Befehl dazu angewiesen wird. Die Spaltenauswahl und deren Reihenfolge werden durch die jeweilige Abfrage und Syntax bestimmt.

Einfaches SQL-Abfragebeispiel

Zeigt die Felder Id, Name und Jahr für alle Datensätze, die der Marke 'FIORINO' entsprechen.

Phasen der relationalen Datenbankplanung

Konzeptionelles Design

Der konzeptionelle Rahmen ist eine Informationsquelle für das logische Design der Datenbank. Zu diesem Zeitpunkt muss ein konzeptioneller Rahmen erstellt werden, um die gegebene Situation zu beschreiben. Dieses Schema wird als konzeptionelles Schema bezeichnet. Bei der Konstruktion des Systems wird die Semantik (Bedeutung) der Daten, die eine Situation charakterisieren, erfasst. Dazu gehören Entitäten, Attribute und Beziehungen.

Ziele des konzeptionellen Designs

  • Die Sichtweise jedes Benutzers auf die Daten.
  • Die Art der Daten, unabhängig von ihrer physischen Darstellung.
  • Die Nutzung der Daten in verschiedenen Anwendungsbereichen.

Logisches Design

Der Prozess des logischen Designs umfasst den Aufbau der Informationsstruktur, die die gegebene Situation kennzeichnet, unabhängig vom spezifisch verwendeten DBMS. Das logische Schema ist eine Informationsquelle für das physische Design. Dies ist die Phase, in der das konzeptionelle Schema in Tabellen und Datenstrukturen umgewandelt wird, die spezifisch für das relationale Modell sind. In diesem Stadium ist ein zentraler Aspekt der Normalisierungsprozess, eine Technik, die verwendet wird, um sicherzustellen, dass die Tabellen und Beziehungen zwischen den Tabellen optimal in Bezug auf Effizienz und Datenqualität im Datenmanagement sind. Wenn das konzeptionelle und logische Design keine genaue Darstellung der Realität liefern, sind die Vorteile der relationalen Datenbank begrenzt, unsicher und können die Bedürfnisse der Benutzer weder in der Gegenwart noch in der Zukunft erfüllen.

Physisches Design

Im weitesten Sinne ist der Zweck des physischen Designs zu beschreiben, wie das in der vorherigen Phase erhaltene logische Schema physisch umgesetzt wird.

Aspekte des physischen Designs

  • Erstellung eines Satzes von Relationen (Tabellen) und der darauf anzuwendenden Beschränkungen.
  • Bestimmung der Speicherstrukturen und Zugriffsmethoden, die zur Erzielung optimaler Leistung verwendet werden.
  • Design des Systemsicherheitsmodells.

Konzeption: Das Entity-Relationship-Modell im Detail

Im Entity-Relationship-Modell wird ein Ausschnitt der Realität durch eine kleine Anzahl grundlegender semantischer Konzepte (grafische und sprachliche Darstellungen) abgebildet.

Eine Entität bezeichnet jedes Objekt oder Konzept, das im Kontext der Situation unterschieden werden kann (z.B. Dinge, Personen, abstrakte Begriffe oder Ereignisse wie Autos, Häuser, Mitarbeiter, Kunden, Firmen, Organisationen, Prozesse, Rollen, Kurse, Konzerte). In der Praxis entspricht eine Entität einer Tabelle und wird grafisch durch ein Rechteck dargestellt.

Attribut: Jede Entität besitzt eine Reihe von Eigenschaften oder Attributen: Informationseinheiten, die Entitäten charakterisieren oder beschreiben. Darüber hinaus besitzt jede Entität eine Identität: eine Eigenschaft, die sie eindeutig identifizierbar macht und als Primärschlüssel dient, um jedes Tupel der Instanz eindeutig zu erkennen. In der Praxis entsprechen Attribute den Feldern in einer Tabelle, wobei die Reihenfolge der Attribute keine Rolle spielt und keine zwei Attribute denselben Namen haben sollten.

Identifikator: Ein Identifikator einer Entität ist ein Attribut oder eine Kombination von Attributen, die jedes Tupel eindeutig identifiziert. Es darf keine zwei Vorkommen mit demselben Identifikatorwert geben.

Relationen (Beziehungen)

Jede Entität ist mit anderen Entitäten oder Entitätengruppen verbunden, um Beziehungen zu pflegen. Im E/R-Diagramm wird eine Beziehung mit einer Raute dargestellt, und jede Beziehung hat einen eindeutigen Namen, der ihre Funktion beschreibt.

Designprozess im ER-Modell

  • Identifizieren Sie die Entitäten, die die Datenbank abbilden muss.
  • Bestimmen Sie die Beziehungen und Kardinalitäten zwischen den verschiedenen identifizierten Entitäten.
  • Klassifizieren Sie diese Beziehungen nach folgenden Typen:
    • Eins-zu-Eins (1:1) (z.B. ein Paket hat nur eine Sendungsnummer).
    • Eins-zu-Viele (1:N) (z.B. auf einem Grundstück können mehrere Gebäude stehen).
    • Viele-zu-Viele (N:M) (z.B. Verkauf von Grundstücken: ein Grundstück kann mehrere Besitzer haben, und jeder Besitzer kann mehrere Grundstücke besitzen).
  • Bestimmen Sie die Eigenschaften (Attribute) jeder Entität.
  • Definieren Sie den Primärschlüssel (eindeutiger Identifikator) für jede Entität.
  • Bestimmen Sie Sekundärschlüssel, falls zutreffend.
  • Bestimmen Sie Verallgemeinerungshierarchien (falls vorhanden).
  • Zeichnen Sie das Entity-Relationship-Diagramm.

Normalisierung von Datenbanken

Einfach ausgedrückt, ist der Normalisierungsprozess die Strukturierung von Informationen in Tabellen. Diese Tabellen werden so strukturiert, dass sie bestimmten Formaten, den sogenannten Normalformen, entsprechen. Je höher die Normalform, desto strengere Kriterien werden erfüllt und desto einfacher ist die Datenbehandlung.

Erste Normalform (1NF)

Keine mehrwertigen Felder. Alle Zeilen sollten die gleiche Anzahl von Spalten haben.

Zweite Normalform (2NF)

Alle Nicht-Schlüssel-Attribute müssen vollständig vom Primärschlüssel abhängen.

Dritte Normalform (3NF)

Keine transitiven Abhängigkeiten. Ein Nicht-Schlüssel-Feld darf nur vom Primärschlüssel abhängen und nicht von einem anderen Nicht-Schlüssel-Feld.

Vierte Normalform (4NF)

Eine Zeile darf keine zwei oder mehr mehrwertigen Felder enthalten (solche, die gleichzeitig mehr als einen Wert für eine Entität enthalten können).

Fünfte Normalform (5NF)

Eine Tabelle kann nur Schlüsselattribute speichern, die ausschließlich von der Beziehung abhängen.

Verwandte Einträge: