\section{Adatbázis kapcsolat}

\begin{frame}{Kapcsolat alapok}
  \begin{block}{Mi az adatbázis kapcsolat?}
    \begin{itemize}
      \item A kliens és az adatbázis szerver közötti kommunikáció
      \item Hozzáférés a lekérdezésekhez és tranzakciókhoz
      \item Hitelesítés, jogosultság és titkosítás része a kapcsolatnak
    \end{itemize}
  \end{block}
\end{frame}

\begin{frame}{Kapcsolati paraméterek}
  \begin{itemize}
    \item Host, port, adatbázis név
    \item Felhasználónév, jelszó
    \item SSL/TLS beállítások
    \item Timeout és pool méretek
  \end{itemize}

  \begin{exampleblock}{Connection string példa}
    \texttt{postgres://user:pass@localhost:5432/appdb}
  \end{exampleblock}
\end{frame}

\begin{frame}{Connection pooling}
  \begin{block}{Miért kell?}
    \begin{itemize}
      \item A kapcsolat fel- és leépítése drága
      \item Pool újrahasznosítja a kapcsolatokat
      \item Stabilabb teljesítmény csúcsterhelésen
    \end{itemize}
  \end{block}

  \begin{alertblock}{Beállítási irányelv}
    Túl kicsi pool lassít, túl nagy pool túlterheli a szervert.
  \end{alertblock}
\end{frame}

\begin{frame}[fragile]{Konfiguráció alkalmazásban}
  \begin{block}{Környezeti változók}
    \begin{lstlisting}[language=bash]
DATABASE_URL="postgres://user:pass@localhost:5432/appdb"
    \end{lstlisting}
  \end{block}

  \begin{block}{Függőség kezelés}
    A kapcsolat beállításait ne kódold a forráskódba, használj env fájlt.
  \end{block}
\end{frame}

\begin{frame}{Prisma megjegyzés}
  \begin{itemize}
    \item Prisma-val a kapcsolat a \texttt{DATABASE\_URL}-on keresztül jön létre
    \item A koncepció ugyanaz, csak a keretrendszer kezeli a részleteket
    \item Ebben a részben nem feltétel a Prisma használata
  \end{itemize}
\end{frame}

\begin{frame}{Hibakezelés és stabilitás}
  \begin{itemize}
    \item Használj újracsatlakozást ideiglenes hibákra
    \item Naplózd a kapcsolat hibákat, de ne írj ki jelszavakat
    \item Tranzakcióknál kezeld a visszagörgetést
  \end{itemize}
\end{frame}
