Projekt:2021/Stundenplan
Projekt Stundenplan
Zum Ende des Themas Datenbanken wollen wir ein kleines Java-Projekt mit Datenbankanbindung umsetzen.
Ziel soll es sein, eine Programm zur Anzeige eines Stundenplans zu erstellen. Das Programm soll in der Lage sein, die Stundenpläne von Lehrern, Klassen und Räumen anzuzeigen. Dazu werden die entsprechenden Daten in einer SQLite Datenbank gespeichert und in einem vorgefertigten GUI angezeigt.
Du bearbeitest das Projekt alleine und kannst auch die Zeit über die Herbstferien nutzen, um daran weiterzuarbeiten. Nach den Ferien sollen alle Projekte eingesammelt werden.
- Analysiere den Problembereich "Stundenplan" und erstelle ein vollständiges ER-Modell. (Du kannst wieder https://link.ngb.schule/erdplus nutzen, ein anderes Tool Deiner Wahl oder per Hand zeichnen.)
- Übersetze ein vollständiges Datenbankschema zu deinem ERM.
- Prüfe, ob dein Schema in der 3. Normalform nach Codd ist und falls nicht, transformiere es entsprechend.
Die Modelle der Datenbank müssen mit dem Projekt abgegeben werden.
- Erstelle einen Fork der Projektvorlage.
- Klone das Projekt und analysiere den Aufbau des Projekts. Versuche vor allem aus den Beispielen und Kommentaren die Interaktion mit der GUI zu verstehen. (Den Aufbau der GUI musst du nicht unbedingt nachvollziehen. Du kannst die bereitgestellten Methoden nutzen. Es ist aber auch nicht verboten, die Vorlage anzupassen, falls du dich mit GUIs schon auskennst.) Starte das Projekt auch und schau dir die GUI an.
Öffne die Datenbank stundenplan.db aus dem Projektordner im Programm SQLite Browser. Setze nun dein Datenbankschema um und erstelle die Tabellen und Attribute mit Hilfe des SQLite Browsers.
- Es ist schon eine Tabelle mit Daten vorhanden, die du anpassen (Tabelle bearbeiten) und weiter nutzen kannst.
- Im Projektordner findest du einige CSV-Dateien, die du modifizieren und über "Datei -> Import -> Tabellen aus CSV" in die Datenbank importieren kannst. Oder du erzeugst dir selber Testdaten (zum Beispiel in Excel oder mit Hilfe von Mockaroo).
Programmiere deine Stundenplan-App nach deinen Vorstellungen. Du kannst dir selber sinnvolle Funktionalitäten überlegt und dir Mindestziele setzen, die du im Projekt umsetzen möchtest. Es sollte aber mindestens möglich sein, einen Stundenplan anzuzeigen, der aus der Datenbank ausgelesen wird.