Informatik Klasse 11/12 Datenbankmodelle 1. Das hierarchische Datenbankmodell Die dem hierarchischen Datenbankmodell zugrunde liegende Struktur ist der Baum. Dieses Modell kann sehr komplexe Strukturen aufweisen und somit komplexe Informationsgebilde auf dem Rechner umsetzen. Beispiel: Firma Abteilung 1 Projekt 1 Mitarbeiter 1 Abteilung 2 Projekt 2 Mitarbeiter 2 Mitarbeiter 3 Projekt 3 Mitarbeiter 4 Mitarbeiter 5 Vorteile: - relativ einfache Struktur effiziente Arbeitsweise schnelles Auffinden von Daten Nachteile: - nur eine Zugriffsrichtung auf die Information möglich "reale Welt" häufig nicht in einer Hierarchie darstellbar unflexibel bei Änderungen der Struktur Besipielsweise ist ein Mitarbeiter oft in mehreren Projekten tätig. Auch wird ein Projekt oft von mehreren Abteilungen bearbeitet. (Siehe Netztwerk-Datenbankmodell) 75883452 Informatik * Dresden * Meißen 1[3] Informatik Klasse 11/12 Datenbankmodelle 2. Das Netzwerk-Datenbankmodell Dieses Modell erlaubt kompliziertere Beziehungen zwischen den Objekten. Objekte können wie bei einem Netzwerk miteinander verknüpft werden. Damit soll vor allem eine Doppelspeicherung von Daten vermieden werden. Das Netzwerkdatenbankmodell ist gut für komplexere Datenbanken geeignet, wenn die Struktur über längere Zeit erhalten bleibt. Beispiel: Firma Abteilung 1 Projekt 2 Projekt 1 Mitarbeiter 1 Abteilung 2 Mitarbeiter 2 Mitarbeiter 3 Projekt 3 Mitarbeiter 4 Mitarbeiter 5 Vorteile: - speicher- und laufzeiteffizienter als relationale Modelle effektiver Zugriff auf die Informationen mittels Adressverweisen (Pointer) möglich Minimierung der Redundanz Nachteile: - hoher Einarbeitungsaufwand für den Nutzer bei der Arbeit mit Zeigern (Pointern) enthalten in der Regel keine Abfragesprache unflexibel bei Änderungen der Struktur 75883452 Informatik * Dresden * Meißen 2[3] Informatik Klasse 11/12 Datenbankmodelle 3. Das relationale Datenbankmodell In diesem Modell sind die Daten in Tabellen (Relationen) angeordnet. Zusammenhängende Daten (z. B. Adressen) werden in elementare Beziehungen (z. B. Name, Straße, Nummer, PLZ, Ort) aufgelöst. Letztendlich bleiben einfache Tabellen, die über Schlüsselelemente miteinander verbunden werden können. Beispiel: Datenbank Firma Tabelle Abteilungen: Tabelle Mitarbeiter: Abteilungsnr Abteilungsname Mnr Name Vorname 1 Fertigung 001 Müller Friedrich 1 2 Konstruktion 005 Lehmann Gunther 2 Tabelle Abteilung_Projekte: Tabelle Projekte: Projektbezeichnung Beginn Lfd_Nr Abtnr Pnr Ku-2007 01.07.2007 4 1 Ku-2007 Jr-2009 01.01.2009 6 1 Jr-2009 Für die Elemente der Tabelle werden folgende Bezeichnungen verwendet: Spaltenüberschrift: Attribut Zeile: Tupel (Datensatz, Record) Schnittpunkt Zeile/Spalte: Attributwert - - Abtnr Fremdschlüssel Um sich in der Tabelle zu orientieren, wird üblicherweise ein Attribut ausgewählt, dessen Wertebelegung die eindeutige Identifikation des Tupels und damit seine Unterscheidung von anderen gestattet. Dieses Attribut wird Primärschlüssel genannt. Bietet der Sachverhalt kein derartiges Attribut, wird meist ein "künstlicher" Schlüssel eingeführt (z. B. Mnr) Vorteile: - einfache, übersichtliche Handhabung - Verknüpfung mehrerer Tabellen leicht möglich - einfache Implementierung Nachteile: - kein schneller Suchalgorithmus - hohe Redundanz teilweise unumgänglich - Verknüpfung von Attributen aus verschiedenen Tabellen nur über Schlüssel möglich Ein Primärschlüssel kann als sekundärer Schlüssel vererbt werden. Dann wird er in der abhängigen Tabelle zum Fremdschlüssel (Sekundärschlüssel). 75883452 Informatik * Dresden * Meißen 3[3]