Wiki: Mathe und Info

Unterrichtsmaterialien für Mathematik und Informatik

Benutzer-Werkzeuge

Webseiten-Werkzeuge


info:sek-ii:q2:sql-projekt:start

Webdatenbankprojekt

Projektbeschreibung
Ihr werdet in diesem Projekt eine Website erstellen, die auf eine Datenbank zugreift. Hierzu arbeitet ihr nacheinander die beiden unten genauer beschriebenen Phasen ab.
1. Phase: Entwurf & Datenbank

Für diese Phase dürft ihr eure Datenbank aus dem Mini-Projekt als Ausgangspunkt verwenden, falls ihr dieses gemacht habt. Wenn ihr das tut, dokumentiert deutlich, was vom Mini-Projekt stammt und was geändert wurde.

  1. Ihr entwerft ein Datenbank-Schema im ER- und Relationenmodell. Dieses Datenbank-Schema soll den folgenden Anforderungen entsprechen:
    • Es soll ein Alltagsproblem abbilden, wie z.B. eine Bücherausleihe, DVD-Sammlungs-Inventar, Spotify-Playlisten-Verwaltung, etc.
    • Es soll mindestens vier und höchstens acht Entitätstypen enthalten.
    • Es soll pro Entitätstyp sinnvolle Attribute enthalten.
    • Es soll mehrere 1:n und m:n-Beziehungen enthalten.
  2. Ihr setzt die modellierte Datenbank mit SQLiteStudio um.
    • Erstellt die Tabellen entsprechend des Relationenmodells, indem ihr
      • für die Attribute die passenden Datentypen wählt
      • und die passenden Primär- und Fremdschlüssel setzt.
    • Füllt die Tabellen mit sinnvollen Beispieldaten.
2. Phase: Implementierung der Website

Nun entwerft ihr eine PHP-Website, die den folgenden Anforderungen entspricht:

Pflichtanforderungen:

  • Es soll eine einzelne Seite für jeden Entitätstypen geben, auf der alle Entitäten in einer Tabelle angezeigt werden (z.B. eine Seite, die alle Lieder in der Spotify-Sammlung mit allen ihren Attributen tabellarisch auflistet).
  • Es soll eine Detail-Seite für jeden Entitätstypen geben, auf der die Details einer Entität sowie alle in Beziehung stehenden Entitäten angezeigt werden (z.B. eine Seite für einen bestimmten Autor mit Name, Alter, Verleger und so weiter, auf der auch die von diesem Autor geschriebenen Bücher angezeigt werden)
  • Es soll mindestens zwei sinnvolle Seiten geben, die Aggregatsfunktionen und Gruppierungen verwenden, wie z.B. eine Seite, die die durchschnittliche Länge aller DVDs nach den verschiedenen Jahrzehnten gruppiert darstellt und eine Seite, die die zehn am häufigsten auftretenden Schauspieler auf den DVDs ermittelt.
  • Es soll eine Seite geben, auf der die Ergebnisse einer komplexen Abfrage mit Joins angezeigt werden.
  • Es soll eine Hauptseite geben, auf der alle anderen Seiten verlinkt sind.

mögliche Bonusanforderungen (nicht Pflicht!):

  • Die Möglichkeit, neue Entitäten anzulegen, bestehende zu bearbeiten und zu löschen
  • Ein ansprechendes Design der Website
  • … Denkt euch etwas eigenes aus :-)
Bewertung

Das Webdatenbank-Projekt wird Teil eurer mündlichen Note sein. Wie ihr seht, könnt ihr 110% erreichen. Ihr könnt also mit einer Bonusanforderung kleinere "Fehler" oder "Probleme" bei den anderen Anforderungen kompensieren.

PunkteBeschreibung
50%Erfüllung aller Anforderungen aus Phase 1
50%Erfüllung aller Pflichtanforderungen aus Phase 2
10%Erfüllung einer Bonusanforderung aus Phase 2
Umsetzung

Ihr sollt das Webdatenbank-Projekt mit XAMPP umsetzen. XAMPP ist ein Programm, mit dem ihr u.a. einen Webserver auf eurem Rechner installiert.

Der Webserver wird mit PHP programmiert.

Abgabe

Die Diagramme können als Dateien aus Diagrammeditoren, Screenshots, Scans oder Fotos abgegeben werden. Der Rest des Projekts (Datenbank und PHP-Dateien) werden als ZIP-Ordner abgegeben.

Referenzimplementierung anhand der Chinook-Mediendatenbank

Diese Beispiele beziehen sich nur auf Phase 2!

info/sek-ii/q2/sql-projekt/start.txt · Zuletzt geändert: 2024-05-06 11:46 von christian.weber