= SQL-E-Learning :author: Jan Klemkow, Benjamin Franzke :lang: de :imagesdir: image == IST-Zustand * Datenbank-Lektionen in Moodle * Online-Web-Tutorial mit Oracle (Nils Weber) == Projekt Ziel * interaktive SQL-Tests innerhalb von Moodle * Auswertung des Lernfortschritts * PostgreSQL als Datenbank == Problem: Benutzertrennung image:conflict.svg[] == Transaktionen [source,sql] ---- # sqlbox instruction BEGIN TRANSACTION; # User Input: SELECT * FROM blub; # sqlbox instruction ROLLBACK TRANSACTION; ---- == Transaktionen [source,sql] ---- # sqlbox instruction BEGIN TRANSACTION; # User Input: INSET INTO blub VALUES (1,'foo') COMMIT TRANSACTION; BEGIN TRANSACTION; SELECT * FROM blub; # sqlbox instruction ROLLBACK TRANSACTION; ---- == Separate Datenbanken image:multi-db.svg[] == Read-Only image:read-only.svg[] [source,sql] ---- create user sqlbox_read with password 'XXXXXX'; GRANT SELECT ON ALL TABLES IN SCHEMA public TO sqlbox_read; ---- == Testdaten [source,sql] ---- select dbms_xmlgen.getxml ('select * from lessons') from dual; ---- * Transformation der XML Datensätze mit XSLT + -> SQL Statements für KAPV-Datenbank + -> Kommandozeilenaufrufe von curl für automatisches Anlegen von Aufgaben == Demonstration Demonstration! // vim: ft=asciidoc :