01 Datenbanken PPP SuS 20241104
Datenbanken
Begriffserklärung
Datenbanken sind hochentwickelte elektronische Systeme zur Organisation, Speicherung, Verwaltung und Verarbeitung von Daten. Sie ermöglichen eine strukturierte Speicherung, effiziente Abfragen und komplexe Bearbeitungen von Informationen, wodurch sie essenziell für moderne Anwendungen in verschiedenen Bereichen wie Wirtschaft, Wissenschaft und Technik sind.
Entwicklung der Datenbanken
Der Umgang mit Wissen und Daten ist ein menschliches Bedürfnis, das seit Jahrtausenden existiert. Bereits die alten Sumerer entwickelten die ersten Formen der Datenverwaltung, etwa durch das Schreiben auf Tontafeln, das insbesondere in der Lagerverwaltung zur Aufzeichnung von Nahrungsmitteln wie Getreide und Fisch diente. Mit dem Fortschritt der Technologie haben sich Datenbanken enorm weiterentwickelt, angefangen von einfachen Aufzeichnungssystemen bis hin zu komplexen relationalen und objektorientierten Modellen.
Grundlagen der Datenbanktheorie
Elemente der Datenbanktheorie
Datenbanken werden in mehreren Schichten entworfen, um eine systematische und strukturierte Datenspeicherung zu gewährleisten:
Anforderungsanalyse: Erfassung der Bedürfnisse und Anforderungen der Benutzer.
Konzeptioneller Entwurf: Erstellung eines umfassenden Modells, das die Datenstruktur beschreibt, ohne Rücksicht auf technologische Aspekte.
Logischer Entwurf: Transformation des konzeptionellen Modells in ein logisches Datenmodell, das die Struktur der Datenbank definieren.
Physischer Entwurf: Festlegung, wie die Daten physisch gespeichert werden, inklusive der Auswahl von Hardware und Software.
Das Ziel ist es, einen effektiven Wissensspeicher für spezifische und nützliche Daten zu erstellen, der den Anforderungen der Benutzer gerecht wird.
Ziele der Datenbankentwicklung
Redundanzfreie Speicherung: Sicherstellung, dass keine doppelten Informationen existieren, um Speicherplatz zu maximieren und Inkonsistenzen zu vermeiden.
Konsistente Daten: Gewährleistung der Widerspruchsfreiheit in den Daten, um die Integrität zu wahren.
Flexible und effiziente Abfragen: Entwicklung von robusten Mechanismen zur Durchführung von Anfragen auf großen Datenmengen, um schnelle und präzise Ergebnisse zu liefern.
Datenbankmanagementsysteme (DBMS)
Ein Datenbanksystem besteht aus einem DBMS und der Datenbank selbst. Das DBMS ist für die Verwaltung, Abfrage, und Sicherheit der Daten verantwortlich und ermöglicht den Benutzern, Daten effizient zu speichern, abzurufen und zu modifizieren. Bekannte DBMS sind MySQL, PostgreSQL und MS SQL Server.
Datenbankmodelle und -systeme
Modellarten
Relationale Datenbanken: Entwickelt von Edgar F. Codd, sind sie das am weitesten verbreitete Datenbankmodell. Sie organisieren Daten in Tabellenform (Relationen), wobei die relationale Algebra die Grundlage bildet. Die Abfragesprache SQL (Structured Query Language) wird verwendet, um Daten zu verwalten und abzufragen. SQLite ist ein häufig verwendetes, leichtgewichtiges DBMS in dieser Kategorie.
Hierarchische und objektorientierte Datenbanken: Diese Modelle sind weniger verbreitet, bieten jedoch spezifische Vorteile für bestimmte Anwendungsszenarien, insbesondere bei der Handhabung von komplexen Datenstrukturen.
Entity-Relationship-Modell (ERM)
Elemente des ERM
Entität: Repräsentiert ein reales Objekt oder einen Informationssatz.
Attribut: Beschreibt die Eigenschaften der Entitäten.
Beziehungen: Definieren die Verknüpfungen zwischen den Entitäten und können komplexe Interaktionen darstellen.
Kardinalitäten: Bestimmen die Anzahl der Verknüpfungen zwischen Entitäten und sind entscheidend für die Datenmodellierung.
Beispiel für ein ER-Diagramm
Eine Datenbank für eine Klassenliste könnte die Entitäten „Schüler“ und „Noten“ umfassen, wobei jeder Schüler mehrere Noten hat und die Beziehungen zwischen diesen beiden Entitätstypen klar definiert sind.
Normalisierung von Datenbanken
Prinzip der Normalisierung
Das zentrale Ziel der Normalisierung ist die Vermeidung von Redundanz und die Maximierung der Konsistenz innerhalb der Datenbank. Es existieren mehrere Normalformen:
1. Normalform: Jede Zelle muss einen atomaren Wert enthalten.
2. Normalform: Alle Attribute müssen vollständig vom Primärschlüssel abhängen.
3. Normalform: Es dürfen keine transitiven Abhängigkeiten zwischen den Attributen bestehen.
Anwendung
Bei der Erstellung und Pflege von Tabellen müssen die oben genannten Normalformen beachtet werden, um eine effiziente und konsistente Datenbankstruktur zu gewährleisten.
Einfache und komplexe Abfragen
Grundlagen
Abfragen sind ein wesentliches Instrument zur Extraktion spezifischer Informationen aus der Datenbank. Die Struktur und Syntax von SQL-Befehlen sind entscheidend für die Effektivität der Abfragen.
Beispiele für SQL-Abfragen
Einfache Abfragen: Abfrage aller Schüler, die in Schaffhausen wohnen.
Komplexe Abfragen: Berechnung der durchschnittlichen Noten aller Schüler in einer bestimmten Klasse oder von Schülern, die spezifische Bedingungen erfüllen,
Aggregation, Gruppierung, und Sortierung sind wichtige Aspekte komplexer SQL-Abfragen.
Übungen und Aufgaben
Die Studierenden werden häufig aufgefordert, eigene ER-Diagramme zu erstellen, Daten zu normalisieren und SQL-Abfragen zu formulieren, um das Gelernte praktisch anzuwenden. Praktische Übungen fördern ein tieferes Verständnis der theoretischen Konzepte von Datenbanken und deren Anwendung in realen Szenarien.