Repository navigation
Backend 2.5 Datenbank
#Datenbank
Verantwortliche/r: Tabea, Maren
Das in der Designphase erstellte Datenmodell dient als Grundlage, nach der die Datenbank für die App eingerichtet wird. Zur Verfügung steht eine H2 Datenbank. Mittels SQL werden die Datenbanktabellen, wie im Datenmodellen dargestellt, hinzugefügt.
Für die einzelnen Datensätze der Bars wird ein extra SQL File verwendet. Wie die Daten immigriert werden wird unter dem Arbeitspaket Datenmigration beschrieben.
Die Einstellungen der Datenbank sind in der Settings.java-Klasse festgesetzt. Dort befindet sich sowohl die URL der Datenbank, als auch der User Name und Passwort, die Anzahl der maximalen Statements und der Pool-Größe. Hinzu kommt hier die Einbindung der SQL-Files zum Erstellen der Datenbank.
In diesem SQL-File werden die vier Datenbanktabellen erstellt, die in dem Datenbankmodell festgelegt worden.
1. Die HappyHour-Tabelle
Die happyHour-Datenbanktabelle enthält alle Daten zu den einzelnen Happy Hours einer Bar.
create table happyHour (
id identity not null,
barID varchar(50),
description varchar(255),
start time not null,
end time,
monday boolean not null,
tuesday boolean not null,
wednesday boolean not null,
thursday boolean not null,
friday boolean not null,
saturday boolean not null,
sunday boolean not null,
constraint pk_happyHour primary key (id)
);2. Die Route-Tabelle
Die route-Tabelle enthält alle Daten zu den gespeicherten Routen. Ist der Boolean Top auf true gesetzt, so handelt es sich dabei um eine der sieben top Routen.
create table route (
hash varchar(255),
data varchar(4096) not null,
top boolean not null,
constraint pk_route primary key (hash)
);3. Die barReport-Tabelle
Die barReport- Tabelle speichert alle Meldungen von Bars ab. Diese können von dem Admin ausgelesen und gelöscht werden.
create table barReport (
id identity not null,
barID varchar(50),
description varchar(255),
constraint pk_barMeldung primary key (id)
);4. Die User-Tabelle
Die user-Tabelle enthält alle Daten des Admin, wodurch dieser authentifiziert wird.
create table user (
name varchar(50) not null,
hashPw varchar(50) not null,
constraint pk_user primary key (name)
);