Python und Datenbanken
Python bietet sehr einfach die Nutzung von Datenbankmanagementsysteme (DBMS) an. Im Folgenden wird anstelle des sperrigen Wortes einfach von Datenbanksystem gesprochen. Was ist der Vorteil eines Datenbanksystems?
Wir trennen dadurch Daten von Programm und müssen uns nicht kümmern um:
- die Speicherung der Daten
- die Verwaltung der Daten
Wir übergeben einfach unserer Datenbank unsere Daten und im Folgenden können wir dann über unser Programm bestimmen, was mit den Daten passieren soll. Meistens möchte man diese in irgendeiner Form auswerten oder einfach nur ausgeben. Wobei bei der Ausgabe gerne eine Auswahl (Selektion) stattfindet, damit nur gerade benötigte Daten angezeigt werden.
Konkretes Beispiel, das wir Schritt für Schritt umsetzen
Wie sieht das in einem konkreten Beispiel aus?
Wir wollen einen Geburtstagswarner programmieren, der seine Daten in einer Datenbank speichert. Dazu benötigen wir Vorname, Nachname und das Datum des Geburtstags. Wer mag, kann noch Telefonnummer und E-Mail mit in die Daten aufnehmen. Im ersten Schritt müssen die Daten über ein Formular eingegeben und gespeichert werden können.
Diese Daten können durchsucht werden.
Zusätzlich können die Daten ausgegeben werden mit der gewünschten Sortierreihenfolge, z.B. nach dem Vornamen oder Nachnamen oder Geburtsdatum.
Und als Bonbon sollen immer die kommenden 3 Geburtstage beim Start des Programms angezeigt werden. Wir haben hier also eine Selektion der Daten nach einem bestimmten Kriterium und eine sortierte Ausgabe.
Und zu guter Letzt wollen wir auch wieder Daten ändern (Tippfehler kommen vor) und auch löschen (manchen Menschen möchte man nicht mehr zum Geburtstag gratulieren) können.
Das zur Funktion. Was bietet uns Python zum Thema Datenbanken?
Verschiedene Datenbanksysteme
Mit Python können wir verschiedene Datenbanksysteme wie MySQL, SQLite, Oracle, PostgreSQL und weitere Datenbanken nutzen.
Über ein Datenbanksystem kann man sehr einfach Daten verwalten. Dazu gehört:
- Datensätze anlegen
- Datensätze löschen
- Daten ändern
- Daten suchen
- Daten sortieren
Im folgenden Kapitel wollen wir mit SQLite arbeiten. Diese Variante ist ein optimaler Einstieg in das Thema Datenbanken. Die grundsätzliche Programmierung ist bei allen Datenbanken die Gleiche. Der Vorteil bei SQLite ist, dass dieses bereits als Modul in Python vorhanden ist und direkt als Datei bei dem Softwareprojekt eingebettet ist. Wer im Dateisystem nachsehen mag – es ist eine „.db“ -Datei.
Der große Vorteil für den Einsteiger ist: Wir müssen keine Client-Server-Datenbank wie beispielsweise bei MySQL installieren. So kann auch sehr einfach die Anwendung mit der Datenbank und bereits erfasste Daten weitergegeben werden.
Aber Schritt für Schritt.
Unsere Lernanwendung für Datenbank-Nutzung
Im Folgenden wollen wir die Anwendung „Geburtstagswarner“ programmieren, die Geburtstage verwaltet. Dafür nutzen wir die folgenden Datenfelder:
- Vorname
- Nachname
- Geburtstag
Als Aktionen gibt es:
- Datensatz anlegen
- anzeigen
- ändern
- löschen
- suchen
- sortieren
Dies setzen wir Schritt für Schritt in den folgenden Kapiteln um und lernen so den Umgang mit Datenbanken in Python.