TigerJython4Kids | HomeTurtlegrafikRobotikDatenbanken |
DU LERNST HIER... |
wie du Datenbanken als digitale Informationsspeicher verwenden kannst und das Computersysteme mehr als nur Rechenmaschinen sind, denn sie können Daten gemäss bestimmter Kriterien millionenfach schneller verarbeiten als der Mensch und die Grösse des Datenspeichers ist praktisch unbegrenzt. Da in unserer digitalen Gesellschaft täglich enorme Mengen von Information in Datenbanken gesammelt und weiter verarbeitet werden, sind grundlegende Kenntnisse über Datenbanken auch für dich wichtig, damit du beispielsweise verstehst, wie soziale Medien und personalisierte Werbung funktionieren, und wie du dich vor dem Missbrauch von deinen eigenen Personendaten schützen kannst. |
MUSTERBEISPIEL |
Viele Informationen werden in Form von Tabellen strukturiert. Gegenüber einer Beschreibung als Text können die so strukturierten Daten viel effizienter gespeichert und weiter verarbeitet werden. Aus diesem Grund sind Tabellen das Basiselement vieler Datenbanken. Im folgenden typischen Beispiel werden Titel und Künstler von aktuell weltberühmten Songs zusammen mit ihrem Rang in einer Hitliste (eines Anbieters von Musik-Downloads) erfasst. Es könnte sich auch um eine Mediathek deiner eigenen Songs handeln. Eine Tabelle besteht aus einer gitterartigen Anordnung von Zeilen (rows) und Spalten (columns). Jede Zeile ist eine Informationseinheit, die Datensatz (record) genannt wird. Der Datensatz enthält die Felder mit den Datenwerten. Die Spalten haben einen eindeutigen Feldnamen (auch Attribut genannt). Der Beginn der Tabelle topsongs sieht also so aus: In der Distribution von TigerJython befinden sich in der Datenbank tigerjython.db mehrere nützliche Tabellen. Du kannst alle Tabellen und ihre Feldnamen (Attribute) mit folgendem Programm anzeigen: from dbtable import * showDbInfoTJ("tigerjython.db") Um die Tabelle topsongs zu verwenden, musst du das Modul dbtable importieren und dann ein (leeres) Tabellenobjekt mit dem Namen topsongs erzeugen. Nachher holst du mit restoreFromTJ() die Tabellendaten aus der Datenbank tigerjython.db und stellst die Tabelle mit print im Ausgabefenster dar. from dbtable import * topsongs = DbTable() topsongs.restoreFromTJ("tigerjython.db") print(topsongs) Ergebnis: Oft möchte man eine Tabelle nach einem der Felder sortiert ausschreiben. Mit nur einer zusätzlichen Programmzeile kannst du die Tabelle nach aufsteigendem Rang sortiert ausschreiben. from dbtable import * topsongs = DbTable() topsongs.restoreFromTJ("tigerjython") topsongs.sort("rank") print(topsongs) Du kannst die Tabelle auch in einer for-Schleife zeilenweise durchlaufen und auf die Felder mit dem Punktoperator zugreifen. Beispielsweise schreibst du mit dem folgenden Programm nur die 5 höchstbewerteten Titel aus. from dbtable import * topsongs = DbTable() topsongs.restoreFromTJ("tigerjython") topsongs.sort("rank") for record in topsongs: if record.rank <= 5: print(record.rank, record.title) Im Ausgabefenster siehst du: |
MERKE DIR... |
Tabellen sind Strukturierungsmittel, damit Daten effizient in einer Datenbank gespeichert, nach bestimmten Kriterien leicht weiter verarbeitet und anschaulich dargestellt werden können. Im Gegensatz zu Variablen sind die Daten in einer Datenbank dauerhaft (oder persistent), "überleben" also die Programmdauer und können jederzeit später wieder verwendet werden. Unter der Datenbank versteht man meist die Datenbankdatei zusammen mit den zugehörenden Programmierwerkzeugen, um die Daten zu manipulieren. |
ZUM SELBST LÖSEN |
|
Dies gilt aber bei weitem nicht für alle Informationen, beispielsweise lässt sich ein mathematischer Beweis nicht in Tabellenform strukturieren. Auch für stark vernetzte Informationen ist die Tabellenform nicht effizient, beispielsweise für einen Stammbaum.
Im Gegensatz zur Tabellenkalkulation oder einer Matrize kannst du aber nicht direkt auf einzelne Felder zugreifen, denn in Datenbanken bildet eine Tabellenzeile als Datensatz eine Einheit.