Python und Datenbanken

Was sind überhaupt Datenbanken?

Arbeitet die ersten Arbeitsblatt in diesem Moodlekurs Datenbanken durch und erstellt Objektkarten für eure eigene Person mit einer Freizeitaktivität und dem Lieblingsfach.

Nach Bearbeitung der Aufgaben auf Moodle sollten die Begriffe Entität, Entitätstyp, Tabelle, Attribut, Attributswert geklärt sein.

Datenbank in der Kommandozeile mit SQLite3 erstellen

Startet ein Terminal, wechselt in das Tauschverzeichnis eurer Klasse und gebt den Befehl sqlite3 neu.db ein.

Dies startet die SQLite Kommandozeile und erstellt eine Datei namens neu.db im aktuellen Verzeichnis.

Tabelle anlegen - CREATE TABLE

Diese soeben angelegte Datei ist zunächst leer und es muss eine Tabelle angelegt werden.

Der Befehl hierfür ist: CREATE TABLE tabellenname (spaltenname1 datentyp, spaltenname2 datentyp, ... );

Jeder Datenbank-Befehl endet mit einem Strichpunkt.

In unserem Fall könnte der CREATE-Befehl also so aussehen:

CREATE TABLE schueler ( rowid INTEGER PRIMARY KEY, name TEXT, vorname TEXT, gebdatum TEXT, hobby TEXT, lieblingsfach TEXT );

Der Befehl .schema zeigt dir an, welche Tabellen es in der jeweiligen Datei gibt. So kannst du dir anzeigen lassen, ob der CREATE TABLE-Befehl funktioniert hat.

Datensatz einfügen - INSERT-Befehl

Das Einfügen eines neuen Datensatzes funktioniert so:

sqlite> INSERT INTO schueler (name, vorname, gebdatum, hobby, lieblingsfach) VALUES ("Musterfrau", "Lena", "2001-10-28", "Musikverein", "Mathe");

Fügt euch alle auf diese Weise ein.

Datensätze anzeigen - Der SELECT-Befehl

Führt nun einen SELECT-Befehl aus:

SELECT * FROM schueler;

Der Stern steht dafür, dass alles ausgewählt werden soll, also alle Spalten/Attribute. Nach FROM kommt der Tabellenname.

Damit die Tabelle so wie in diesem Screenshot aussieht, gebt folgende Befehle ein:

SELECT mit WHERE-Klausel

Ladet nun von Moodle aus dem Seminarkurs die Datei TabelleAktuell2.db vom Seminarkurs des letzten Jahres herunter. Öffnet diese mit sqlite3 TabelleAktuell2.db.

Lasst euch mit dem Befehl .schema anzeigen, welche Tabellen hier gespeichert sind.

Mit dem Befehl SELECT * FROM regression01; werden sehr viele Datensätze angezeigt.

Probiert deshalb den Befehl SELECT * FROM regression01 WHERE id>1580; aus.

Mit WHERE kann man Bedingungen hinzufügen, sodass nur bestimmte Datensätze angezeigt werden.

Übung

Schaut, in welcher der Tabellen es Datensätze gibt mit Digit-Werten von weniger als 6.

Mit Python in eine Datenbank schreiben

Begriffe der Objektorientierung

Um die Befehle zu verstehen, mit denen man in Python in eine Datenbank schreiben kann, müsst ihr ein paar Grundlagen über die sogenannte Objektorientierte Programmierung verstehen. Loggt euch hierzu in den Java-Kurs auf Moodle ein und löst die Aufgaben im Abschnitt Objektorientierung.

Studiert den Programmcode auf S. 577 in Bartmann. Macht euch Notizen zu den Befehlen, die man in Python braucht, um in eine Datenbank zu schreiben. Markiert in dem Aufschrieb alle Objekte mit rot und alle Methoden in grün.

Schreibt dann ein Pythonprogramm, mit dem man weitere Schüler in eure Datenbank, die ihr in der Kommandozeile erstellt habt, einfügen könnt. Kontrolliert mit SELECT-Befehlen von der Kommandozeile aus.



























Lösung