Je nach Bundesland finden sich in der BRD unterschiedliche Vorgaben in der gymnasialen Oberstufen bezüglich der Inhalte. Allerdings wurde spätestens mit der Verabschiedung der aktuell gültigen EPA (Einheitliche Prüfungsanforderungen für das Abitur) durch die Kultusministerkonferenz (KMK) im Jahr 2003 deutlich, dass zumindest in der Vorbereitungsgruppe eine grosse Mehrheit die Notwendigkeit der Datenbankmodellierung im Informatikunterricht unterstützt (vgl. www.kmk.org/doc/beschl/EPA-Informatik.pdf ). Immerhin wurden vier der 20 Beispielaufgaben so formuliert, dass sie mit Hilfe einer Datenbankmodellierung (ER und SQL werden explizit benannt) bearbeitet werden müssen.
Nun stellt sich – wie für viele Gegenstände des
Informatikunterrichts – die Frage nach der Umsetzung und den dazu
unabdingbaren Hilfsmitteln, den Werkzeugen und den Techniken, die bei der
Modellierung nützlich sind. Aus der Sicht der Didaktik können –
ausgehend vom wissensbasierten Paradigma – solche Modellierungen
mit Mitteln spezialisierter Inferenzmaschinen durch eine Reihe von Fakten
und Regeln vorgenommen werden (häufig mit der Programmiersprache Prolog
umgesetzt).
Die zweite Variante besteht in der Regel in der Modellierung mit Hilfe
von Entity-Relationship-Diagrammen, die dann mit einer Datenbank
implementiert werden. Als dritte Variante bietet sich an, die (auch für
andere Aufgabenbereiche notwendige) objektorientierte Modellierung (OOM)
zu verwenden.
% % from buzhug import Base from datetime import date # erstelle Tabelle 'teams' teams = Base('teams') teams.create(('name',str),('stadt',str))Wie dem Codeschnipsel entnommen werden kann, wird hier das Objekt
teams
aus der Klasse Base
erzeugt und verfügt über
die Methode create
. Daneben existieren die Methoden:
open
(um eine bestehende Tabelle zu öffnen), insert
(um einen Datensatz einzufügen) teams.insert(name="Arsenal",
stadt="London")
update
(um einen Datensatz zu ändern).
Wie kann ein Datensatz gefunden werden?
% % datensatz=[r for r in teams if r.city == "London" ][0]liefert den Datensatz, der dann z.B. mit
teams.update(datensatz,
name= "Aston Villa")
geändert werden kann.Soll mit erstellten Datenbanktabellen gearbeitet werden, die SQL-kompatibel sind, so lohnt ein Blick in SQLite – eine kleine Bibliothek, mit der transparent auf SQL-Dateien zugegriffen werden kann: pysqlite.org