\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{block}{Alapvető beállítások}
    \begin{itemize}
      \item \textbf{Host:} Szerver címe (localhost, IP, domain)
      \item \textbf{Port:} Adatbázis portja\\
      (PostgreSQL: 5432, MySQL: 3306, MongoDB: 27017)
      \item \textbf{Database:} Adatbázis neve
      \item \textbf{User/Password:} Hitelesítési adatok
      \item \textbf{SSL/TLS:} Titkosított kapcsolat (production kötelező!)
    \end{itemize}
  \end{block}
\end{frame}

\begin{frame}[fragile]{Connection String formátumok}
  \begin{exampleblock}{PostgreSQL}
    \begin{lstlisting}[language=bash]
postgresql://user:password@localhost:5432/mydb?schema=public
    \end{lstlisting}
  \end{exampleblock}
  
  \begin{exampleblock}{MySQL}
    \begin{lstlisting}[language=bash]
mysql://user:password@localhost:3306/mydb
    \end{lstlisting}
  \end{exampleblock}
  
  \begin{exampleblock}{MongoDB}
    \begin{lstlisting}[language=bash]
mongodb://user:password@localhost:27017/mydb
    \end{lstlisting}
  \end{exampleblock}
\end{frame}

\begin{frame}[fragile]{Konfiguráció alkalmazásban}
  \begin{block}{Környezeti változók (.env fájl)}
    \begin{lstlisting}[language=bash]
# Alapvető kapcsolat
DATABASE_URL="postgresql://user:pass@localhost:5432/appdb"
    \end{lstlisting}
  \end{block}

  \begin{alertblock}{SOHA ne commitold a .env fájlt!}
    Használj .env.example sablont, a valódi értékeket .gitignore-ba!
  \end{alertblock}
\end{frame}

\begin{frame}[fragile]{Prisma specifikus konfiguráció}
  \begin{block}{schema.prisma fájl}
    \begin{lstlisting}[language=JavaScript]
datasource db {
  provider = "postgresql"
  url      = env("DATABASE_URL")
}

generator client {
  provider = "prisma-client-js"
}
    \end{lstlisting}
  \end{block}
  
  \begin{block}{Connection URL extended példa}
    \begin{lstlisting}[language=bash]
DATABASE_URL="postgresql://user:pass@localhost:5432/mydb?schema=public\
&connection_limit=10&pool_timeout=20"
    \end{lstlisting}
  \end{block}
\end{frame}

