Modul 164 - Datenbanken erstellen und Daten einfügen

Zurück

Auf dieser Seite dokumentiere ich, wie ich mich auf das "Modul 164 - Datenbanken erstellen und Daten einfügen" für die Lehrstelle vorbereite.

Dieses Modul baut auf das Modul 162: Daten analysieren und modellieren auf.

Dabei orientiere ich mich an den Lernzielen der Modulidentifikation auf der Webseite modulbaukasten.ch.

Mit Unterstützung von ChatGPT und verschiedenen Online-Ressourcen habe ich folgenden Lernplan erstellt:

Lernplan:

Grundlagen relationaler Datenbanken

Definition und Konzepte relationaler Datenbanken

  • Datenbankmodelle:
    • Hierarchisches Modell
    • Netzwerkmodell
    • Relationales Modell
    • Objektorientiertes Modell
    • NoSQL-Datenbanken
  • Bedeutung von relationalen Datenmodellen
  • Interpretation eines logischen Datenmodells

Datenbankmanagementsysteme (DBMS)

  • Überblick über verschiedene RDBMS:
    • MariaDB
    • MySQL
    • SQL Server
    • PostgreSQL
  • Unterschiede und Gemeinsamkeiten der Systeme
  • Technologische Wahl im Modul:
    • Windows 11 mit SQL Server 2019 und MariaDB als empfohlene Plattformen
    • Alternativen mit Linux und PostgreSQL
  • Einschränkungen von SQLite

Erstellung eines Datenbankschemas

  • Einführung in die Datendefinitionssprache (DDL)
  • Wichtige Elemente eines DBMS:
    • Datenbanken, Tabellen, Felder, Zeichensätze, Schemata
  • Datentypen und deren Eigenschaften:
    • Zeichenfolgen, Ganzzahlen, Fliesskommazahlen, Datum/Zeit, Binärtypen
  • Primärschlüssel und Fremdschlüssel
  • Standardwerte für Attribute und Auto-Inkrement-Felder
  • Physisches Datenbankschema mit SQL DDL:
    • CREATE DATABASE
    • CREATE TABLE
    • ALTER TABLE
    • CONSTRAINT
    • FOREIGN KEY

Sicherstellung der referenziellen Integrität

  • Definition und Bedeutung von Integritätsbedingungen (Constraints)
  • Primär- und Fremdschlüssel setzen
  • Einschränkungen:
    • NOT NULL
    • Wertebereiche
    • Standardwerte
  • Regeln für das Ändern und Löschen von Datensätzen
  • Temporäre Deaktivierung von Constraints für bestimmte Operationen

Einfügen von Daten in die Datenbank

  • Einführung in die Datenbearbeitungssprache (DML)
  • INSERT-Befehl für einzelne und mehrere Datensätze
  • Nutzung von DBMS-Frontend-Tools zur Dateneingabe
  • BULK-Import:
    • CSV-Import
    • Problematik bei Primärschlüsseln

Abfragen und Analyse von Daten

  • SELECT-Abfragen mit Filterfunktionen
  • JOIN-Operationen:
    • 1:n-Beziehungen
    • n:m-Beziehungen
  • Komplexe Abfragen mit WHERE, GROUP BY, HAVING, ORDER BY
  • Verwendung von Subqueries und Aggregatfunktionen

Überprüfung der eingefügten Daten

  • Testkriterien zur Datenvalidierung
  • Abfrage von Datenbeständen zur Fehleranalyse
  • Erstellung von Checksummen zur Validierung
  • Prüfung auf referenzielle Integrität:
    • Sicherstellung von UNIQUE- und NOT NULL-Constraints
    • Prüfung von Fremdschlüsseln und deren Korrektheit

Korrektur und Manipulation von Daten

  • UPDATE-Befehl zum Ändern von Datensätzen
  • DELETE-Befehl zum Entfernen von Datensätzen
  • Erweiterte Datenbearbeitung:
    • INSERT INTO ... SELECT zur Datenübernahme zwischen Tabellen
    • Virtuelle Tabellen (Views) zur datenbankinternen Organisation
    • Updates mit Werten aus anderen Tabellen

Datenexport und erneuter Import

  • Daten in Flat-Files exportieren:
    • Export als CSV (mit Trennzeichen)
    • Export als SQL INSERT-Befehle
  • Importierte Daten auf Korrektheit prüfen:
    • Vergleich von Prüfsummen (CHECKSUM TABLE, CHECKSUM_AGG)
    • Überprüfung von NULL-Werten und ungültigen Attributen
    • Nutzung von Aggregatsfunktionen zur Datenvalidierung (COUNT, SUM, MIN, MAX)
  • Fehlerbehebung nach dem Import:
    • Nachträgliche Korrektur von inkonsistenten Datensätzen
    • Anpassung der Datenbankstruktur bei Problemen
    • Übertragung von Daten in neue Tabellen

Projektarbeit: Aufbau einer Datenbanklösung

  • Konzeption und Umsetzung eines eigenen Datenbankschemas
  • Umsetzung aller Phasen von der Modellierung bis zur Datenbearbeitung
  • Praxisbeispiel: Erstellung eines Bibliothekssystems mit:
    • Autoren, Verlage, Genres
    • Bücher und Ausleihsystem mit Kunden

Didaktische Methoden und Werkzeuge

  • Selbstorganisiertes Lernen (SOL) im Modul
  • Nutzung von Arbeitsblättern und Praxisbeispielen
  • Selbstlernkontrolle und Reflexion

2. März - Relationale Datenbanken

Heute ging es um die Grundlagen der relationaler Datenbanken. Dabei habe ich gelernt, was eine relationale Datenbank ist.

Eine relationale Datenbank speichert Daten in Tabellen. Jede Tabelle besteht aus Zeilen (Datensätze) und Spalten (Attribute).

In einer Zeile befinden sich Daten zu einer bestimmten Entität (einzelner Datensatz innerhalb einer Tabelle).

Auch wurde wieder erklärt, was Primärschlüssel und Fremdschlüssel sind.

  • Primärschlüssel:
  • Ein Primärschlüssel ist ein Attribut oder eine Kombination von Attributen, das jede Zeile eindeutig identifiziert.

  • Fremdschlüssel:
  • Ein Fremdschlüssel ist ein Attribut, das auf ein Primärschlüssel einer anderen Tabelle verweist, um eine Beziehung zwischen den Tabellen herzustellen.

Als übung habe ich wieder mit meiner im Modul-162 erstellten MariaDB Datenbank abfragen geübt.

Grundsätzlich war heute also wieder vieles reine repetition des Modul-162.

3.März - Datenbankmodelle

Heute habe ich die verschiedenen Datenbankmodelle gelernt.

Es gibt 5 Datenbankmodelle:

  • Hierarchisches Modell:
  • Daten werden in einer Baumartigen Struktur organisiert.

    Jede Datenzeile hat nur eine übergeordnete Zeile.

  • Netzwerkmodell:
  • Ähnlich dem Hierarchischem Modell, aber hier können Daten mehrere übergeordnete Zeilen haben.

  • Relationales Modell:
  • Das am häufigsten verwendete Modell, bei dem Daten in Tabellen gespeichert werden, die durch Schlüssel miteinander verbunden sind.

  • Objektorientiertes Modell:
  • Daten werden als Objekte gespeichert, ähnlich wie bei der Programmierung mit Klassen und Instanzen.

  • NoSQL-Datenbanken:
  • Diese Datenbanken sind nicht relational und speichern Daten in Formaten wie Dokumenten, Key-Value-Pairs oder Graphen.

    Geeignet für grosse, verteilte Datenmengen.

4.März - Datenbankmanagementsysteme (DBMS)

Ein DBMS ist eine Software, die hilft, Datenbanken zu erstellen, zu verwalten und zu organisieren.

Übliche relationale DBMS

  • MySQL
  • Weit verbreitet und schnell. Verwendet für Webanwendungen.

  • MariaDB
  • Eine Weiterentwicklung von MySQL.

  • PostgreSQL
  • Robustes und Flexibles Relationales Datenbankmanagementsystem (RDBMS).

    Beliebt bei grossen und komplexen Anwendungen.

  • SQL Server
  • Von Microsoft entwickletes RCBMS.

    Oft in Unternehmungsumgebungen verwendet.

  • SQLite
  • Ein Leichtgewichtiges DBMS, das in kleinen Anwendungen verwendet wird.