Vaporo

Eine Videospielbibliothek-Datenbank, angelehnt an Steam. Hier sollen Nutzer Spiele finden, kaufen, herunterladen und letztlich spielen können.

Die Datenbank selbst soll nicht die vollständige Infrastruktur einer Videospielbibliothek darstellen, sondern lediglich als Speicher der Verwaltungselemente dienen. Es wird hierbei angenommen, dass im Falle eines tatsächlichen Systems ein Backend-System mit der Datenbank interagiert und die Haupt-Logik übernimmt.

Installation

Um die Datenbank aufzusetzen, kann die init_and_data.sql-Datei in Kombination mit einer MariaDB-Instanz verwendet werden. Es wird die neuste LTS-Version von MariaDB empfohlen. Der folgende Kommandozeilenbefehl kann verwendet werden, um die Datenbank mithilfe der Datei aufzusetzen (angenommen, der Admin-Nutzer heißt root mit Passwort root):

$ mariadb -uroot -proot < /path/to/init_and_data.sql

Bei der Ausführung des Skriptes werden sowohl eine Datenbank names Vaporo als auch alle Tabellen inklusive Daten eingespielt. Im Beispiel oben wird der MariaDB CLI verwendet.

Struktur

Die Datenbank umfasst folgende Tabellen:

TabellennameBeschreibung
UserDie Tabelle für Nutzer-Konten, inklusive Passwörter
GameZuständig für Daten zu Spielen (Name, Preis, etc.)
UserToGameEine Mapping-Tabelle, um Nutzer mit Videospielen in deren Besitz zu verbinden
AchievementEine Tabelle für Daten zu Errungenschaften, die durch das Spielen von Videospielen erhalten werden können
UserToAchievementEine Mapping-Tabelle, um Nutzer-Daten mit erhaltenen Errungenschaften zu verbinden
GameReviewEine Tabelle in der von Nutzern verfasste Bewertungen und Meinungen zu den div. Spielen gespeichert werden
GameBuildEine Tabelle, in der Informationen zu den div. Versionen eines Spiels gespeichert wird
GameTotalDownloadsTabelle zum Speichern von Download-Anzahlen für Spiele
PublisherDaten zu den Veröffentlichern von Spielen
PublisherToGameMapping-Tabelle von Publishern zu ihren Spielen
DeveloperTabelle mit Informationen zu den Entwicklern von Spielen
DeveloperToGameMapping-Tabelle von Spielentwicklern zu ihren Spielen
TagTabelle für Nutzer-definierte Tags zu Videospielen
GameToTagMapping-Tabelle von Spielen zu den Tags, die für sie definiert wurden
FranchiseTabelle für Entwickler-definierte Kategorien an Spielen
GameToFranchiseMapping-Tabelle von Spielen zu ihrer zugeordneten Kategorie