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 (opens new window).
Nachfolgend aufgezeichnet ist das komplette Diagramm der Datenbank inkl. Attributen und Verknüpfungen.
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 |
SHOW COLUMNS from tvseries; -- Zeige alle Spalten an
SELECT * from tvseries WHERE id = 73739; -- Zeige den Eintrag für «Lost» an
2
# 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 |
SHOW COLUMNS from tvseasons; -- Zeige alle Spalten an
SELECT * from tvseasons WHERE seriesid = 73739 AND season = 1; -- Zeige «Lost, Season 1» an
2
# 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 |
SHOW COLUMNS from tvepisodes; -- Zeige alle Spalten an
SELECT * from tvepisodes WHERE seasonid = 6345 and episodenumber = 1; -- «Lost, Season 1, Episode 1»
2
# 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 |
SHOW COLUMNS from seriesactors; -- Zeige alle Spalten an
SELECT * from seriesactors WHERE seriesid = 73739 AND sortorder = 0; -- Zeige wichtige Einträge für «Lost»
2
# 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 |
SHOW COLUMNS from genre; -- Zeige alle Spalten an
SELECT * from genres WHERE genre = "action"; -- Zeige das Genre «Action»
2
# 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 |
SHOW COLUMNS from genre; -- Zeige alle Spalten an
SELECT * from seriesgenre WHERE seriesid = 73739 ORDER BY genreid; -- Genre von Lost mit kleinster genreid
2
# 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 |
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
2
3