Lies diesen Artikel und viele weitere mit einem kostenlosen, einwöchigen Testzugang.
Eine Filmdatenbank ist ein tolles Beispiel für eine Datenbank, die einmal nicht überwiegend beruflich eingesetzt wird, sondern auch für Hobbyprogrammierer interessant ist. In dieser Artikelreihe wollen wir eine Datenbank programmieren, die Filme inklusive Darstellern, Regisseuren, Genres und vielen weiteren Daten speichert und die Suche darin erlaubt. Auch brauchen wir uns diesmal keine Sorgen um das Bereitstellen von Beispieldaten zu machen: Die Internet-Filmdatenbank IMDB bietet ihre kompletten Daten zum Download an. Das liefert uns gleichzeitig prima Material für die Beschreibung des Imports von Daten aus Textdateien in eine Access-Datenbank. Im ersten Teil der Beitragsreihe schauen wir uns die Daten an, die IMDB bereitstellt, und entwerfen das Datenmodell für die Filmdatenbank.
Beispieldatenbank
Die Beispiele dieses Artikels finden Sie in der Datenbank 2005_Filmdatenbank.accdb.
Beispieldaten aus dem echten Leben
Die Internetfilmdatenbank IMDB enthält sehr viele Filme (zum Zeitpunkt der Erstellung dieses Artikels ca. 7,3 Millionen Einträge in der Filme-Datei, allerdings sind dort auch Serien mit Staffeln enthalten) inklusive weiteren Daten wie Darstellern, Regisseuren, Genres und so weiter.
Die Beispieldaten finden Sie unter dieser Internetadresse:
https://datasets.imdbws.com/
Hier finden Sie sieben gezippte Textdateien vor (siehe Bild 1). Diese sind unterschiedlich groß – die größte enthält gepackt über 300 MB, entpackt sogar über 600MB! Das heißt, dass wir an die Grenzen einer Access-Datenbank von 2 GB stoßen könnten.
Bild 1: Download der Filmdaten von IMDB
Allerdings können wir diese Datenmenge vermutlich durch geschicktes Aufteilen auf verknüpfte Datenbanken reduzieren.
Tabellen des Datenmodells
Die Haupttabelle heißt natürlich tblFilme, denn um diese dreht es sich hauptsächlich. Die Tabelle tblFilme sieht im Entwurf wie in Bild 2 aus. Sie hat keine Fremdschlüsselfelder zu Lookup-Tabellen – noch nicht einmal zur Auswahl eines Genres. Der Grund ist einfach: Jeder Film kann mehreren Genres zugeordnet werden, daher verwenden wir eine Verknüpfungs-tabelle zwischen den Einträgen der Tabelle tblFilme und der noch zu erstellenden Tabelle der Genres.
Bild 2: Entwurf der Tabelle tblFilme
Wie dem Bild zu entnehmen ist, verwenden wir keinen eindeutigen Schlüssel für das Feld Titel. Sollten wir nicht eigentlich dafür sorgen, dass jeder Film nur einmal in die Tabelle aufgenommen werden kann Ja, normalerweise ist die Logik korrekt, aber bei Filmen kann es durchaus vorkommen, dass zwei Filme den gleichen Titel tragen oder der gleiche Film als Remake wiederveröffentlicht wird.
Ende des frei verfügbaren Teil. Wenn Du mehr lesen möchtest, hole Dir ...
Testzugang
eine Woche kostenlosen Zugriff auf diesen und mehr als 1.000 weitere Artikel
diesen und alle anderen Artikel mit dem Jahresabo