Switch to full style
Ein gutes Datenbankdesign ist Pflicht! Doch wie geht man an die Datenmodellierung heran?
Hier treffen Datenbankdesign und Datenmodellierung aufeinander...
Antwort erstellen

Film-Datenbankmodell - wie soll ich das nur modellieren?

Mo 21. Jul 2014, 11:50

Hallo zusammen :)

Ich bin sehr froh, dieses Forum gefunden zu haben! Bei der Modellierung von Datenbanken stehe ich manchmal etwas im Widerspruch zu mir selbst, sodass ich jetzt mal Leute fragen möchte, die damit mehr Erfahrung haben. Es geht um eine SQLite-Datenbank für eine App.
Zum Besseren Verständnis hier mal eine fiktive Datenbank:
Mal angenommen, ich habe einen Filmhandel mit verschiedenen Filialen. Der Bestand sowie die Bestellungen werdne über diese App geregelt.
Es gibt eine Tabelle FILME, in der alle Filme, die erhältlich sind, enthalten sind.
    FILME_FILIALE
    Artikelnummer
    Name VARCHAR(30) // Name in voller Laenge
    Regisseur
    Darsteller
    Preis
    Erscheinungsdatum

Dann gibt es für jede Filiale eine Tabelle FILME_FILIALE, in der alle Filme enthalten sind, die in dieser Filiale gekauft werden können.
Diese Tabellen unterscheiden sich aber von Filiale zu Filiale. Es können allerdings Filme bestellt werden, die nicht in FILME_FILIALE enthalten sind, aber in der Tabelle FILME.
    FILME_FILIALE
    Artikelnummer
    Name VARCHAR(15) // abgekuerzter Name
    Regisseur
    Darsteller
    Preis
    Erscheinungsdatum

Nun gibt es noch die Tabelle NEULIEFERUNGEN, die alle Filme enthält, die 1x pro Woche mit der Lieferung kommen.
    FILME_FILIALE
    Artikelnummer
    Name VARCHAR(15) // abgekuerzter Name
    Regisseur
    Darsteller
    Preis
    Erscheinungsdatum
    Menge // gelieferte Menge

Zu guter Letzt noch die Tabelle BESTELLUNGEN
    FILME_FILIALE
    Artikelnummer
    Name VARCHAR(15) // abgekuerzter Name
    Preis
    Menge // bestellte Menge
    Kuerzel // Kundenbestellung (KB) oder Nachbestellung fuer die Filiale (NB)

Diese Tabellen kommen (natürlich bis auf die letzte) bereits fertig auf die App und werden 1x pro Woche aktualisiert. Und da ist mein Problem:
Ich habe ja jede Menge redundante Attribute (Artikelnummer, Name etc.), die ich eigentlich schön normalisieren könnte, und damit dann eine Tabelle ARTIKEL habe, aus der die anderen Tabellen sich mittels Fremdschlüsseln ihre benötigten Attribute holen könnten. Aber die Tabellen kommen ja...
erstens bereits vorgefertigt zur App, wozu also aufdröseln und eine Tabelle ARTIKEL erstellen?
Zweitens ändern sich die Tabellen ja bis auf die Spalten Menge und Kuerzel nicht, warum also die Tabelle jedes Mal per Queries neu generieren?
Drittens werden die sich nicht ändernden Tabellen häufig benötigt. Wenn ich die Tabellen so wie oben beschrieben einfach übernehme, verbraucht das zwar Speicherplatz, aber ich spare zur Laufzeit Zeit ein, da die Generierung der Tabelle weg fällt. (Es gibt ja ne ganze Menge Filme).
Allerdings widerspricht das doch einem guten Datenbank-Design, oder?

Das war jetzt viel Text, aber ich freue mich über jede Hilfe!

Danke fürs Lesen,
Anne

Edit: Ach ja, es werden bis auf Suche, Löschen, Ändern und Hinzufügen keine Queries nötig sein. Die Suche liefert immer den kompletten Datensatz.
Antwort erstellen