theTVDB

Die «TheTVDB» ist eine online-Datenbank welche sich auf Fernseh-Serien spezialisiert hat. Man kann auf ihre Daten mit einer REST-Schnittstelle zugreifen. Von Zeit zu Zeit bietet sie ihre Datenbank aber auch als SQL-Dump zum Download an. Daraus haben wir bei uns am Gymer eine Datenbank erstellt welche man unter der folgenden URL abfragen kann: https://informatik.mygymer.ch/fts/run/sql.php?db=thetvdb.

Nachfolgend aufgezeichnet ist das komplette Diagramm der Datenbank inkl. Attributen und Verknüpfungen.

Dokumentation

Im Folgenden werden die einzelnen Tabellen und ihre Felder kurz beschrieben:

tvseries

Speichert eine einzelne «Serie» mit ihrem Namen einer Beschreibung und weiteren Angaben zu Status, Ausstrahlung und Produktion.
In der Beispiel-Spalte werden die Werte für die Serie «Lost» angezeigt.

Attribut Datentyp Beschreibung Beispiel
id integer Primärschlüssel 73739
seriesname text Name der Fernsehserie Lost
status text Status der Serie Ended
firstaired text Datum der Erstaustrahlung 2004-09-22
network text Produktionsanstalt ABC (US)
runtime text Länge einer Episode in Minuten 45
overview text Beschreibung der Serie After their plane, Oceanic Air flight 815, tore apart whilst ...
airsdayofweek text Wochentag der Ausstrahlung Tuesday
airstime text Zeit der Ausstrahlung 9:00 PM
rating text Altersvorgabe TV-14
hits integer Anzahl Treffer 946938

Tabelle «tvseries»

SHOW COLUMNS from tvseries;                -- Zeige alle Spalten an
SELECT * from tvseries WHERE id = 73739;   -- Zeige den Eintrag für «Lost» an

tvseasons

Stellt eine einzelne «Season» einer Serie dar. Es wird nur die Nummer der Season abgespiechert.
In der Beispiel-Spalte stehen die Werte für «Lost, Season 1»

Attribut Datentyp Beschreibung Beispiel
id integer Primärschlüssel 6345
seriesid integer Fremdschlüssel zu Tabelle «tvseries» 73739
season integer Nummer der Season 1

Tabelle «tvseasons»

SHOW COLUMNS from tvseasons;                                    -- Zeige alle Spalten an
SELECT * from tvseasons WHERE seriesid = 73739 AND season = 1;  -- Zeige «Lost, Season 1» an

tvepisodes

Speichert eine einzelne Episode einer Serie. Über Fremdschlüssel kommt man zur Season und zur Serie. Es werden weitere Angaben wie Namen, Beschreibung, involvierte Personen, Angaben zur Erstausstrahlung und ein Link zu einem passenden Bild geliefert.
In der Beispiel-Tabelle zu sehen sind Werte für «Lost, Season 1, Episode 1»

Attribut Datentyp Beschreibung Beispiel
id integer Primärschlüssel 127131
seasonid integer Fremdschlüssel zu Tabelle «tvseasons» 6345
episodenumber integer Nummer der Episode 1
episodename text Name der Episode Pilot (1)
firstaired   text Datum der Erstausstrahlung 2004-09-22
gueststars   text Gastauftritt(e)* |Greg Grunberg|John Dixon| Michelle Arthur|
director   text Direktor(en)* J.J. Abrams
writer   text Autor(en)* |J.J. Abrams|Damon Lindelof|
overview   text Beschreibung der Episode Stripped of everything, the 48 survivors scavenge what they can from the plane for their survival. ...
filename   text Bild zur Episode episodes/73739/127131.jpg
seriesid   integer Fremdschlüssel zu Tabelle «tvseries» 73739

Tabelle «tvseasons», * falls mehrere, durch Pipe-Symbol «|» getrennt

SHOW COLUMNS from tvepisodes;                                           -- Zeige alle Spalten an
SELECT * from tvepisodes WHERE seasonid = 6345 and episodenumber = 1;   -- «Lost, Season 1, Episode 1»

seriesactors

Liefert Schauspieler zu den Serien (Verknüpfung n:1). Angeben werden Name, Rolle, Wichtigkeit der Rolle und ein Bild.
Beispiel-Werte für «Lost», erster Eintrag mit sortorder 0

Attribut Datentyp Beschreibung Beispiel
id integer Primärschlüssel 27741
seriesid integer Fremdschlüssel zu Tabelle «tvseries» 73739
name text Name des Schauspielers/der Schauspielerin Evangeline Lilly
role text Name der gespielten Rolle Kate Austen
sortorder integer Wichtigkeit der Rolle (0 heisst Hauptrolle) 0
image text Porträtbild der Person actors/27741.jpg

Tabelle «seriesactors»

SHOW COLUMNS from seriesactors;                                       -- Zeige alle Spalten an
SELECT * from seriesactors WHERE seriesid = 73739 AND sortorder = 0;  -- Zeige wichtige Einträge für «Lost»

genres

Speichert alle Genres mit Namen.
Beispiel-Werte für das Genre «Action»

Attribut Datentyp Beschreibung Beispiel
id integer Primärschlüssel 1
genre text Name des Genres Action

Tabelle «genres»

SHOW COLUMNS from genre;                       -- Zeige alle Spalten an
SELECT * from genres WHERE genre = "action";   -- Zeige das Genre «Action»

seriesgenre

Verknüpft die Serien mit den Genres (n:m)
Beispiel-Spalte zeigt Werte für das Genre mit der kleinste id von allen Genres der Serie «Lost»

Attribut Datentyp Beschreibung Beispiel
seriesid integer Fremdschlüssel zu Tabelle «tvseries» 73739
genreid integer Fremdschlüssel zu Tabelle «genres» 1

Tabelle «seriesgenre»

SHOW COLUMNS from genre;                                            -- Zeige alle Spalten an
SELECT * from seriesgenre WHERE seriesid = 73739 ORDER BY genreid;  -- Genre von Lost mit kleinster genreid

banners

Speichert Poster und Banner für Serien und Saisons
Beispiel-Werte für das erste Poster von «Lost»

Attribut Datentyp Beschreibung Beispiel
id integer Primärschlüssel 25884
keytype text Art des Schlüssels poster
keyvalue integer Wert des Schlüssels, meist id der Serie 73739
subkey text Bei keytype season: die Nummer der Season
filename text Das verlinkte Bild seasons/73739-1.jpg

Tabelle «banners»

SHOW COLUMNS from banners;                                            -- Zeige alle Spalten an
SELECT DISTINCT keytype from banners;                                 -- Zeige die verschiedenen keytypes an
SELECT * from banners WHERE keytype = "poster" AND keyvalue = 73739;  -- Beispiel für ein Poster der Serie