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.sqlBei 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:
| Tabellenname | Beschreibung |
|---|---|
| User | Die Tabelle für Nutzer-Konten, inklusive Passwörter |
| Game | Zuständig für Daten zu Spielen (Name, Preis, etc.) |
| UserToGame | Eine Mapping-Tabelle, um Nutzer mit Videospielen in deren Besitz zu verbinden |
| Achievement | Eine Tabelle für Daten zu Errungenschaften, die durch das Spielen von Videospielen erhalten werden können |
| UserToAchievement | Eine Mapping-Tabelle, um Nutzer-Daten mit erhaltenen Errungenschaften zu verbinden |
| GameReview | Eine Tabelle in der von Nutzern verfasste Bewertungen und Meinungen zu den div. Spielen gespeichert werden |
| GameBuild | Eine Tabelle, in der Informationen zu den div. Versionen eines Spiels gespeichert wird |
| GameTotalDownloads | Tabelle zum Speichern von Download-Anzahlen für Spiele |
| Publisher | Daten zu den Veröffentlichern von Spielen |
| PublisherToGame | Mapping-Tabelle von Publishern zu ihren Spielen |
| Developer | Tabelle mit Informationen zu den Entwicklern von Spielen |
| DeveloperToGame | Mapping-Tabelle von Spielentwicklern zu ihren Spielen |
| Tag | Tabelle für Nutzer-definierte Tags zu Videospielen |
| GameToTag | Mapping-Tabelle von Spielen zu den Tags, die für sie definiert wurden |
| Franchise | Tabelle für Entwickler-definierte Kategorien an Spielen |
| GameToFranchise | Mapping-Tabelle von Spielen zu ihrer zugeordneten Kategorie |