Lehrzeit

Schule & Informatik

Kategorie: Datenbanken (Seite 1 von 2)

Programmieraufgabe 98

Ab dem 9.2.2018 finden die Olympischen Winterspiele in Südkorea statt. Ein guter Anlass um Datenbank praktisch auszuprobieren. Da ich erst funktionales Programmieren bzw. Excel gemacht habe und nun erst mit Datenbanken anfange, benutze ich die Olympische Spiele jetzt einfach als Transferaufgabe. Den eigentlich Stoff erkläre ich wie immer am Beispiel eines Sportvereins. Der Aufgabenablauf für meine Schüler sieht daher in etwa so aus:

Aufgabe

Erstelle eine Excel-Tabelle um alle benötigten Ergebnisse der Olymischen Winterspiele 2018 zu erfassen.

Die Aufgabe ist bewusst schwammig formuliert. Denn ich finde es immer schwierig den Schülern das Kernproblem bei Datenbanken zu verdeutlichen:

„Ermögliche es, Daten zu erfassen, die du noch nicht vollständig kennst. Und Fragen an diese Daten zu beantworten, wobei du den Wortlaut der Frage noch nicht kennst.“

Im Rahmen der Tabelle kann man dann auch prima auf Probleme wie Rechtschreibfehler (Insert- bzw. Update-Anomalie) eingehen, wenn z.B. ein Sportler öfters auftaucht, aber Schreibfehler gemacht werden. Anschließend kann man dann auf die Normal-Formen eingehen und die eine Tabelle in mehrere Tabellen aufspalten.

Lösungsansatz 1: Ein erster Lösungsansatz (Schema) einer passenden Tabelle sähe im übrigen vielleicht so aus, wobei die Wertung die Zeit oder die erreichten Punkte wären:

Ergebnis={Wettkampf, Datum, Platz1_Name, Platz1_Wertung, Platz1_Land, Platz2_Name, Platz2_Wertung, Platz3_Land, Platz3_Name, Platz3_Wertung, Platz3_Land}

Falls jemand das ebenso im Unterricht versucht, wäre ich über ein kurzes Feedback natürlich dankbar. Das Ergebnis meiner Klasse werde ich hier auch noch vorstellen.

Programmieraufgabe 87

Ich hatte es bei meinem Versuch einer Anaylse der Entwurfsmuster von Pokemon Go schon angedeutet.

Aufgabe

Gestalte eine Datenbank zur Verwaltung von Spielern (Name, Entwicklungspunkte, Anzahl Pokebälle, Menge an Sternstaub) und seinen Pokemons (Name, Wettkampfpunkte, Art, Anzahl der Bonbons).

Die Eingabe von mindestens 3 Spielern und 10 Pokemons sollten genügen, da es auf eine m:n-Beziehung rausläuft, die sich gerade in OpenOffice nur recht schwierig in einem Formular (OHNE Programmierung) umsetzen lässt. Eine Eingabe der Daten ist daher etwas zäh.

Auf alle Fälle sollten dann aber noch folgende Abfragen erzeugt werden:

Liste aller Pokemons eines Spielers nach Wettkampfpunkten bzw Namen sortiert.

Programmieraufgabe 84

Nachdem die letzten Aufgaben zum Thema Java waren, kommt jetzt mal wieder was zu Datenbanken.

Aufgabe

Erstelle eine Datenbank zur zufälligen Erzeugung von Essensplänen für eine Familie.

Details:

  1. Es gibt nur Mittag- und Abendessen
  2. Jede Essensvorschlag kann Mittags oder Abends auftauchen – auch doppelt (das ist einfacher, kann aber auch noch erzwungen werden)
  3. Nicht jedes Essen kann zu jedem beliebigen Zeitpunkt auftauchen.
    Wenn jemand mit Laktosintoleranz mal wegen des Nachmittagsunterrichts fehlt, kann es für den Rest Milchreis geben.
  4. Es muss die ganze Woche (Mo-So) abgedeckt werden.
  5. Die Datenbank muss mindestens die 2. Normalform erfüllen.

Die Angabe bzgl. des Schemas sind absichtlich unscharf definiert, um so eine größere Bandbreite an Lösungen zu erhalten.

Um zufällig einen Eintrag auszuwählen, kann man folgendes Konstrukt verwenden:

   SELECT datensatz FROM tabelle ORDER BY RAND() LIMIT 1

Das Projekt lasse ich in OpenOffice erstellen und es muss am Ende ein Bericht mit einem fertigen Essensplan erzeugt werden können. Weiter erwarte ich von meinen Schülern, ein schönes und sinnvoll gestaltetes Formular zum Eingeben weiteren Essenvorschläge.

Ältere Beiträge

© 2018 Lehrzeit

Theme von Anders NorénHoch ↑