====== 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