====== LB01 - Übersicht Lernziele (LU01-LU07) ======
Diese Seite fasst alle Lernziele aus LU01 bis LU07 zusammen. Sie deckt sich mit dem, was in **LB01** (Single Choice, Multiple Choice, Lückentext) geprüft wird.
**Hilfsmittel an der Prüfung:** ein von Hand geschriebenes Cheatsheet/Merkblatt (1 DIN A4 Seite, Vorder- und Rückseite).
Die Leistungsbeurteilung wird mit dem Safe Exam Browser auf Moodle durchgeführt. Kümmern Sie sich genug früh darum, dass Ihr Gerät den Safe Exam Browser unterstützt: https://safeexambrowser.org/
===== LU01a - Grundlagen Datenbanken =====
* Ich kann in eigenen Worten erklären, was eine Datenbank ist.
* Ich kann anhand einer selbsterstellten, einfachen Skizze erläutern, wie ein Datenbank-System aufgebaut ist.
* Ich kann mindestens drei Vorteile für den Einsatz einer Datenbank aufzählen.
===== LU02 - SQL und SELECT =====
* Ich kann mit SELECT alle oder bestimmte Spalten aus einer Tabelle anzeigen.
* Ich kann mit ORDER BY Ergebnisse sortieren (aufsteigend/absteigend).
* Ich kann mit WHERE Daten filtern - sowohl nach Zahlen als auch nach Text, inklusive der richtigen Anführungszeichen bei Textwerten.
* Ich kann mit AND, OR und NOT mehrere Bedingungen kombinieren.
* Ich weiss, dass ich in WebStorm zuerst das richtige Schema auswählen muss, bevor ich Abfragen mache.
===== LU03a - Relationale Datenbanken =====
* Ich kann die Begriffe Relation, Tupel, Attribut und Attributwert erklären und einer Tabelle zuordnen.
* Ich kann erklären, wozu ein Primärschlüssel und ein Fremdschlüssel dienen.
* Ich kann an einem Beispiel zeigen, wie zwei Tabellen miteinander verknüpft sind.
* Ich kann drei bekannte relationale Datenbankmanagementsysteme nennen.
===== LU03b - Relational oder NoSQL? =====
* Ich kann erklären, wie NoSQL-Datenbanken Daten ablegen und worin der Unterschied zu Tabellen besteht.
* Ich kann für eine gegebene Anforderung begründen, ob eher eine relationale oder eine NoSQL-Datenbank passt.
===== LU04a - Von der Idee zur Datenbank =====
* Ich kann die vier Entwurfsphasen einer Datenbank benennen und in eigenen Worten erklären.
* Ich kann erklären, warum man eine Datenbank plant, bevor man Tabellen erstellt.
* Ich kann ein konzeptuelles von einem logischen Datenmodell unterscheiden.
===== LU04b - ERM und ERD (Chen-Notation) =====
* Ich kann die Begriffe Entität, Attribut und Beziehung erklären und in einem Beispiel unterscheiden.
* Ich kann ein einfaches ER-Diagramm in Chen-Notation lesen und selbst zeichnen.
* Ich kann die drei Kardinalitäten 1:1, 1:n und n:m erklären und Beispiele nennen.
===== LU04c - Crow's-Foot-Notation =====
* Ich kann erklären, worin sich die Crow's-Foot- von der Chen-Notation unterscheidet.
* Ich kann die Symbole für 1:1, 1:n und n:m in der Crow's-Foot-Notation lesen und zeichnen.
* Ich kann in einem Crow's-Foot-Diagramm Primär- und Fremdschlüssel benennen.
===== LU05a - Datentypen in MySQL =====
* Ich kann erklären, warum jede Spalte einen Datentyp braucht.
* Ich kenne die wichtigsten MySQL-Datentypen und weiss, wofür sie eingesetzt werden.
* Ich kann für eine gegebene Information den passenden Datentyp auswählen und meine Wahl begründen.
===== LU05b - Datenbanken und Tabellen anlegen (SQL-DDL) =====
* Ich kann mit SQL eine Datenbank erstellen, auswählen und löschen.
* Ich kann mit SQL eine Tabelle mit Spalten und Datentypen erstellen und wieder löschen.
* Ich kenne die Namensregeln für Tabellen und Spalten.
===== LU05c - Constraints =====
* Ich kann erklären, was Constraints sind und wozu sie dienen.
* Ich kann PRIMARY KEY, AUTO_INCREMENT, NOT NULL und UNIQUE beim Erstellen einer Tabelle setzen.
* Ich kann begründen, welcher Constraint für welche Spalte sinnvoll ist.
===== LU06a - CRUD =====
* Ich kann die vier CRUD-Operationen benennen und je ein Beispiel aus dem Alltag nennen.
* Ich kann jeder CRUD-Operation den passenden SQL-Befehl zuordnen.
* Ich weiss, dass SELECT streng genommen nicht zur DML gehört, aber im Alltag mitgemeint ist.
===== LU06b - INSERT =====
* Ich kann mit INSERT einen einzelnen Datensatz einfügen.
* Ich kann mit INSERT mehrere Datensätze in einem Statement einfügen.
* Ich kann mit INSERT ... SELECT Daten aus einer anderen Tabelle übernehmen.
* Ich weiss, wie ich einen Apostroph in einem Textwert korrekt schreibe.
===== LU06c - UPDATE =====
* Ich kann mit UPDATE einzelne oder mehrere Spalten eines Datensatzes ändern.
* Ich kann erklären, was passiert, wenn ich UPDATE ohne WHERE ausführe.
* Ich kann vor einem UPDATE einen Dry-Run mit SELECT durchführen.
===== LU06d - DELETE =====
* Ich kann mit DELETE gezielt einen oder mehrere Datensätze löschen.
* Ich kann erklären, was passiert, wenn ich DELETE ohne WHERE ausführe.
* Ich kann den Unterschied zwischen DELETE und TRUNCATE erklären.
===== LU07 - Vertiefte SQL-Abfragen =====
* Ich kenne alle Vergleichsoperatoren und kann sie in WHERE einsetzen.
* Ich kann mit BETWEEN und IN Bedingungen kürzer formulieren, die ich sonst mit AND/OR schreiben müsste.
* Ich kann mit LIKE nach Textmustern suchen.
* Ich kann mit IS NULL prüfen, ob ein Wert fehlt.
* Ich kann mit DISTINCT doppelte Werte entfernen und mit LIMIT die Ergebnismenge einschränken.
----
{{tag>M290-LB01}}
[[https://creativecommons.org/licenses/by-nc-sa/4.0/|{{https://i.creativecommons.org/l/by-nc-sa/4.0/88x31.png}}]] Guido Koch