\section{CRUD műveletek} \begin{frame}[fragile]{CRUD műveletek} \begin{block}{Mi az a CRUD?} \begin{itemize} \item \textbf{C}reate - Létrehozás \item \textbf{R}ead - Olvasás \item \textbf{U}pdate - Módosítás \item \textbf{D}elete - Törlés \end{itemize} \end{block} \vspace{0.5cm} \begin{block}{Adatbázis műveletek} Az alapvető adatbázis műveletek, amelyek minden adatkezelő rendszerben megtalálhatók. \end{block} \end{frame} \begin{frame}[fragile]{Create - Létrehozás} \begin{block}{SQL - INSERT} \begin{lstlisting}[language=SQL] INSERT INTO users (name, email, age) VALUES ('John Doe', 'john@example.com', 30); \end{lstlisting} \end{block} \begin{block}{REST API - POST} \begin{lstlisting}[language=JavaScript] POST /api/users Content-Type: application/json { "name": "John Doe", "email": "john@example.com", "age": 30 } \end{lstlisting} \end{block} \end{frame} \begin{frame}[fragile]{Read - Olvasás} \begin{block}{SQL - SELECT} \begin{lstlisting}[language=SQL] -- Összes rekord SELECT * FROM users; -- Egy adott rekord SELECT * FROM users WHERE id = 1; -- Szűrés és rendezés SELECT name, email FROM users WHERE age > 25 ORDER BY name ASC; \end{lstlisting} \end{block} \end{frame} \begin{frame}[fragile]{Read - REST API} \begin{block}{REST API - GET} \begin{lstlisting}[language=JavaScript] // Összes felhasználó GET /api/users // Egy adott felhasználó GET /api/users/1 // Szűrés query paraméterekkel GET /api/users?age=30&sort=name \end{lstlisting} \end{block} \end{frame} \begin{frame}[fragile]{Update - Módosítás} \begin{block}{SQL - UPDATE} \begin{lstlisting}[language=SQL] UPDATE users SET email = 'newemail@example.com', age = 31 WHERE id = 1; \end{lstlisting} \end{block} \begin{block}{REST API - PUT/PATCH} \begin{lstlisting}[language=JavaScript] // Teljes frissítés PUT /api/users/1 { "name": "John Doe", "email": "new@example.com", "age": 31 } // Részleges frissítés PATCH /api/users/1 { "email": "new@example.com" } \end{lstlisting} \end{block} \end{frame} \begin{frame}[fragile]{Delete - Törlés} \begin{block}{SQL - DELETE} \begin{lstlisting}[language=SQL] -- Egy adott rekord törlése DELETE FROM users WHERE id = 1; -- Minden rekord törlése (óvatosan!) DELETE FROM users; \end{lstlisting} \end{block} \begin{block}{REST API - DELETE} \begin{lstlisting}[language=JavaScript] DELETE /api/users/1 \end{lstlisting} \end{block} \end{frame} \begin{frame}{CRUD vs HTTP metódusok} \begin{table} \begin{tabular}{|l|l|l|l|} \hline \textbf{CRUD} & \textbf{HTTP} & \textbf{SQL} & \textbf{Leírás} \\ \hline Create & POST & INSERT & Új erőforrás létrehozása \\ \hline Read & GET & SELECT & Erőforrás lekérdezése \\ \hline Update & PUT/PATCH & UPDATE & Erőforrás módosítása \\ \hline Delete & DELETE & DELETE & Erőforrás törlése \\ \hline \end{tabular} \end{table} \end{frame}