SQL-Aufgaben in der schriftlichen IHK-Prüfung

SQL-Aufgaben in der schriftlichen IHK-Prüfung – Anwendungsentwickler-Podcast #117

SQL-Aufgaben kommen in fast jeder schriftlichen IHK-Abschlussprüfung vor. Daher wird es Zeit, einmal detailliert über eine sinnvolle Vorgehensweise bei ihrer Beantwortung zu sprechen. Genau dieses Thema hat die einhundertsiebzehnte Episode des Anwendungsentwickler-Podcasts.

Probeabo bei Audible (Affiliate)

Inhalt

  • SQL-Aufgaben kommen in der Prüfung für Anwendungsentwickler eigentlich jedes Mal vor (in GA1). Aber auch in GA2 kommen durchaus häufiger SQL-Aufgaben zum Einsatz. Eine detaillierte Vorbereitung ist also für alle IT-Berufe zu empfehlen.
  • Es gibt keine Ausrede, SQL nicht in- und auswendig zu kennen. Selbst wenn in fast jeder Prüfung ein Beiblatt mit der SQL-Syntax vorhanden ist, dauert das Nachschlagen viel zu lange. Lerne SQL einfach rauf und runter, wie es sich für einen vernünftigen Anwendungsentwickler gehört.
  • Ich empfehle, die SQL-Aufgaben zu bearbeiten und nicht zu streichen. Im Vergleich gibt es deutlich schwierigere Aufgaben, für die du die „Streich-Option“ noch brauchen könntest.
  • Vorab schau dir kurz die vorgegebene Tabellenstruktur an und versuche, das Datenmodell zu verstehen.
  • Lies die Aufgaben bitte genau durch und ermittle zuerst, welche Art von Statement und welche Bestandteile (z.B. ORDER BY) du brauchst. Häufig werden triviale Anweisungen wie die Sortierung am Ende vergessen. Das kostet wertvolle Punkte.
  • Das wichtigste Statement für die Prüfung ist sicherlich SELECT. Aber auch UPDATE, CREATE TABLE usw. wurden schon häufiger abgefragt. Gefühlt wird SELECT allerdings in 90% der Aufgaben erwartet.
  • Schaue dir trotzdem auch die eher seltenen SQL-Statements an. Es wurde z.B. auch schonUNION oder CASE benutzt.
  • Lass die SQL-Aufgaben bitte nicht einfach leer, auch wenn du keine Ahnung hast, wie du die konkrete Aufgabe lösen musst. Die Liste der Spalten und Tabellen gibt meist schon den Großteil der Punkte der Aufgaben.
  • Bei der Beantwortung der Fragen empfehle ich, mit der Auflistung der Tabellen zu beginnen.
  • Jede Tabelle sollte sofort einen kurzen Alias bekommen, damit die SQL-Abfrage insgesamt nicht so lang wird. Du musst das alles mit der Hand schreiben!
  • Danach sollten alle Spalten separat aufgeschrieben werden, damit diese Basispunkte nicht verschenkt werden.
  • Verwende bei Alternativen die kürzere Schreibweise, um Zeit zu sparen und weniger Fehler machen zu können. Beispiel: Statt WHERE plz > 10000 AND plz < 20000 besser `WHERE plz BETWEEN 10000 AND 20000´.
  • Um Tabellen zu verbinden, empfehle ich dringend den Einsatz der JOIN-Syntax (anstatt WHERE). Sie kann leicht um weitere Tabellen ergänzt werden, aber auch durch Hinzufügen eines einziges Wortes in einen OUTER-Join verändert werden.
  • Achte bei den Joins darauf, ob du eventuell ein OUTER-Join brauchst. In den Aufgaben findest du normalerweise Hinweise darauf, ob in den Tabellen verknüpfte Datensätze vorhanden sein müssen oder nicht.
  • Ein Hinweis zum GROUP BY: Alle Spalten, die selektiert werden und keine Aggregatfunktion enthalten, müssen auch hinter dem GROUP BY aufgeführt werden. Beispiel: SELECT m.name, m.vorname, COUNT(m.fehltage) FROM mitarbeiter m GROUP BY m.name, m.vorname
  • Nicht jede Aufgabe benötigt ein Subselect. Oftmals kannst du die Abfragen, die gefordert sind, auch mit einem simplen JOIN und/oder GROUP BY lösen.

Literaturempfehlungen

Wie so oft ist meine Buchempfehlung zum Einstieg ins Thema Datenbanken das gute alte IT-Handbuch für Fachinformatiker*! 🙂

Sascha Kersken - IT-Handbuch für Fachinformatiker: Für Fachinformatiker der Bereiche Anwendungsentwicklung und Systemintegration. Inkl. Prüfungsfragen und Praxisübungen (Affiliate)*
(direkt beim Rheinwerk-Verlag bestellen*)

Das Kapitel über Datenbanken bespreche ich auch hier im Buchclub: Buchclub: Handbuch für Fachinformatiker (Teil 11: Datenbanken)

Links

Weitere Hilfen zur IHK-Prüfung

Du suchst noch mehr Tipps rund um die Vorbereitung auf die schriftliche IHK-Prüfung? Dann schau doch mal in diese Artikel- und Podcast-Kategorie: Alle Artikel rund um die schriftliche IHK-Prüfung.

Und kennst du schon meine Übungsaufgaben für die Abschlussprüfung? Unter dieperfekteihkpruefung.de kannst du sie herunterladen.

2 thoughts on “SQL-Aufgaben in der schriftlichen IHK-Prüfung – Anwendungsentwickler-Podcast #117

  1. Ich finde den Podcast prinzipiell sehr gut. Aber einige Aussagen in dieser Ausgabe sind mir (seit mehr als 10 Jahren Datenbankentwickler) doch ziemlich suspekt: „Sub-SELECTs kommen im wahren Leben kaum vor und sind immer total langsam“? Wie kommt man denn darauf? Ich treffe täglich Sub-SELECTs und dass nicht nur in meinem eigenen Code. Und sie sind auch niemals grundsätzlich langsam. Zum Einen weil ein gescheiter Optimizer von sich aus in der Lage ist falsch eingesetzte Sub-SELECTs trotzdem korrekt zu „Planen“, zum Anderen setzt man sie häufig gerade aus Performance-Gesichtspunkten ein. Und letztlich ist auch die Aussage dass diese nicht lesbar wären Kappes, auch hier gilt: gerade zur Strukturierung großer Statements können Sub-Statements sehr gut beitragen.

    Irgendwie erinnert mich dieser Beitrag an meine eigene Berufsschulzeit: Den Ausbildern und Lehrern mangelt es oft nicht an theoretischem Wissen. Dafür aber ganz gewaltig an Praxis. Ich sehe dass auch bei mir im Unternehmen: Das schwächste Glied in der Entwicklerriege ist sonderbarerweise der, der sonderbarerweise seinen Tage auch als IT-Ausbilder verbringt.

  2. Hallo Marco,

    danke für dein Feedback. Du hast recht damit, dass ich im Alltag nicht so viel mit SQL-Abfragen arbeite. Aber genug Erfahrung, um den Umgang damit lehren zu können, habe ich sehrwohl. Und von einer einzigen vielleicht zu hinterfragenden Aussage auf meine gesamte „schwache“ Qualifikation zu schließen, finde ich dann doch recht unpassend.

    In dieser Episode geht es ja außerdem um die Beantwortung der Fragen in der IHK-Prüfung, die ohnehin recht speziell sind. Und dabei ist mir aufgefallen, dass viele Musterlösungen unnötigerweise (!) mit Subqueries arbeiten, obwohl sie mit weniger (Schreib-)Aufwand und auch noch performanter z.B. mit einem GROUP BY lösbar wären (Beispiel: sql – Should I choose subquery or ‚group by‘ for faster performance. Dass Subqueries durchaus ihren Platz in der Praxis haben und manchmal auch einfach nötig sind, weil es keine andere Lösung gibt, ist mir durchaus bewusst. Das heißt aber nicht, dass sie der goldene Hammer für alle Datenbankprobleme sind und man sie in jeder SQL-Aufgabe der Abschlussprüfung verwenden sollte oder gar muss. Und dieser Eindruck entsteht bei mir, wenn ich die Klausuren korrigiere.

    Ansonsten freue ich mich über ein konkretes Praxisbeispiel von dir, das die „Überlegenheit“ (oder zumindest Gleichwertigkeit) von Subqueries gegenüber GROUP BY demonstriert! 🙂

    Viele Grüße!
    Stefan

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

To create code blocks or other preformatted text, indent by four spaces:

    This will be displayed in a monospaced font. The first four 
    spaces will be stripped off, but all other whitespace
    will be preserved.
    
    Markdown is turned off in code blocks:
     [This is not a link](http://example.com)

To create not a block, but an inline code span, use backticks:

Here is some inline `code`.

For more help see http://daringfireball.net/projects/markdown/syntax