Datenbanken
Wie können große Datenmengen verwaltet werden, so dass Daten leicht...
- auffindbar
- hinzufügbar
- veränderbar
- löschbar
...sind? Im Folgenden soll diese Frage anhand des folgenden Beispiels diskutiert werden:
Als eine sehr grundlegende Art der Struktur kommen Tabellen in Frage. Aber auch hier ist nicht klar, wie genau diese Tabellen aufgebaut sein sollen. Verschiedene Entwürfe sind denkbar, und sie haben Auswirkungen auf verschiedene Aspekte:
- Benötigter Speicherplatz
- Benötigte Zeit zum Auffinden, Hinzufügen, Einfügen, Löschen
- Korrektheit und Konsistenz der Daten
Ihr sollt die Datenhaltung des Online-Buch-Shops Bookazon umsetzen. Der Shop bietet an, Bücher in einen digitalen Warenkorb zu legen (dieser kann anschließend online gekauft werden).
- Die Kundinnen und Kunden sollen mit Benutzername, Name, Vorname, Adresse hinterlegt werden.
- Die Bücher sollen mit ISBN, Titel, Autor und Preis hinterlegt werden.
- Es soll möglich sein, einzelne Bücher mehrfach in denselben Warenkorb zu legen.
Tue dich mit einem Partner/in zusammen. Es gibt zwei Rollen A und B. Die zu Beginn vorhanden Bücher wurden euch freundlicherweise über diese Tabelle bereitsgestellt.
Deine Aufgabe ist es, Anfragen von Partner B zu verarbeiten. Verwende dafür Stift und Papier. Die Bücherdaten erhälst du zudem als Vorlage.
Der Einfachheit halber wird nur mit wenigen Beispieldaten exemplarisch gearbeitet. Behalte aber immer im Hinterkopf, dass die Datenmengen in der Praxis schon mal leicht um den Faktor 1.000 oder auch 1.000.000 hochskaliert werden. Wichtiger als die ganz konkreten Daten ist also, wie du die Daten strukturierst / notierst.
Du darfst die Büchertabelle ergänzen, neue Tabellen, Listen, ... hinzufügen, ... (keine Beschränkung)
Deine Aufgabe ist es, Nutzeranfragen an Partner A zu stellen. Diese/r muss diese dann geschickt verarbeiten.
Teile deinem Partner folgende Abfragen mit.
-
Der Kunde Peter Müller, mit Benutzername pMueller und wohnhaft in der Hauptstr. 8, legt das Buch „Der Herr der Ringe“, ISBN 978-3-6… des Autors J.R.R. Tolkien, Preis 32,90 EUR in den Einkaufskorb.
-
Die Kundin Sophie Hofmann, mit Benutzername hofm und wohnhaft in der Dorfstr. 1, legt das Buch „Der Zauberer“ in den Einkaufskorb.
-
Die Kundin Sophie Hofmann loggt sich noch ein weiteres Mal ein und legt zudem noch zwei Exemplare von „Der Herr der Ringe“ in den Einkaufskorb.
-
Der Online-Buch-Shop nimmt zwei weitere Bücher in sein Sortiment auf: „Der Marsianer“ von Andy Weir, ISBN 3-453-31583-9, mit Preis 24,90 EUR; sowie „Anfang der Unendlichkeit“ von David Deutsch, ISBN 1-838-49860-5, für 22,49 EUR.
-
Sowohl Peter Müller als auch Sophie Hofmann legen „Anfang der Unendlichkeit“ in ihren Warenkorb.
-
Ein neuer Kunde registriert sich: Leo Walz; der Benutzername wird vom System automatisch vergeben, wohnhaft ist er in der Hafenstr. 17.
-
Es wird ein Fehler bemerkt: Der korrekte Titel des Buches „Anfang der Unendlichkeit“ lautet „Der Anfang der Unendlichkeit“. Dieser Fehler soll korrigiert werden.
-
Es soll eine Liste ausgegeben werden aller Kunden, welche den Titel „Der Herr der Ringe“ in ihrem Warenkorb haben.
-
Es soll eine Liste ausgegeben werden aller Bücher, welche im Warenkorb des Kunden „Peter Müller“ liegen.
-
Peter Müller kauft seine Artikel. Damit ist sein Warenkorb nun wieder leer.
Betrachte nun die folgenden beiden Entwürfe, welche wir anschließend vergleichen und diskutieren.