Vergleich von Lehr-Software zum Thema Datenbanksysteme Bearbeitet von: Jana Blümle (Matrikelnummer: 53578) Michael Probst (Matrikelnummer: 53550) Cornelius Steinle (Matrikelnummer: 57127) Betreuer: Prof. Dr. Küpper Hochschule für Technik und Wirtschaft Aalen Fakultät Elektronik und Informatik Studiengang Informatik Inhaltsverzeichnis 1 Einleitung 2 Lehrsysteme für Datenbanktheorie 2.1 Online-Trainer der FH Köln . . . 2.1.1 ER-Trainer . . . . . . . . 2.1.2 3NF-Trainer . . . . . . . . 2.1.3 Fazit . . . . . . . . . . . . 2.2 RH-Lernsoftware . . . . . . . . . 2.2.1 Überblick . . . . . . . . . 2.2.2 Fazit . . . . . . . . . . . . 2.3 Griffith-Normalisierungsmaschine 2.4 Stanford Datenbanken Kurse . . . 2.4.1 Lagunita . . . . . . . . . . 2.4.2 Datenbanken Kurse . . . . 2.4.3 Relational Design Theory 2.4.4 Relational Algebra . . . . 2.4.5 Fazit . . . . . . . . . . . . 3 SQL-Software 3.1 SQL-Island . . . . . . . . . . . . 3.1.1 Überblick . . . . . . . . . 3.1.2 Benutzeroberfläche . . . . 3.1.3 Fazit . . . . . . . . . . . . 3.2 W3schools . . . . . . . . . . . . . 3.2.1 Übersicht . . . . . . . . . 3.2.2 Fazit . . . . . . . . . . . . 3.3 Vertabelo Academy . . . . . . . . 3.3.1 SQL Queries . . . . . . . . 3.3.2 Operating on Data in SQL 3.3.3 Creating Tables in SQL . 3.3.4 Standard SQL Functions . 3.3.5 Fazit . . . . . . . . . . . . 3.4 Stanford Datenbank Kurse . . . . 3.4.1 SQL . . . . . . . . . . . . 3.4.2 Fazit . . . . . . . . . . . . 3.5 Online-Trainer der FH Köln . . . 3.5.1 SQL-Trainer . . . . . . . . 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 4 4 5 6 7 7 7 8 8 8 8 9 10 10 . . . . . . . . . . . . . . . . . . 12 12 12 12 13 14 14 15 15 15 16 17 17 18 18 18 19 20 20 3.5.2 3.5.3 3.5.4 SQL-Trainer 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SQL Sandbox . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Fazit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 22 22 4 Fazit 24 Literaturverzeichnis 25 2 1 Einleitung Die Digitalisierung wirkt sich heutzutage auf die meisten Bereiche unseres Lebens aus, nicht verwunderlich ist es daher, dass sie auch schon Einfluss auf das Lernen neuer Dinge gewonnen hat. Gemeinsam mit dem Internet trug sie maßgeblich zur Vereinfachung der Verbreitung von Informationen bei. Durch kurze Onlinerecherechen kann somit Wissen in kürzester Zeit abgerufen und sich angeeignet werden. In den letzten Jahren gab es noch eine weitere Entwicklung die immer mehr an Bedeutung gibt: Das e-Learning. Unter e-Learning versteht man eine Lernmethode, welche elektronische Technologien nutzt um bestimmte Lehrinhalte zu vermitteln. Neben dem verbesserten Zugang zu Wissen verspricht e-Learning auch die Effektivität und Qualität des Lernens zu erhöhen. Doch hält es dieses Versprechen auch? Im Rahmen dieser Arbeit werden unterschiedliche Systeme untersucht und verglichen, welche Studenten das Lernen des Themas Datenbanksysteme erleichtern sollen. Hierbei werden sowohl Systeme zur Datenbanktheorie, als auch zur praktischen Anwendung der Abfragesprache SQL berücksichtigt. Bei den getesteten Programmen handelt es sich zum Großteil um Webapplikationen, die direkt ohne Installation nutzbar sind. Allerdings sind auch Programme enthalten, die nur unter Windows nutzbar sind und somit möglicherweise nicht für jeden Benutzer geeignet sind. Im Endfazit werden die verschiedenen Systeme und Programme gegenübergestellt und miteinander verglichen. 3 2 Lehrsysteme für Datenbanktheorie 2.1 Online-Trainer der FH Köln Die Fachhochschule Köln bietet auf einer eigens dafür entwickelten Website für registrierte Mitglieder ein breites Spektrum an Lernsoftware für Datenbank-Theorie an. Dabei muss der Benutzer kein Angehöriger der Hochschule sein. Die verschiedenen Anwendungen, welche größtenteils Projektarbeiten von Studenten sind, sind für Jedermann frei zugänglich. Da alle Anwendungen webbasiert sind, können diese direkt mit jedem halbwegs modernen Browser gestartet werden und sind mit jedem Betriebssystem kompatibel. Die sogenannten Trainer“ werden im Folgenden genauer erläutert. ” 2.1.1 ER-Trainer Der ER-Trainer ist ein, im Rahmen einer studentischen Projektarbeit von Ivica-Ivan Ljubas und Hakan Basar entwickeltes Trainings-Programm, welches Studenten mit der richtigen Verwendung von Beziehungen in ER-Modellen vertraut machen soll. Hierbei kommt die sogenannte Martin-Notation (nach James Martin) zum Einsatz. Diese wird im Online-Lexikon der Fachhochschule Köln [1] genauer beschrieben. Abbildung 2.1: Martin-Notation oder auch Krähenfußnotation 4 Die Studenten bekommen der Reihe nach verschiedene Aufgaben gestellt, die sie lösen müssen. Dabei wird eine kurze Aufgabe gestellt, die gängigen Klausuraufgaben in einer Datenbanksysteme-Vorlesung sehr ähnelt. Der Benutzer bekommt zudem zwei Entitäten angezeigt, die er mittels der richtigen Beziehung in Relation zueinander bringen muss. Es stehen zehn verschiedene Beziehungstypen zur Auswahl (1:1, 1:n, etc.). Sollte die Bedeutung einer Beziehung unklar sein, kann der Benutzer in der Legende (Abbildung 2.1) nachschauen. Sobald sich der Benutzer sicher ist, dass er die Aufgabe richtig beantwortet hat, kann er diese zur Kontrolle abschicken. Nach einem Abgleich mit der Musterlösung bekommt er ein Feedback, ob die gewählte Antwort korrekt ist, und, falls nicht, wird ggf. die richtige Lösung angezeigt. Abbildung 2.2: Falsche Antwort mit Musterlösung Dieser Ablauf kann bis zu fünf mal wiederholt werden, bis eine neue Runde gestartet werden kann. 2.1.2 3NF-Trainer Die Normalisierung von Datenbank-Tabellen ist ein wichtiges Thema in der DatenbankTheorie. Hierbei gibt es einige Regeln, die beim Anwenden des schrittweisen Algorithmus beachtet werden müssen. Um diese Regeln zu verinnerlichen, haben die Studenten Andre Kasper und Marc Kastleiner einen Trainer für die dritte Normalform entwickelt. Die Software wurde in Anlehnung an die Diplomarbeit von David Krievec geschrieben. Bevor die eigentliche Anwendung gestartet wird, erhält der Benutzer auf einer Einstiegsseite einen kurzen Überblick darüber, was ihn erwartet und was er im Detail zu tun hat, um die Aufgaben zu meistern. Zudem wird auf ein Dokument verlinkt, in welchem die einzelnen Bestandteile des Themas erklärt werden, falls diese noch nicht bekannt sind, oder lediglich das Wissen nochmal aufgefrischt werden soll. Die Verwendung des Trainings-Programms hat folgenden Ablauf: 5 1. Zunächst soll der Benutzer bestimmen, ob sich eine vorgegebene Tabelle in der ersten Normalform befindet. Ist dies nicht der Fall, müssen die Spalten bestimmt werden, die diese Normalform verletzen. 2. Anschließend werden die funktionalen Abhängigkeiten bestimmt. 3. Im nächsten Schritt muss aus allen vorhandenen Spalten ein Primärschlüssel zusammengesetzt werden. 4. Die beiden letzten Schritte sind die Überführung in die zweite und dritte Normalform. Nach jedem der genannten Schritte bekommt der Benutzer von der Anwendung eine Rückmeldung, ob sein abgegebenes Ergebnis korrekt war. Falls Fehler enthalten sind, besteht die Möglichkeit, die Musterlösung anzuzeigen, um den Lösungsweg besser nachvollziehen zu können. In diesem Fall erhält der Benutzer für die jeweilige Teilaufgabe keinen Punkt. Mit jeder neuen Runde variiert die vorgegebene Tabelle etwas von der Vorherigen, um eine neue Herausforderung zu bieten. Somit kann der Trainer mehrmals durchlaufen werden, ohne dass der Benutzer bereits das Ergebnis kennt. Abbildung 2.3: Bestimmen des Primärschlüssels 2.1.3 Fazit Gesamtheitlich betrachtet stellen die Trainer der Fachhochschule Köln eine sehr gute Alternative dar, um sich in den theoretischen Teil des Themas Datenbanksysteme einzuarbeiten. Da die Aufgaben im Schwierigkeitsgrad variieren kann sich der Benutzer auch über einen längeren Zeitraum damit beschäftigen. Zudem können die Anwendungen auch als zusätzliche Prüfungsvorbereitung herangezogen werden. 6 Ein Nachteil, der auf Dauer etwas die Benutzererfahrung trüben kann, ist, dass die Website scheinbar zufällig sehr langsam lädt und der Benutzer öfter eine längere Zeit auf eine Auswertung seiner Lösung warten muss. Da dies den Lernfluss merklich unterbricht, sollte hier seitens der Hochschule noch etwas nachgebessert werden. 2.2 RH-Lernsoftware 2.2.1 Überblick Das Lernprogramm ”Relationale Datenbanken”von CBT-Lernsoftware von 2003 bietet eine Veranschaulichung der Funktionsweise von Datenbanken und ihrer Theorie und zusätzlich eine kleine Einführung in SQL. Das Programm verwendet eine Vielzahl von Animationen und Videoclips, um verschiedene Themen wie Relationen, Beziehungstypen und Normalisierung anschaulich zu erklären. Zusätzlich bietet es ein zufallsgeneriertes Quiz, um das Gelernte zu überprüfen. Abbildung 2.4: Benutzeroberfläche der RH-Lernsoftware Die Software funktioniert nur auf Windows-Geräten (ab XP) und kostet 150,83 e für eine Einzellizenz beziehungsweise 382,45 e für eine Schullizenz (Stand 16.06.17). Zum Testen stand nur eine Demoversion zur Verfügung. Die Möglichkeiten der Vollversion können deshalb nicht beurteilt werden. Durch das inzwischen hohe Alter der Version ist vor allem der SQL-Teil möglicherweise nicht mehr aktuell. 2.2.2 Fazit Die RH-Lernsoftware bietet eine verständliche Einführung in die Datenbanktheorie und bietet auch einen Einstieg in SQL. Jedoch ist das Programm für eine Einzelperson teuer 7 und die kostenlose Demoversion zu kurz. Zusätzlich kann das Alter des Programms zu Problemen führen, sowohl bei der Installation, als auch beim Inhalt. 2.3 Griffith-Normalisierungsmaschine Die Normalisierungsmaschine der Griffith University von 2015 erlaubt dem Nutzer das Normalisieren von relationalen Datenbankmodellen sowie das Finden einer Basis und der Schlüssel. Das ganze findet in einem beliebig gewählten Browser statt. Dabei werden zunächst von Nutzer die gewünschten funktionalen Abhängigkeiten angegeben, bevor er sich in der Seitenleiste den gewünschten Vorgang auswählen kann. Dort wird ihm dann die Vorgehensweise Schritt fr Schritt erklärt, so dass dieser den Vorgang gut nachvollziehen kann. Abbildung 2.5: Benutzeroberfläche der Griffith-Normalisierungsmaschine Das Programm ist sehr überschaubar und ntzlich, sofern der Nutzer bereits eigenen Aufgaben vorliegen hat und diese dann hier überprfen kann. Jedoch stellt das Programm selbst leider keine eigenen Aufgaben zur Verfgung. 2.4 Stanford Datenbanken Kurse 2.4.1 Lagunita Die Stanford Universtität bietet auf ihrer Website ”Lagunita” zahlreiche verschiedene kostenlose Onlinekurse an. Diese Onlinekurse entsprechen Kursen welche auch an der Stanford Universität gelehrt werden. Im Gegensatz zu diesen jedoch sind sie nicht nur Studenten vorbehalten, sondern für jeden englischsprechenden Interessierten verfügbar. Themen der Medizin, Ingenieurwissenschaft, Geisteswissenschaften, Informatik und weiteren werden hier behandelt. 2.4.2 Datenbanken Kurse Der Kurs zu Datenbanken ist ohne Anmeldung über den Browser erreichbar. Das Speichern des Fortschrittes und der Ergebnisse ist jedoch nur angemeldet möglich. 8 Das Thema Datenbanken ist unterteilt in kleinere Minikurse und diese wiederum unterteilt in Lektionen. Gelehrt werden die Datenbanken Kurse von Professor Jennifer Widom. Die Aufteilung in Lektionen hat zum Vorteil, dass der Anwender auch bei vollem Terminkalender Zeit zum Lernen finden kann und die Möglichkeit hat, einzelne Kapitel ohne groen Aufwand zu wiederholen. Jeder Minikurs enthält ein Diskussionsforum und eine Liste mit Literaturvorschlägen, die das übermittelte Wissen noch ergänzen. Die Kurse können sowohl nacheinander als auch separat durchgenommen werden. Dadurch kann der Lernende selber entscheiden, welche Themen ihn interessieren. Geeignet sind die Online-Kurse für Neulinge auf dem Gebiet Datenbanken, begleitend zum Studium oder auch zum eigenständigen Lernen. Angeboten werden unter Anderem die Kurse ”Introduction and Relational Databases”, ”SQL”, ”Relational Algebra” und ”Relational Design Theory”. 2.4.3 Relational Design Theory Im Kurs ”Relational Design Theory” wird dem Nutzer die Theory der Relationalen Datenbanken vermittelt. Er beinhaltet fünf verschiedene Lektionen und drei anschließende Quiz. Die erste Lektion ist eine kleine Übersicht über Relationales Design und erklärt Grundlegende Dinge, wie zum Beispiel Anomalien, und gibt einen kurzen Einblick in die nachfolgenden Lektionen. Aufgebaut ist jedes Kapitel aus mehreren Videotutorials, in welchen Professor Widom den aktuellen Stoff an einem Beispiel vorführt, und einigen Übungsaufgaben in Multiple-Choice-Form. Der Lernende hat jeweils vier Versuche, wobei er nach jedem Versuch überprüfen kann ob die Antwort auf die Frage stimmt und, sofern er angemeldet ist, die Antwort speichern kann. Desweiteren kann die Lösung, mitsamt Erklärung, eingesehen werden sobald die richtige Antwort gewählt wurde oder die Versuche aufgebraucht sind. In Abbildung 2.6 ist eine der Übungsaufgaben und auch die Lektionenauswahl zu sehen. Die weiteren Lektionen behandelt die Inhalte Funktionale Abhängigikeiten, die BoyceCodd Normalform, Mehrwertige Abhängigkeiten, die vierte Normalform und die Mängel der Boyce-Codd Normalform und der vierten Normalform. Bei den Aufgaben der Abschlussquiz handelt es sich erneut um Multiple-Choice-Fragen, jedoch hat der Nutzer hier keine weiteren Versuche und der Test kann nur als ganzes kontrolliert werden. Auch hier können die Ergebnisse wieder gespeichert werden, vorausgesetzt der Anwender hat sich zuvor angemeldet. Für Inkorrekt beantwortete Übungen wird eine Erklärung angezeigt. Der Test kann beliebig oft wiederholt werden indem der Reset-Button gedrückt wird. Nach jedem Reset werden automatisch leicht veränderte Aufgaben generiert. Die Tests umfassen die Themen Funktionale Abhängigkeiten, Mehrwertige Abhängigkeiten und Normalisierung. Nach Beendigung des Kurs haben registrierte Benutzer die Option, sich ein Zertifikat ausstellen zu lassen, wenn in den Aufgaben und Tests mindestens 90% der Punkte erzielt wurden. 9 Abbildung 2.6: Menü und Übungsaufgabe des Kurses zur Relationalen Design Theorie 2.4.4 Relational Algebra In diesem Kurs wird die Relationale Algebra behandelt. In Lektion 1 werden die Operatoren SELECT, PROJECT und JOIN durchgenommen. Der Aufbau der Lektionen ist derselbe wie im Kurs ”Relational Design Theory”. Videoerklärungen und Übungen wechseln sich ab. Kapitel 2 hat das Thema Set-Operatoren, Umbenennen und Notation. Zusätzlich gibt es noch einige separate Übungen, die jedoch nicht in die spätere Bewertung mit einfließen. Bei diesen Extraübungen muss der Nutzer Relationale Algebra Abfragen passend zur Aufgabenstellung erstellen und kann sich Lösungsmöglichkeiten am Schluss anzeigen lassen. Im Anschluss gibt es wieder einen Test und diesmal auch einige Abschlussaufgaben, bei denen Relationale Algebra Abfragen erstellt werden sollen, welche über eine SQLiteDatenbank angewendet werden. Als Hilfestellung wird ein kleiner Leitfaden für die Relationale Algebra Syntax angeboten. Auch hier können angemeldete Nutzer, die die benötigte Punktezahl erreicht haben, ihre Teilnahme am Kurs mit einem Zertifikat bescheinigt bekommen. 2.4.5 Fazit Die Datenbank Kurse der Stanford Universtität sind sehr gut geeignet für alle englischsprechenden Interessierten, auch solche die zuvor noch nichts mit Datenbanktheorie zu tun hatten. Gelernt werden kann jederzeit, sogar unterwegs, ohne Anmeldung. Eine Anmeldung ist lediglich dann notwendig, wenn der Fortschritt gespeichert werden soll oder der Nutzer nach der Beendigung des Kurses ein Zertifikat erhalten möchte. Die Unterrichtsinhalte decken die Themengebiete gut ab und sind verständlich erklärt. Auerdem ist es positiv, dass es zu den Videotutorials auch ein Transskript gibt, sodass auch an lauten Orten oder ohne Ton gelernt werden kann. Die Literaturvorschläge können dem 10 Lernenden helfen, noch einen tieferen Einblick in die Thematik zu erhalten. Vorteilhaft ist die Möglichkeit, die Reihenfolge in der die Lektionen drangenommen werden selbst zu wählen, dadurch können Personen, die die Webseite nur zum Üben oder Wiederholen nutzen, bestimmte Lektionen überspringen. Der gröte Pluspunkt der Kurse liegt eindeutig in der Menge der Übungen. Bei jedem Zurücksetzen der Aufgaben werden nämlich neue Aufgaben generiert. 11 3 SQL-Software 3.1 SQL-Island 3.1.1 Überblick SQL-Island ist ein Lernprogramm der Technischen Universität Kaiserslautern, das von Johannes Schildgen entwickelt wurde. Dem Nutzer soll dabei ein Anreiz gegeben werden, sich mit den Grundlagen von SQL auseinanderzusetzen, indem er einem vorgegebenen Handlungsverlauf folgt. Das gesamte Programm ist im Browser ausführbar und benötigt sonst keine Installation. Der Spieler ist als Figur in das Spiel eingebunden, und soll sich nur mithilfe von SQLBefehlen durch die Geschichte bewegen. Dabei werden die Aufgaben mit der Zeit fordernder und geben einen Einblick in die Verwendungsmöglichkeiten der Datenbanksprache. Jedoch werden nicht alle Verwendungsmöglichkeiten von SQL vollständig ausgenutzt. 3.1.2 Benutzeroberfläche Die Benutzeroberfläche (siehe 3.1 Figur) besteht dabei aus einem Eingabefenster für die SQL-Befehle des Lernenden sowie einer Sprechblase der Figuren, in der die momentane Aufgabe gestellt wird. Dazu kommt ein Ausgabefenster, in dem die finalen Tabellen als Ergebnis dargestellt werden. Wird eine Frage gestellt, muss der Nutzer selbst herausfinden, welchen Befehl er eingeben muss, um die passende Antwort zu bekommen. Dabei kann sich der Nutzer auch zunächst eine Tabelle ausgeben lassen und so in mehreren Einzelschritten auf das Ergebnis ”hinarbeiten”. Bei einer falschen Eingabe wird ein Hinweis auf einen möglichen Fehler gegeben. 12 Abbildung 3.1: Benutzeroberfläche von SQL-Island 3.1.3 Fazit SQL Island bietet einen leicht zugänglichen und verständlichen Einstieg in SQL, bei dem den Nutzern die Funktionsweise der Datenbanksprache verdeutlicht wird. Es gibt einen Anreiz, die verschiedenen Aufgaben zu bearbeiten, allerdings ist es im Umfang zu klein um längere Zeit zu beschäftigen. Danach bleibt den Nutzern jedoch die Möglichkeit, sich selbst Aufgaben auszudenken und die jeweiligen Statements zu testen. Abgesehen von mehr Aufgaben könnte die Formulierung der Aufgaben überarbeitet werden, da nicht immer sofort ersichtlich ist, welche Ausgabe der Nutzer erzielen soll. Zusätzlich dazu sind die Hinweise bei falschen Eingaben häufig zu ungenau und helfen nicht sofort weiter. 13 3.2 W3schools 3.2.1 Übersicht Die Internetseite w3schools.com von Refsnes Data bietet Tutorials und Übungsaufgaben für viele verschiedene Programmiersprachen, so auch für SQL. Hier bekommt der Nutzer sowohl Erklärungen zu den einzelnen Befehlen wie auch die Möglichkeit, diese direkt selbst auszuprobieren und ein abschließendes Quiz zum Testen des eigenen Verständnisses. Das Tutorial bietet eine genaue Anleitung für jeden Befehl und dessen Anwendungsmöglichkeiten. Dabei wird auch die Möglichkeit gegeben, diesen direkt an einer Testdatenbank auszuprobieren. Dank einer Navigationsleiste bleibt der überblick jederzeit erhalten. Abbildung 3.2: Benutzeroberfläche von w3schools.com Das SQL-Quiz bietet 25 Fragen zu den Befehlen und ihrer Anwendung mit nachfolgender Evaluation des Ergebnisses. Dabei steht meist die Syntax der Befehle im Vordergrund. Der Nutzer muss nicht selbst die Befehle eingeben sondern sucht sich aus einer Multiple-Choice-Vorgabe lediglich die richtige Variante des Befehls aus. Hier wäre ein größerer Umfang mit zusätzlichen Fragen und einer eigenen Eingabeoption wünschenswert. Abbildung 3.3: Benutzeroberfläche des w3schools.com-Tests 14 3.2.2 Fazit Die Seite bietet einen genauen Überblick über SQL und die direkte Möglichkeit für den Nutzer, das Erlernte auszuprobieren. Das zusätzliche Quiz hilft bei der Vertiefung, allerdings wäre hier noch Platz für Erweiterungen. 3.3 Vertabelo Academy Vertabelo Academy ist eine englischsprachige Webapplikation, auf welcher sich seit dem Beginn im Jahre 2015 bereits über 25000 Nutzer für Kurse eingetragen haben. Die verschiedenen Kurse rund um das Thema SQL sind überwiegend kostenpflichtig, doch selbst bei kostenpflichtigen Kursen können stets einige Lektionen kostenlos ausgetestet werden. Angeboten werden die folgenden Schulungen: ”SQL Queries”, ”Operating on Data in SQL”, ”Creating Tables in SQL”, ”Standard SQL Functions” und ”Windows Functions”. Demnächst soll die Liste noch um ”Common Table Expressions” erweitert werden. Die Kurse bauen aufeinander auf, sollten deshalb theoretisch in dieser Reihenfolge durchgenommen werden. Wer jedoch schon Erfahrungen mit SQL hat oder nur ein bestimmtes Thema üben möchte, kann natürlich auch nur einen einzelnen Kurs absolvieren. Am Ende jedes Kurses kann der Anwender die Teilnahme mit einem Zertifikat bescheinigt bekommen. 3.3.1 SQL Queries Der Kurs ”SQL Queries” kostet in der Vollversion 29.00$ und umfasst 129 Lektionen, mit einer geschätzten Dauer von 10 Stunden. In der kostenlosen Probeversion gibt es 41 Lektionen. In diesem Kurs werden dem Lernenden alles rund um die Select Operation beigebracht. Von einfachen Bedingungen über verschiedene JOINS, bis hin zum Referenzieren von ausgewählten Spalten wird alles abgehandelt. Als Einstieg in die Thematik wird zuerst der Aufbau von Tabellen und wie Informationen darin gespeichert werden erklärt. Auch die Logischen und mathematischen Operationen und Wildcards kommen in diesen Lektionen vor. Die Benutzerfläche ist sehr übersichtlich aufgeteilt. Auf der linken Bildschirmhälfte sind die Instruktionen zu finden. Hier wird der neue Stoff, vorallem die Syntax, erklärt und jeweils an einem kurzen Beispiel veranschaulicht. Darunter findet man die Anweisungen für die Aufgabe, in welchen die richtigen Abfragen erstellt werden müssen um ein bestimmtes Ergebnis zu bekommen. Rechts daneben sind zwei große Felder, das obere davon ist das Eingabefeld für die Abfragen und im unteren wird nach dem Ausführen des Befehls entweder die Fehlermeldung oder die erzeugte Tabelle angezeigt. Am Äußeren rechten Bildschirmrand befinden sich die Buttons ”Discuss” und ”Database”. Mit einem Klick auf ersteren gelangt der User zu einem Diskussionsforum und beim Drücken der Database-Schaltfläche wird die Original Datenbank, mit allen gespeicherten Daten angezeigt. Eine Übersicht über die Lektionen des Kurses öffnet sich, wenn auf das Menü-Symbol neben dem Namen der Lektion geklickt wird. Auf Abbildung 3.4 ist die Benutzeroberfläche einer der Testaufgaben zu sehen. 15 Zur überprüfung der Eingabe auf Richtigkeit wird die erzeugte Tabelle mit der Lösungstabelle verglichen. Stimmt der Befehl des Nutzers nicht so wird eine Fehlermeldung angezeigt, welche aber nicht aussagt wo genau sich der Fehler befindet. Kommt der Anwender einmal nicht weiter kann er auf die Schaltfläche ”Stuck? Heres a Hint” klicken, wodurch ihm die Lösung zur aktuellen Aufgabe angezeigt wird. Nachdem die in der Probeversion enthaltenen Lektionen abgeschlossen wurden, hat der Nutzer die Wahl die Vollversion zu erwerben oder bei der Probeversion zu bleiben, welche unbegrenzt oft durchgenommen werden kann. Abbildung 3.4: Benutzeroberfläche des Vertabelo Kurses ”SQL Queries” 3.3.2 Operating on Data in SQL Dieser kostenlose, circa zweistündige Kurs behandelt in 19 Lektionen die Operationen INSERT, UPDATE und DELETE. Als Teil dieser Kapitel lernt der Nutzer auch das Einfügen von partiellen Daten, den Umgang mit NULL-Werten und arithmetischen Werten, sowie das simultane Verändern mehrerer Spalten. Auch der SELECT-Befehl wird nocheinmal kurz wiederholt. In der letzten Lektion werden nocheinmal die vier Operationen CREATE, SELECT, UPDATE und DELETE, zusammengefasst und abschließend in einigen Aufgaben geübt. Bei manchen Aufgaben wird als kleine Hilfestellung ein Teil der Syntax vorgegeben. Dies sieht in etwa so aus: INSERT INTO ... VALUES ... Der Nutzer muss dann lediglich noch die richtigen Werte an den mit Punkten markierten Stellen einfügen. Die Lektionen sind jeweils in Themen, wie zum Beispiel ”Modify Data”, eingeteilt. Lektionen innerhalb eines Themas können zwar übersprungen oder in beliebiger Reihenfolge durchgenommen werden, jedoch müssen alle Lektionen erfolgreich beendet werden, damit das nächste Thema freigeschaltet wird. Nach Abschlieen des Kurses kann er beliebig oft wiederholt werden, jedoch werden die zuvor eingegebenen 16 Antworten nicht aus dem Eingabefeld gelöscht und somit sieht der Anwender sofort die Lösung, was den Nutzen einer Übung zunichte macht. 3.3.3 Creating Tables in SQL Wie Tabellen in SQL erstellt werden, können angemeldete Nutzer im Kurs ”Creating Tables in SQL” lernen. Die ungefähre Länge der 177 Lektionen beträgt zehn Stunden und kostet 25.00$. Die Probeversion enthält 56 Lektionen. Zu Beginn bekommen Teilnehmer einen kurzen Einblick in Enity-Relationship-Diagramme und es wird erklärt was Datentypen sind. Im ersten Teil des Kurses geht es nämlich um diese. Der Anwender lernt wie Informationen in Textform gespeichert, verglichen und sortiert werden können. Auch numerische Datentypen, sowie date, time und boolean werden erklärt und anhand von einigen Aufgaben praktisch geübt. Am Ende der Lektionen wird der Kursinhalt nocheinmal zusammengefasst und in Abschlussaufgaben verinnerlicht. 3.3.4 Standard SQL Functions Der Kurs ”Standard SQL Functions” umfasst in der Vollversion, die für 19.00$ erhältlich ist, 211 Lektionen von denen 29 kostenlos getestet werden können. In der Probeversion die wichigsten Funktionen zur Bearbeitung von Texten, wie beispielsweise den Konkatenationsoperator und die Funktionen length, lower, upper, substring und replace. In der Vollversion würden dann auch noch numerische Funktionen behandelt werden. Das Wissen, wie SQL Abfragen erstellt werden, wird vorrausgesetzt und deshalb nur oberflächlich wiederholt. Wie auch in den anderen Kursen gibt es zu jeder Lektion Übungsaufgaben, jedoch gibt es in diesem Kurs keine Möglichkeit, sich die Lösung anzeigen zu lassen. Abbildung 3.5: Übung im Kurs Standard SQL Functions und Lektionenübersicht 17 3.3.5 Fazit Die Nutzung der Vertabelo Academy Kurse ist über die üblichen Browser möglich, sofern zuerst ein Nutzerkonto angelegt wird. Ein Nachteil ist es, dass abgesehen von einem Kurs, alle Kurse kostenpflichtig sind. Jedoch können bei sämtlichen Kursen ein Teil der Lektionen auch kostenlos in Form einer Probeversion durchgenommen werden. Die Themen der in der Testversion enthaltenen Lektionen decken die wichtigsten Befehle von SQL ab. Diese sind auch gut erklärt, jedoch gibt es nicht besonders viele Übungsaufgaben und nach Abschluss des Kurses werden bei jedem weiteren Durchgang noch die Lösungen von zuvor angezeigt, was den Übungseffekt zu Nichte macht. Das Feature mit dem die Originaldatenbank angezeigt werden kann ist sehr hilfreich, da der Anwender anhand dieser eine gute Übersicht über diese erhält und ein besseres Verständnis für den Aufbau von Tabellen gewinnt. Die ”Discuss”-Funktion hingegen scheint bisher kaum genutzt zu werden und ist dadurch relativ überflüssig. Ein weiterer Nachteil ist es, dass die Reihenfolge der Kapitel nicht verändert werden kann und nicht die Option besteht diese zu überspringen. Die kostenfreien Kurse der Vertabelo Academy sind demnach am besten zur Wiederholung oder als Ergänzung zum Studium geeignet. SQL-Neulinge sollten eventuell noch weitere Software oder Literatur verwenden um mehr Übungsaufgaben zu erhalten. 3.4 Stanford Datenbank Kurse 3.4.1 SQL Wie bereits in Kapitel 2.4 zu den Datenbankkursen der Stanford Universität erwähnt, wird im Rahmen dieser auch ein Minikurs zum Thema SQL angeboten. Wie die Kurse zur Datenbanktheorie, ist auch dieser kostenlos über den Browser erreichbar und setzt keine Registrierung vorraus. Erneut erklärt Prof. Jennifer Widom in Videotutorials den neuen Stoff welcher dann anschließend in Tests mit Multiple-Choice-Aufgaben geübt werden kann. Der Kurs beginnt mit einem Introvideo, welches die Grundlagen von SQL zusammenfasst und einen Überblick darüber verschafft, was alles auf den Studierenden zukommt. In sieben Lektionen lernt der Anwender die Syntax von SQL-Abfragen kennen, erfährt, wie Bedingungen formuliert werden müssen und wie Verschachtelungen aussehen. Auch die Aggregationsfunktionen, verschiedene JOINS, der Wert NULL und die Befehle UPDATE, INSERT und DELETE werden dem Nutzer vermittelt. Im Gegensatz zu den Kursen zur Datenbanktheorie gibt es hier keine Übungsaufgaben zu den einzelnen Lektionen, sondern nur die Abschlusstests, von denen es hier jedoch zum Ausgleich mehr gibt. Es gibt sechs Tests, in welchen eine Situation, zum Beispiel die Datenbank einer Filmbewertungswebsite, und die dazugehörigen Objekttypen gegeben sind. Sollte dies nicht übersichtlich genug sein kann die Datenbank angesehen oder sogar heruntergeladen werden. Die Übungen bestehen aus Anweisungen die in SQL zu übersetzen sind. Eine solche Anweisung kann beispielsweise ”Find the titles of all movies directed by Steven Spielberg” lauten. Die Aufgaben werden separat ausgewertet und bei falscher Beantwortung wird die Fehlermeldung oder die Lösungstabelle angezeigt. Auch 18 bei diesem Kurs kann wieder ein Zertifikat angefordert werden. Abbildung 3.6: Bei Abgabe einer falschen Antwort wird die gesuchte Tabelle angezeigt 3.4.2 Fazit Der SQL-Kurs von Lagunita ist eine gute Wahl zum Lernen von SQL. Der Kursinhalt deckt die wichtigsten Themen und Befehle ab und wird in den Videos verständlich an einem Beispielsszenario erläutert. Die Einführungslektion sorgt dafür, dass auch Anfänger sich gut im Thema einfinden können und durch die Möglichkeit, die Reihenfolge der Lektionen selbst zu wählen und Kapitel zu überspringen ist der Kurs auch für Nutzer geeignet, die ihr Wissen auffrischen möchten. Im Vergleich zu den Datenbanktheoriekursen der Stanford Universität werden hier jedoch die Aufgaben der Tests nicht neu generiert, doch die Anzahl der Übungen sollten dennoch ausreichend sein. Trotz umfangreichen Kursinhalt haben noch die Befehle zum Erstellen und Löschen einer Tabelle gefehlt und einige String-Funktionen wären hilfreich gewesen. Das Basiswissen von SQL wird in diesem Kurs also sehr verständlich und einfach erklärt, spezifischeres Wissen muss sich jedoch auf anderem Wege angeeignet werden. 19 3.5 Online-Trainer der FH Köln Auch für die praktische Anwendung von SQL bietet die Fachhochschule Köln OnlineTrainer an. Diese sind ebenfalls über die bereits beschriebene Website zu erreichen und frei zugänglich. 3.5.1 SQL-Trainer Um seine Kenntnisse in der Abfragesprache SQL auf die Probe zu stellen, können Benutzer den SQL-Trainer verwenden. Die Applikation wurde auf Basis einer Oracle Datenbank von den Studenten Juri Bauer, Alex Maier und Alexander Peters entwickelt. Es stehen sechs verschiedene Schemata und drei Schwierigkeitsgrade zur Verfügung, um den Benutzer so gut wie möglich zu fördern. Wird ein Test mit den ausgewählten Daten gestartet, werden verschiedene Ausgaben vom Benutzer erwartet. Hierbei ist es möglich, sich ein ER-Diagramm mit allen Tabellen und Relationen des aktuellen Schemas anzeigen zu lassen. Dies trägt zur besseren Lösbarkeit der Aufgabe bei, da der Benutzer einen Überblick bekommt. Wurde eine Abfrage in das dafür vorgesehene Feld eingegeben und abgeschickt, gleicht der Server die Ergebnismengen ab und entscheidet, ob die Lösung korrekt ist. Da lediglich die Mengen und nicht die eigentlichen Abfragen verglichen werden, ist es durchaus möglich, über verschiedene Wege zum Ziel zu kommen. Die Aufgaben werden aus einem Fragenpool von ca. 400 Fragen zufällig ausgewählt. Jeweils passend zum ausgewählten Schema und der Schwierigkeitsstufe. Ist der Benutzer bei einer Teilaufgabe nicht in der Lage, diese zu lösen kann diese übersprungen werden. Am Ende des Tests werden ihm dann alle Musterlösungen angezeigt. Da sich die Software lediglich auf SELECT-Abfragen beschränkt, ist es nicht möglich das komplette Thema SQL abzudecken. Sofern der Bedarf besteht, auch weitere SQLBefehle zu trainieren, kann auf die Software SQL-Island oder den SQL-Trainer 2 der FH Köln zurückgegriffen werden, welche ebenfalls in dieser Arbeit beschrieben werden. 3.5.2 SQL-Trainer 2 Der SQL-Trainer 2 ist eine weiterentwickelte Version des bereits beschriebenen SQLTrainers der FH Köln. Hierbei wurden zusätzlich weitere DML-Anweisungen implementiert, welche eine noch bessere Einarbeitung in das Thema ermöglichen sollen. Dazu zählen unter anderem INSERT, UPDATE und DELETE. Die Anwendung wurde von Jan Philipp und Andre Kapser entwickelt. Bei der Verwendung der Applikation kann zwischen drei Schwierigkeitsstufen gewählt werden. Zudem hat der Benutzer die Möglichkeit, zwischen Aufgaben zu wählen, die lediglich DQL-Anweisungen (also SELECT) enthalten, oder die komplette Palette an 20 DML-Anweisungen zu verwenden. Die Tabellen-Schemata, die hierbei zum Einsatz kommen, scheinen denen des alten SQL-Trainers zu gleichen. Abbildung 3.7: Einstellungsmenü des SQL-Trainers 2 Wenn ein Test gestartet wurde, werden vom Online-Trainer Aufgaben gestellt, die mit dem SQL-Trainer vergleichbar sind. Der Benutzer bekommt eine kurze Frage oder Aufforderung, die Daten zu manipulieren und kann darauf hin einen SQL-Befehl in ein Eingabefeld eingeben. Durch Syntax-Highlighting wird die Eingabe zusätzlich erleichtert, da Schlüsselwörter hervorgehoben werden. Um einen überblick uber das Datenschema zu erhalten, kann auch hier ein ER-Diagramm angezeigt werden. Wurde die Anweisung komplett formuliert, schickt der Benutzer seine Lösung ab und erhält nach einer gewissen Wartezeit seine Auswertung. Abbildung 3.8: Aufgabenstellung des SQL-Trainers 2 21 3.5.3 SQL Sandbox Um unabhängig von Aufgabenstellungen seine SQL-Kenntnisse trainieren zu können, kann ein Benutzer auch die SQL Sandbox auf der Website der FH Köln verwenden. Hier können selbst ausgedachte Statements eingegeben und ausprobiert werden. Bei DMLBefehlen wird dem Benutzer praktischerweise der Zustand der Tabelle vor und nach Ausführung des Statements angezeigt. So kann direkt nachvollzogen werden, was der jeweilige Befehl bezweckt hat. Die Verwendung der SQL Sandbox ist vor allem dann zu empfehlen, wenn an einem fremden PC ohne Zugriff auf eine Datenbank gearbeitet wird, oder, wenn schlicht keine Datenbank nur zu Übungzwecken aufgesetzt werden soll. Abbildung 3.9: Ausgabe der SQL Sandbox nach Ausführen von SELECT 3.5.4 Fazit Wie bereits im theoretischen Teil erwähnt, ist die Benutzung der Online-Tools der Fachhochschule Köln mit einer sehr langen Ladezeit der einzelnen Seiten verbunden. Dies fällt noch stärker bei der praktischen Anwendung ins Gewicht, da hier in schnelleren Abständen Lösungen abgeschickt werden und der Benutzer darauf angewiesen ist, Tabelleninhalte angezeigt zu bekommen. Dennoch ist durch die große Aufgabenvielfalt ein 22 großer Nutzen gegeben und der Benutzer hat viele Möglichkeiten, sich in die praktische Anwendung von SQL einzuarbeiten. Auch im Hinblick darauf, dass durch Anpassen des Schwierigkeitsgrades Aufgaben auf Klausur-Niveau bearbeitet werden können, sind die Online-Trainer eine gute Alternative zur Klausur-Vorbereitung. 23 4 Fazit Letztendlich muss jeder Anwender für seinen Einsatzzweck selbst entscheiden, was sinnvoll ist. Sofern er noch Einstieger ist, oder womöglich noch gar kein Vorwissen vorhanden ist, ist es ratsam, mit den Kursen der Stanford Universität zu beginnen. Hierzu ist es zwar nötig, die englische Sprache zu beherrschen, allerdings ist Englisch in der Informatik sowieso unabdingbar, weshalb man dies vom Anwender erwarten kann. Sobald ein gewisses Grundwissen aufgebaut wurde, kann der Benutzer mit den Kursen der Vertabelo Academy fortfahren. Hierbei muss er allerdings beachten, dass nur wenige der angebotenen Kurse kostenlos sind. Außerdem werden im zweiten Durchgang noch immer die Lösungen des vorherigen Durchgangs angezeigt. Eine Vollversion der Vertabelo Academy wäre beispielsweise für Firmen zu empfehlen, die ihren Auszubildenden oder dualen Studenten eine Übungsplattform zur Verfügung stellen wollen. Um Themen aufzufrischen oder zusätzlich zu den Vorlesungsübungen eine Klausur vorzubereiten, können die Online-Trainer der Fachhochschule Köln oder SQL-Island verwendet werden. Da diese vollständig kostenlos und über jeden Browser zugänglich sind, eignen sie sich nahezu für jeden Benutzer mit Vorkenntnissen. Bei den Anwendungen der FH Köln kann zudem der Schwierigkeitsgrad angepasst werden, was es zudem ermöglicht auch sehr schwierige Aufgaben zu bearbeiten, die an ein Klausurniveau herankommen. An dieser Stelle sollte nochmal erwähnt werden, dass die Website sehr lange Ladezeiten mit sich bringt und somit der Arbeitsablauf oft unterbochen wird. Wer sich daran nicht stört, ist mit dieser Anwendung trotzdem sehr gut beraten. SQL-Island ist ein netter Zeitvertreib, der einmal durchgespielt werden kann und eine mehr oder weniger interessante Hintergrund-Geschichte mit sich bringt. Wer also in seiner Freizeit auch noch etwas lernen möchte, sollte sich SQL-Island ubedingt anschauen. 24 Literaturverzeichnis [1] Fachhochschule Köln, “Datenbanken Online Lexikon,” http://wikis.gm.fh-koeln. de/wiki db/Datenbanken/Beziehung,Kardinalitaet-von-Beziehungen, eingesehen am 10.06.2017. [2] Technische Universität Kaiserlslautern, Johannes Schildgen, “Sql-island,” http:// wwwlgis.informatik.uni-kl.de/extra/game/, eingesehen am 23.05.2017. [3] Fachhochschule Köln, “Lernsoftware-FH-Köln,” http://edb.gm.fh-koeln.de/, eingesehen am 30.05.2017. [4] Griffith University, “Griffith-online-normalisierungsmaschine,” https://www.ict. griffith.edu.au/∼jw/normalization/ind.php, eingesehen am 30.05.2017. [5] Refsnes Data, “W3schools,” https://www.w3schools.com/SQL/deFault.asp, eingesehen am 15.06.2017. [6] Johannes Schildgen, Stefan Deßloch, “Gib mir so viel Gold, wie die Metzger im Nachbardorf zusammen besitzen und ich lasse den Piloten frei! Spielbasiertes Lernen von SQL-Grundlagen,” Datenbank-Spektrum, November 2013. [7] Vertabelo, “Vertabelo Academy,” https://academy.vertabelo.com/, eingesehen am 18.06.2017. [8] Prof. Jennifer Widom, “Stanford Database Courses,” https://lagunita.stanford. edu/courses/DB/2014/SelfPaced/about, eingesehen am 17.06.2017. [9] “Der eLearning-Markt 2015: Umsatz und Beschäftigung steigen,” http: //www.checkpoint-elearning.de/wissen/studien/der-elearning-markt-2015% 3A-umsatz-und-besch%C3%A4ftigung-steigen, eingesehen am 20.06.2017. [10] Prof. Dr. Oliver Bendel, “Digitalisierung,” http://wirtschaftslexikon.gabler.de/ Definition/digitalisierung.html, eingesehen am 20.06.2017. [11] “Was ist eLearning?” https://www.uni-frankfurt.de/44538493/elearning, eingesehen am 20.06.2017. 25 Abbildungsverzeichnis 2.1 2.2 2.3 2.4 2.5 2.6 Martin-Notation oder auch Krähenfußnotation . . . . . . . . . . . . . . Falsche Antwort mit Musterlösung . . . . . . . . . . . . . . . . . . . . Bestimmen des Primärschlüssels . . . . . . . . . . . . . . . . . . . . . . Benutzeroberfläche von RH-Lernsoftware . . . . . . . . . . . . . . . . . Benutzeroberfläche von Griffith . . . . . . . . . . . . . . . . . . . . . . Menü und Übungsaufgabe des Kurses zur Relationalen Design Theorie . . . . . . 4 5 6 7 8 10 3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9 Benutzeroberfläche von SQL-Island . . . . . . . . . . . . . . . . . Benutzeroberfläche von w3schools . . . . . . . . . . . . . . . . . . Benutzeroberfläche des Tests . . . . . . . . . . . . . . . . . . . . . Benutzeroberfläche des Vertabelo Kurses ”SQL Queries” . . . . . Übung im Kurs Standard SQL Functions und Lektionenübersicht Falsche Antwort Stanford SQL Kurs . . . . . . . . . . . . . . . . Einstellungsmenü des SQL-Trainers 2 . . . . . . . . . . . . . . . . Aufgabenstellung des SQL-Trainers 2 . . . . . . . . . . . . . . . . Ausgabe der SQL Sandbox nach Ausführen von SELECT . . . . . . . . . . . . . . 13 14 14 16 17 19 21 21 22 26 . . . . . . . . . . . . . . . . . . . . . . . . . . .