window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'G-TCJTE9L38H');

Filmdatenbank, Teil 2: Daten importieren

Lies diesen Artikel und viele weitere mit einem kostenlosen, einwöchigen Testzugang.

Im zweiten Teil der Artikelreihe zum Thema Filmdatenbank wollen wir einen genaueren Blick auf die zu importierenden Daten der Filmdatenbank IMDB werfen. Diese kann man als Archive aus dem Internet herunterladen und dann als Textdateien entpacken. In diesem Artikel schauen wir uns an, wie die Daten aus den Textdateien aufgebaut sind und wie wir diese in die Tabellen unseres Datenmodells importieren können.

Beispieldatenbank

Die Beispiele dieses Artikels finden Sie in der Datenbank 2005_Filmdatenbank.accdb.

Download der Beispieldaten

Die Beispieldaten finden Sie unter dem folgenden Link:

https://datasets.imdbws.com/

Die dort enthaltenen Dateien laden wir zunächst auf unseren lokalen Rechner herunter. Dann entpacken wir diese. Leider haben alle Dateien in den .gz-Archiven den Dateinamen data.tsv.

Daher müssen wir diese nach dem Entpacken Stück für Stück umbenennen. Wir wählen als Dateinamen den Namen der Archivdatei und ersetzen nur die Dateiendung .tsv.gz durch .txt.

Danach sieht unser Verzeichnis mit den zu importierenden Textdateien wie in Bild 1 aus. Hier ist unschwer zu erkennen, dass wir es mit enormen Datenmengen zu tun haben – die größte Datei ist 1,8 GB groß. Eine Access-Datenbank darf maximal 2 GB groß sein.

Textdateien mit den zu importierenden Daten

Bild 1: Textdateien mit den zu importierenden Daten

Wer nun denkt, dass wir diese Datenmengen unmöglich in eine Access-Datenbank importieren können, könnte Recht haben – aber die Dateien enthalten sehr viele redundante Daten, deren Platzbedarf wir gegebenenfalls durch Anlegen von Lookuptabellen und Fremdschlüsselfeldern verringern können.

Als Nächstes schauen wir uns den Inhalt der einzelnen Dateien an.

Basisdaten der Filme

Die in title.basics.tsv.gz enthaltene Datei, die wir in title.basics.txt umbenannt haben, liefert die Basisdaten zu den Filmen. Dazu gehören unter anderen der Filmtyp, der primäre Titel, der Originaltitel, das Startjahr, die Dauer und eine kommaseparierte Liste der Genres.

Die Daten sind als Liste mit je einem Eintrag pro Zeile und in Spalten, die durch das Tabulator-Zeichen getrennt sind, gespeichert (siehe Bild 2).

Basisdaten der Filme

Bild 2: Basisdaten der Filme

Basisdaten in der Datenbank verfügbar machen

Das heißt, dass wir diese Dateien in der Datenbank als verknüpfte Tabelle verfügbar machen können, was wir auch direkt erledigen. Dazu wählen Sie in Access den Ribbon-Befehl Externe Daten|Neue Datenquelle|Aus Datei|Textdatei aus.

Im nun erscheinenden Dialog Externe Daten – Textdatei wählen Sie den Dateinamen der zu verknüpfenden Textdatei aus. Dann selektieren Sie die Option Erstellen Sie eine Verknüpfung zur Datenquelle, in dem Sie eine verknüpfte Tabelle erstellen.

Nach einem Klick auf die Schaltfläche OK erscheint der Dialog Textverknüpfungs-Assistent. Hier klicken Sie auf der ersten Seite auf Weiter. Auf der zweiten Seite stellen Sie sicher, dass als Trennzeichen Tabulatorzeichen ausgewählt ist. Außerdem aktivieren Sie die Option Erste Zeile enthält Feldnamen (siehe Bild 3).

Textdatei verknüpfen

Bild 3: Textdatei verknüpfen

Im nächsten Schritt könnten wir noch die Feldnamen anpassen. Da wir die Daten nur temporär benötigen, wollen wir hier keine Änderungen vornehmen und klicken auf Weiter. Im letzten Schritt ist noch der Name der verknüpften Tabelle festzulegen. Hier legen wir entsprechend dem Dateinamen den Namen tblTitleBasics fest.

Danach wird die Verknüpfung hergestellt. Wenn Sie die Verknüpfung durch einen Doppelklick auf den Eintrag tblTitleBasics öffnen, erscheint die Tabelle aus Bild 4.

Basisdaten der Filme in einer verknüpften Tabelle

Bild 4: Basisdaten der Filme in einer verknüpften Tabelle

Darsteller und andere Personen

Die zweite Datei heißt nach dem Entpacken und Umbenennen name.basics.txt. Sie enthält die Daten wie in Bild 5. Dabei handelt es sich um die Personen des Filmbusiness, die verschiedene Aufgaben ausführen. Die Datei enthält einen eindeutigen Identifizierer, den Namen, Geburts- und Todesjahr sowie zwei kommaseparierte Listen. Die erste enthält die ausgeführten Aufgaben wie soundtrack, actor, actress, writer, director und so weiter. Die zweite enthält die eindeutigen Identifizierer der Filmtitel aus der Datei title.basics.txt, für welche die jeweilige Person bekannt ist.

Die Datei name.basics.txt mit den Darstellern

Bild 5: Die Datei name.basics.txt mit den Darstellern

Diese Datei binden wir genau wie die erste als verknüpfte Tabelle ein und nennen diese tblTitleBasics.

Filmbezeichnungen in verschiedenen Ländern

Die Datei title.akas.txt enthält Informationen darüber, wie die Filme in anderen Ländern heißen (akas steht für as known as). Je nach Bekanntheit des Films gibt es einige wenige bis zu über 100 verschiedene Bezeichnungen in den verschiedenen Sprachen. Die Datei ist so aufgebaut, dass in der ersten Spalte der eindeutige Identifizierer des Films aus der Datei title.basics.txt genannt wird. Die zweite enthält die Nummer der Übersetzung, die dritte den Titel in der jeweiligen Sprache. Danach folgt das Kürzel für die Region, gefolgt von der Sprache. Diese Datei verknüpfen wir unter dem Namen tblTitleAkas.

Tipp: Wenn Sie die Datei als Verknüpfung in der Datenbank verfügbar gemacht haben, versuchen Sie nicht, darin zu suchen oder die Daten zu sortieren. Bei über 24 Millionen Datensätzen blockiert das die Anwendung für längere Zeit. Besser, Sie öffnen die Verknüpfungen mit den sehr großen Dateien erst gar nicht …

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

Schreibe einen Kommentar