\section{Baza danych}

\hspace{0.5cm} Baza danych jest to element łączący części systemu stanowiące front-end i back-end. Można ją podzielić na dwie części: przechowującą dane o użytkownikach oraz przechowującą dane o systemie. 

\subsection{Baza danych użytkowników}
\begin{center}
    \includegraphics[scale=0.35]{user_database_schema.png}
\end{center}

Baza danych użytkowników została automatycznie stworzona przez framework Django. Umożliwia ona korzystanie z systemu dwóm typom użytkowników: normalnym użytkownikom oraz administratorom. Administrator ma dostęp do wszystkich danych przechowywanych w systemie, może je dowolnie dodawać, usuwać lub edytować. Użytkownik ma dostęp tylko do swoich danych. 

\subsection{Baza danych systemu}
\begin{center}
    \includegraphics[scale=0.35]{system_database_schema.png}
\end{center}

\noindent
\renewcommand{\arraystretch}{1.7}
\begin{tabular}{p{2cm}p{13cm}}
  \textbf{dns} & tabela przechowująca znane systemowi serwery dns, \\
  \textbf{history} & tabela zawierająca historię odpytywania serwerów dns o poszczególne serwisy, z uwzględnioną datą i rezultatem,\\
  \textbf{location} & lokalizacja, miejsce gdzie znajduje się serwer dns, lub gdzie prowadzi vpn, \\
  \textbf{order} & tabela zawierająca szczegóły zamówienia: datę zatwierdzenia, wartość oraz numer płatności, \\
  \textbf{queries} & tabela łącznikowa, łącząca serwis z serwerami dns które należy sprawdzać oraz lokalizacjami, z których należy sprawdzać poprawność zapytań, \\
  \textbf{service} & tabela przechowująca dane o serwisach klientów, które należy sprawdzać, \\
  \textbf{subscription} & tabela zawierająca informację o subskrypcji, w tym datę rozpoczęcia i wygaśnieęcia, \\
  \textbf{vpn} & tabela zawierająca pliki konfiguracyjne vpn'ów,
\end{tabular}
og msg</option>
<option value='author'>author</option>
<option value='committer'>committer</option>
<option value='range'>range</option>
</select>
<input class='txt' type='search' size='10' name='q' value=''/>
<input type='submit' value='search'/>
</form>
</td></tr></table>
<div class='path'>path: <a href='/guix/log/?id=b745e216e4e17272d2ccd8f92acd6a9065db9112'>root</a>/<a href='/guix/log/etc?id=b745e216e4e17272d2ccd8f92acd6a9065db9112'>etc</a>/<a href='/guix/log/etc/completion?id=b745e216e4e17272d2ccd8f92acd6a9065db9112'>completion</a>/<a href='/guix/log/etc/completion/fish?id=b745e216e4e17272d2ccd8f92acd6a9065db9112'>fish</a>/<a href='/guix/log/etc/completion/fish/guix.fish?id=b745e216e4e17272d2ccd8f92acd6a9065db9112'>guix.fish</a></div><div class='content'><table class='list nowrap'><tr class='nohover'><th class='left'>Age</th><th class='left'>Commit message (<a href='/guix/log/etc/completion/fish/guix.fish?id=b745e216e4e17272d2ccd8f92acd6a9065db9112&amp;showmsg=1'>Expand</a>)</th><th class='left'>Author</th></tr>
<tr><td><span title='2018-03-20 17:17:58 +0100'>2018-03-20</span></td><td><a href='/guix/commit/etc/completion/fish/guix.fish?id=4a78fd4617908546be15d2c101f5cab512c71f8e'>Correct name and Email for ng0.</a><span class='msg-avail'>...</span></td><td>ng0</td></tr>
<tr><td><span title='2018-01-16 16:00:20 +0100'>2018-01-16</span></td><td><a href='/guix/commit/etc/completion/fish/guix.fish?id=b83fc85f9f40d9a5dff5b0d3ef38c1b93bd4c7e3'>etc: Add completions for fish.</a><span class='msg-avail'>...</span></td><td>ng0</td></tr>
lighting.scm?id=fa9ac83ec4098ba89c8cc3c9671144fe853fbc06'>gnu: ola: Build with protobuf@2.</a><span class='msg-avail'>...</span></td><td>Tobias Geerinckx-Rice</td></tr>
<tr><td><span title='2017-06-16 17:57:03 +0200'>2017-06-16</span></td><td><a href='/guix/commit/gnu/packages/lighting.scm?id=8231c539382bfb734afb186130a0f9e2dde0822c'>gnu: ola: Update to 0.10.4.</a><span class='msg-avail'>...</span></td><td>Tobias Geerinckx-Rice</td></tr>
<tr><td><span title='2017-02-22 08:13:01 +0100'>2017-02-22</span></td><td><a href='/guix/commit/gnu/packages/lighting.scm?id=7db818c945cc8d3fe4c75e44d5ceb1dfd6d38cbe'>gnu: ola: Update to 0.10.3.</a><span class='msg-avail'>...</span></td><td>Marius Bakke</td></tr>
<tr><td><span title='2016-11-04 01:44:42 -0400'>2016-11-04</span></td><td><a href='/guix/commit/gnu/packages/lighting.scm?id=8d806cb0e0853add2527b09b5e608c860faffe07'>gnu: ola: Fix build failure caused by use of deprecated function.</a><span class='msg-avail'>...</span></td><td>Leo Famulari</td></tr>
<tr><td><span title='2016-09-05 10:56:57 +0200'>2016-09-05</span></td><td><a href='/guix/commit/gnu/packages/lighting.scm?id=818db70872312c128b1a69466919b6dd8ec890b1'>gnu: Add ola.</a><span class='msg-avail'>...</span></td><td>John J. Foerch</td></tr>
