DU LERNST HIER... |
wie man Informationen in einer Datenbank dauerhaft abspeichern kann und wie man später wieder darauf zurückgreift. Dazu erstellst du eine Tabelle mit Personendaten, fügst Datensätze hinzu und speicherst die Tabelle in einer Datenbank. |
MUSTERBEISPIEL |
from dbtable import * persons = DbTable('id', 'name', 'vorname', 'wohnort', 'geschlecht', 'jahrgang') persons.insert(1,'Huber','Lia','Bern','w', 2002) persons.insert(2,'Meier','Luca','Basel','m', 2003) persons.insert(3,'Frech','Tim','Bern','m', 2000) persons.insert(4,'Bauer','Jan','Luzern','m', 2003) persons.insert(5,'Zwahlen','Noah','Thun','m', 2002) persons.insert(6,'Meier','Nina','Biel','w', 2001) print(persons) persons.save('schule.db') |
Ergebnis:
Mit einem Dateimanager kannst du überprüfen, dass im Programmverzeichnis tatsächlich eine Datei schule.db entstanden ist. Wesentliches Merkmal von Datenbanken ist, dass die Daten nach Ende des Programms dauerhaft abgespeichert sind Du kannst also den Computer abschalten und später wieder auf deine Personendatenbank schule.db zugreifen. Du kannst diese Datei sogar auf den Computer eines Klassenkameraden kopieren und er kann die Daten dort verwenden. Dazu verwendest du den Befehl restore(), um die Daten aus der Datenbank wieder in ein DbTable-Objekt zurück zu holen. Du musst als Variablenname persons wählen, da in der Datenbank die Tabelle mit diesem Namen abgelegt wurde. from dbtable import * persons = DbTable() persons.restore("schule.db") print(persons) |
MERKE DIR... |
Beim Erzeugen einer Tabelle müssen die Feldnamen festgelegt werden. In den Feldern können nur ganze Zahlen (int), Dezimalzahlen (float) und Zeichenketten (str) verwendet werden. Später wirst du auch lernen, wie man Bilder abspeichern kann. Mit save() speicherst du die Tabellendaten in der angegebenen Datenbank ab, mit restore() kannst du Daten jederzeit später mit einem anderen Programm wieder herstellen. Natürlich kannst du die Datei schule.db auch auf einen anderen Computer kopieren und von dort mit einem Programm im gleichen Verzeichnis auf die abgelegten Daten zurückgreifen. |
ZUM SELBST LÖSEN |
|
Es handelt sich um eine Datenbank von SQLite, einem insbesondere auf Smartphones weit verbreiteten Datenbank-System zur lokalen Verwaltung von Daten, das keinen Datenbankserver benötigt. Mit einem Datenbank-Browser, beispielsweise DBBrowser for SQLite (download von http://sqlitebrowser.org), kann man die Datenbank untersuchen. Man erkennt, dass beim Speichern der Tabelleninstanz persons eine Datenbank-Tabelle "persons" mit den entsprechenden Datensätzen entstanden ist. Beim wiederholten Speichern wir die vorhergehende Datenbanktabelle zuerst gelöscht.
Beim Abspeichern in der SQLite-Datenbank wird der Variablenname als Tabellenname verwendet. Es ist aber didaktisch besser, gar nicht von der Tabelle zu sprechen, die in der SQLite-Datenbank erzeugt wird, sondern nur, dass das DbTable-Objekt gespeichert und wieder hergestellt wird.
Der Datentyp der Felder der internen SQLite-Tabelle wird aus dem ersten eingegebenen Datensatz bestimmt.
Die Variante mit der Pfad-Angabe muss du insbesondere dann verwenden, wenn TigerJython im Ordner installiert ist, in dem du keine Schreibreche hast, z.B. c:\Program Files.