<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Welcome Ninja – Datenbanken</title><link>/challenges/database/</link><description>Recent content in Datenbanken on Welcome Ninja</description><generator>Hugo -- gohugo.io</generator><language>en</language><atom:link href="/challenges/database/index.xml" rel="self" type="application/rss+xml"/><item><title>Challenges: Setup</title><link>/challenges/database/01_setup/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/challenges/database/01_setup/</guid><description>
&lt;p>Um alle Übungen machen zu können wird eine lokale Datenbank benötigt. Dazu verwenden wir MariaDB. Falls du MariaDB noch
nicht installiert hast, sind hier die Downloadlinks. Das DB-Tool dbeaver ist optional. Beim Download von MariaDB wird
gleichzeitig HeidiSQL installiert, jedoch ist dieses Tool teilweise nicht so praktisch. Eine Alternative zu dbeaver ist
die Intellij-Datenbankview, die bereits in Intellij ohne installation vorhanden ist.&lt;/p>
&lt;p>MariaDB:&lt;/p>
&lt;ul>
&lt;li>Download: &lt;a href="https://mariadb.org/download/">https://mariadb.org/download/&lt;/a>&lt;/li>
&lt;li>DB-Tool: &lt;a href="https://dbeaver.io/download/">https://dbeaver.io/download/&lt;/a>&lt;/li>
&lt;li>Intellij-Datenbankview: &lt;a href="https://www.jetbrains.com/help/idea/relational-databases.html#first-steps">https://www.jetbrains.com/help/idea/relational-databases.html#first-steps&lt;/a>&lt;/li>
&lt;/ul>
&lt;p>Bei beiden Tools kann der normale Installationsprozess durchlaufen werden. Merke dir das Passwort, dass du bei MariaDB
gesetzt hast. Du wirst es im nächsten Schritt brauchen. Nach der Installation kannst du DBeaver öffnen und MariaDB
wie folgt verbinden:&lt;/p>
&lt;ol>
&lt;li>Klicke oben links auf das Verbinden-Icon (Stecker, im Bild rot markiert):
&lt;img src="/challenges/database/01_setup/images/neue-verbindung.png" alt="">&lt;/li>
&lt;li>Wähle MariaDB aus und klicke auf &amp;ldquo;Weiter&amp;rdquo;:
&lt;img src="/challenges/database/01_setup/images/db-auswahl.png" alt="">&lt;/li>
&lt;li>Gib dein Passwort ein und klicke auf &amp;ldquo;Fertigstellen&amp;rdquo;:
&lt;img src="/challenges/database/01_setup/images/connection.png" alt="">&lt;/li>
&lt;li>Wenn alles funktioniert hat, solltest du die DB in der Liste sehen können:
&lt;img src="/challenges/database/01_setup/images/ende.png" alt="">&lt;/li>
&lt;li>Um ein SQL-Script auszuführen, musst du einen SQL-Editor öffnen. Mache dazu Rechtsklick auf localhost und wähle
&lt;code>SQL-Editor -&amp;gt; SQL-Skript&lt;/code> aus:&lt;br>
&lt;img src="/challenges/database/01_setup/images/sql-editor.png" alt="">&lt;/li>
&lt;li>Vom SQL-Editor aus kannst du alle gelernten SQL-Statements anwenden. Zuerst solltest du jedoch eine Datenbank mit
&lt;code>CREATE DATABASE name&lt;/code> erstellen. Dort kannst du wie in den Docs gelernt Tabellen usw. erstellen.&lt;/li>
&lt;/ol>
&lt;p>Wenn diese Schritte funktioniert haben, bist du für die Labs bereit.&lt;/p></description></item><item><title>Challenges: SQL Syntax</title><link>/challenges/database/02_sql_syntax/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/challenges/database/02_sql_syntax/</guid><description>
&lt;h2 id="übung-1">Übung 1&lt;/h2>
&lt;p>In der ersten Übung sollst du anhand eines Textes ein ERD erstellen.
Du sollst für einen Kunden ein ERD für einen Online-Shop erstellen. Der Kunde gibt dir folgende Informationen:&lt;/p>
&lt;p>Der Online-Shop verfügt über Produkte, Kunden und Bestellungen. Ein Kunde kann mehrere Produkte bestellen,
und eine Bestellung kann mehrere Produkte enthalten. Die Produkte haben Eigenschaften wie Name, Beschreibung und Preis.&lt;/p>
&lt;p>Hier sind einige grundlegende Informationen, die dir helfen sollen, ein ERD für den Online-Shop zu erstellen:&lt;/p>
&lt;ol>
&lt;li>Produkte:
&lt;ul>
&lt;li>Jedes Produkt hat eine eindeutige Produkt-ID, einen Namen, eine Beschreibung und einen Preis.&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>Kunden:
&lt;ul>
&lt;li>Jeder Kunde hat eine eindeutige Kunden-ID, einen Vornamen, einen Nachnamen, eine Adresse und eine E-Mail-Adresse.&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>Bestellungen:
&lt;ul>
&lt;li>Jede Bestellung hat eine eindeutige Bestell-ID, ein Bestelldatum und ist einem bestimmten Kunden zugeordnet.&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>Bestellpositionen:
&lt;ul>
&lt;li>Eine Bestellung kann mehrere Positionen enthalten, und jede Position ist einem bestimmten Produkt zugeordnet.
Eine Position enthält Informationen wie die Produktmenge.&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ol>
&lt;p>Erstelle das ERD mithilfe von Draw.io so, dass die 3NF erreicht wird. Schaue anschliessend das fertige ERD mit einem
Praxisbildner an, um Feedback dazu zu erhalten.&lt;/p>
&lt;h2 id="übung-2">Übung 2&lt;/h2>
&lt;p>Erstelle anhand dieses ERDs eine Datenbank. Verwende hierbei die deiner Meinung nach richtigen Datentypen. Die Datenbank
soll die 3NF erreichen. &lt;strong>Achtung!&lt;/strong> das ERD ist nicht in der 3NF. Schau deine fertige Datenbank mit einem Praxisbildner an.&lt;/p>
&lt;p>&lt;img src="/challenges/database/02_sql_syntax/images/zoo-erd.png" alt="ERD Zoo">&lt;/p>
&lt;h2 id="übung-3">Übung 3&lt;/h2>
&lt;p>In dieser Übung geht es darum, mit deinen SQL-Kenntnissen einen Mord zu lösen. Ziel ist es, dass du alle Rätsel löst und
das letzte Query mit einem Praxisbildner anschaust. Beim Lösen empfiehlt es sich Zwischenschritte aufzuschreiben, um die
Übersicht zu behalten. Falls du diese Zwischenschritte auch mit einem Praxisbildner anschauen möchtest, ist dies auch möglich.
&lt;a href="https://mystery.knightlab.com/">SQL Murder Mystery&lt;/a>&lt;/p></description></item></channel></rss>