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:
- Fremdschlüssel:
Ein Primärschlüssel ist ein Attribut oder eine Kombination von Attributen, das jede Zeile eindeutig identifiziert.
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:
- Netzwerkmodell:
- Relationales Modell:
- Objektorientiertes Modell:
- NoSQL-Datenbanken:
Daten werden in einer Baumartigen Struktur organisiert.
Jede Datenzeile hat nur eine übergeordnete Zeile.
Ähnlich dem Hierarchischem Modell, aber hier können Daten mehrere übergeordnete Zeilen haben.
Das am häufigsten verwendete Modell, bei dem Daten in Tabellen gespeichert werden, die durch Schlüssel miteinander verbunden sind.
Daten werden als Objekte gespeichert, ähnlich wie bei der Programmierung mit Klassen und Instanzen.
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
- MariaDB
- PostgreSQL
- SQL Server
- SQLite
Weit verbreitet und schnell. Verwendet für Webanwendungen.
Eine Weiterentwicklung von MySQL.
Robustes und Flexibles Relationales Datenbankmanagementsystem (RDBMS).
Beliebt bei grossen und komplexen Anwendungen.
Von Microsoft entwickletes RCBMS.
Oft in Unternehmungsumgebungen verwendet.
Ein Leichtgewichtiges DBMS, das in kleinen Anwendungen verwendet wird.