From e7eb81b89651deb3d2d43b19ef19cb6a749b193f Mon Sep 17 00:00:00 2001 From: S170H <64917343+S170H@users.noreply.github.com> Date: Sat, 6 Jan 2024 19:51:41 +0100 Subject: [PATCH] M5 A4 Completed M5 --- M5/Dossier/M5.md | 44 +++++++++++++++++++++++ M5/emensa/storage/logs/anmeldung.txt | 2 ++ M5/emensa/storage/logs/werbeseite_log.txt | 3 ++ 3 files changed, 49 insertions(+) diff --git a/M5/Dossier/M5.md b/M5/Dossier/M5.md index 06a26f6..60d8931 100644 --- a/M5/Dossier/M5.md +++ b/M5/Dossier/M5.md @@ -42,6 +42,25 @@ Im Kontext des gegebenen PHP-Codes wird eine Transaktion verwendet, um die Siche Durch die Verwendung von Transaktionen wird sichergestellt, dass, wenn z.B. ein Fehler bei einer der Update-Operationen auftritt oder die Verbindung zur Datenbank verloren geht, keine teilweise aktualisierten Daten zurückbleiben, was zu Inkonsistenzen führen könnte. Stattdessen würde die gesamte Transaktion automatisch zurückgerollt oder abgebrochen werden (`rollback`), sodass die Datenbank in einem konsistenten Zustand bleibt. +# Aufgabe 2 +```sql +ALTER TABLE gericht ADD bildname varchar(200); + +UPDATE gericht SET bildname = '01_bratkartoffel.jpg' WHERE id=1; +UPDATE gericht SET bildname = '03_bratkartoffel.jpg' WHERE id=3; +UPDATE gericht SET bildname = '04_tofu.jpg' WHERE id=4; +UPDATE gericht SET bildname = '09_suppe.jpg' WHERE id=9; +UPDATE gericht SET bildname = '06_lasagne.jpg' WHERE id=6; +UPDATE gericht SET bildname = '10_forelle.jpg' WHERE id=10; +UPDATE gericht SET bildname = '11_soup.jpg' WHERE id=11; +UPDATE gericht SET bildname = '12_kassler.jpg' WHERE id=12; +UPDATE gericht SET bildname = '13_reibekuchen.jpg' WHERE id=13; +UPDATE gericht SET bildname = '15_pilze.jpg' WHERE id=15; +UPDATE gericht SET bildname = '17_broetchen.jpg' WHERE id=17; +UPDATE gericht SET bildname = '19_mousse.jpg' WHERE id=19; +UPDATE gericht SET bildname = '20_suppe.jpg' WHERE id=20; +``` + # Aufgabe 3 1. Composer installieren 1. **Download der Composer-Installer-EXE:** Gehen Sie zur offiziellen Composer-Website [getcomposer.org](https://getcomposer.org/) und klicken Sie auf den Button "Download" oder direkt auf "Composer-Setup.exe", um den Installer für Windows herunterzuladen. @@ -53,6 +72,31 @@ Durch die Verwendung von Transaktionen wird sichergestellt, dass, wenn z.B. ein 1. Verzeichnis `./emensa` wechseln 2.  `composer require monolog/monolog`  ausführen +# Aufgabe 4 + +```sql +-- a) +CREATE OR REPLACE + VIEW view_suppengerichte + AS select * from gericht + WHERE name LIKE '%suppe%'; + +-- b) +CREATE OR REPLACE + VIEW view_anmeldungen + AS select name,anzahlanmeldungen + from benutzer + ORDER BY anzahlanmeldungen DESC; + +-- c) +CREATE OR REPLACE VIEW view_kategoriegerichte_vegetarisch + AS select gericht.name as gericht_name, + vegetarisch, + kategorie.name as katergorie_name + from gericht, kategorie + WHERE vegetarisch = 1 ; +``` + # Aufgabe 5 ## Was ist eine SQL-Prozedur Eine SQL-Prozedur ist eine Sammlung von SQL-Anweisungen, die unter einem Namen gespeichert werden und bei Bedarf aufgerufen werden können. Die Struktur einer SQL-Prozedur umfasst in der Regel zusammengesetzte Anweisungen, die durch die Schlüsselwörter BEGIN und END begrenzt sind[1]. Gespeicherte Prozeduren ermöglichen es, komplexe Abläufe von Anweisungen vom Datenbank-Client auszuführen und sind somit ein eigenständiger Befehl, der eine Abfolge gespeicherter Befehle darstellt[2]. diff --git a/M5/emensa/storage/logs/anmeldung.txt b/M5/emensa/storage/logs/anmeldung.txt index a61adb7..b12346a 100644 --- a/M5/emensa/storage/logs/anmeldung.txt +++ b/M5/emensa/storage/logs/anmeldung.txt @@ -5,3 +5,5 @@ [2024-01-06T17:35:10.417463+00:00] anmeldung.INFO: Abmeldung erfolgreich! [] [] [2024-01-06T18:40:26.912833+00:00] anmeldung.INFO: Anmeldung erfolgreich! [] [] [2024-01-06T18:40:42.244963+00:00] anmeldung.INFO: Abmeldung erfolgreich! [] [] +[2024-01-06T18:50:32.238610+00:00] anmeldung.INFO: Anmeldung erfolgreich! [] [] +[2024-01-06T18:50:56.848358+00:00] anmeldung.INFO: Abmeldung erfolgreich! [] [] diff --git a/M5/emensa/storage/logs/werbeseite_log.txt b/M5/emensa/storage/logs/werbeseite_log.txt index 6fb8884..5f83c79 100644 --- a/M5/emensa/storage/logs/werbeseite_log.txt +++ b/M5/emensa/storage/logs/werbeseite_log.txt @@ -12,3 +12,6 @@ [2024-01-06T18:40:37.906183+00:00] werbeseite_log.INFO: werbeseite aufgerufen! [] [] [2024-01-06T18:40:38.505567+00:00] werbeseite_log.INFO: werbeseite aufgerufen! [] [] [2024-01-06T18:40:42.359774+00:00] werbeseite_log.INFO: werbeseite aufgerufen! [] [] +[2024-01-06T18:50:12.019483+00:00] werbeseite_log.INFO: werbeseite aufgerufen! [] [] +[2024-01-06T18:50:32.335954+00:00] werbeseite_log.INFO: werbeseite aufgerufen! [] [] +[2024-01-06T18:50:56.902291+00:00] werbeseite_log.INFO: werbeseite aufgerufen! [] []