1. Installation des Übungssystems 1 /3 Download: http://www.bbs-simmern.de/wamp Feedback an: [email protected] Ein WAMP-System läuft unter Windows und besteht aus den Komponenten Apache, MySQL und PHP. Diese Version wurde speziell für den schulischen Einsatz zusammengestellt und erfordert keine zusätzliche Konfiguration der Server. Das Übungssystem dient dem Erlernen der Datenbankabfragesprache SQL und ermöglicht die Erstellung und Bearbeitung von Datenbankabfragen, Views, Prozeduren, Funktionen, Triggern und Events. Zusätzlich unterstützt es den Lehrer im Unterricht und bei der Durchführung und Korrektur von Klassenarbeiten. Das WAMP-System wird durch das Starten der Archive wamp5x-server.exe und wamp5x-basis.exe installiert. Das x kennzeichnet die PHP-Version (5.4 bzw. 5.6). Das Archiv wamp-client.exe enthält den aktuellen Firefox mit einem integrieten HTML-Validator. Ab Version 5.6 wird PHP nur noch mit Visual Studio 2012 compiliert. Das setzt eine installierte Version von Microsoft 2012 C++ Runtime (x86) voraus. https://www.microsoft.com/de-de/download/details.aspx?id=30679 Als Zielverzeichnis sollte das Verzeichnis C:\Users\Public (C:\Benutzer\Öffentlich) angegeben werden. Das vermeidet mögliche Probleme beim Schreiben in Laufwerk C:\ Starten der Server: Beim Entpacken der Server wird ein Icon auf dem Desktop angelegt. Durch einen Doppelklick auf das Icon 'Server starten' wird das Programm zum Starten der Server aufgerufen. Nachdem die Server gestartet sind, wird das Programm als Icon in den System - Tray verschoben. Durch Anklicken mit der Maus wird es wieder in den Vordergrund geholt. Wird der Webserver nicht gestartet (Fehlermeldung im Browser), kann es daran liegen, dass ein anderer Dienst (IIS oder Skype) den Port 80 belegt. Die 1. Zeile in der Datei \wamp5\apache\conf\httpd.conf muss dann in Listen 81 geändert werden. Im Browser muss dann folgender abgeänderter Eintrag in die Adresszeile erfolgen: localhost:81 bzw. für die Schüler: IP-Adresse:81 1. Installation des Übungssystems 2 /3 Aufruf des Übungssystems: a) am Server-PC: Durch einen Doppelklick auf das Icon 'Client (localhost)' wird der Browser gestartet und es wird automatisch die Adresse 'localhost' aufgerufen. Beim ersten Aufruf wird das Übungssystem eingerichtet, indem die Datenbank für die Auswahlabfragen ausgewählt wird. b) am Schüler-PC: Das Archiv wamp-client.exe muss zuerst installiert werden. Als Standard wird das Verzeichnis C:\Users\Public angeboten. Durch einen Doppelklick auf das Icon 'Client starten' wird der Browser aufgerufen. Es muss dann die IP-Adresse vom Server-PC eingegeben werden. 1. Installation des Übungssystems 3 /3 Zugriffsschutz: Bei der Installation des Übungssystems wurde ein zufälliges Passwort für den MySQL-Administrator root generiert. Dieses Passwort wird nur angezeigt, wenn phpMyAdmin oder die MySQL-Konsole (mit User root) über das Menü am Server-PC aufgerufen wird. Im Unterricht und insbesondere bei Klassenarbeiten, sollte das Passwort geheim gehalten werden, da sonst jeder Schüler die Abfragen anderer Schüler lesen, verändern und löschen kann. Hinweise zum Client: Das Archiv wamp-client.exe enthält den Browser Firefox mit speziellen Erweiterungen. Weitere Funktionalitäten des Browsers: - Einfacher Aufruf der MySQL-Konsole mit automatischer Übergabe der nötigen Parameter. - HTML Validator Leistungsmerkmale des Übungssystems: Dieses System ist in zwei Komponenten (Server und Client) aufgeteilt. Dadurch ist ein Zugriff auf die Datenbanken auch durch andere Anwendungen (MySQL-Konsole, OpenOffice, phpMyAdmin, Access, usw.) von entfernten PCs und mit unterschiedlichen Betriebssystemen möglich. Mit eigenen Programmen (PHP, Visual Basic, Java…) lässt sich ebenfalls leicht ein Datenbankzugriff realisieren. Es besteht die Möglichkeit eines gleichzeitigen Zugriffs auf verschiedene Datenbanken. So kann den Schülern beim Erstellen von Tabellen und Beziehungen jeweils eine eigene Datenbank zur Verfügung gestellt werden. Auch bei der Eingabe von Manipulationsabfragen arbeitet jeder Schüler nur mit seiner eigenen Datenbank. Alle Datenbanken sind zentral auf einem Server gespeichert. Jeder Schüler kann nur seine eigenen Abfragen in diesem Übungssystem speichern, löschen und verändern. Die Datenbankstruktur wird mit Feldtypen, Schlüsseln und Indizes bei der Eingabe von Abfragen angezeigt. Datenfeldtyp, Primär- und Fremdschlüssel können inklusive Beziehungen grafisch dargestellt werden. Die Datenbank - Administration erfolgt mit phpMyAdmin. Die Schüler können Tabellen in ihrer eigenen Datenbank anlegen, exportieren und importieren. Erstellung und Bearbeitung von Views, Prozeduren, Funktionen, Triggern und Events. Bei Manipulationsabfragen arbeitet jeder Schüler mit seiner eigenen Datenbank. Vereinfachte Korrektur von Klassenarbeiten durch einen Vergleich der Schülerabfragen mit einer Musterlösung. Es kann in der Systemkonfiguration festgelegt werden, ob eine Musterlösung zu den Aufgaben angezeigt wird. Dokumentation der Klassenarbeiten im PDF-Format. Umfangreiche Dokumentation der Datenbankstruktur mit Exportmöglichkeiten im PDF-Format. Backup / Restore aller Datenbanken und Einstellungen des Übungssystems. Einsatzmöglichkeiten: Erlernen der Datenbankabfragesprache SQL. Praktische Demonstration und Anwendung fortgeschrittener Datenbanktechniken: Client-Server Model, Transaktionen, Datenbankreplikation, Prozeduren, Funktionen, Trigger und Events. Demonstration des Mehrbenutzerzugriffs auf eine Datenbank im Netz. Es werden User mit unterschiedlichen Rechten an Datenbanken, Tabellen und Spalten unterstützt. Lern- und Entwicklungsumgebung für die PHP-Programmierung. Erstellen von HTML-Seiten auf einem eigenen Webserver mit Zugriff von allen PCs in einem Netz. (Projekt - 'eigenes Internet in einem Klassenraum') Formularverarbeitung, und Erstellen dynamischer Webseiten (PHP) mit und ohne Datenbankanbindung. 2. Exportieren / Verteilen von Abfragen Für den Export der Abfragen stehen folgende Möglichkeiten zur Auswahl: Beim Export der Schülerabfragen werden auch die Schüler mit Namen und letzter Anmeldezeit exportiert. Sind die exportierten Abfragen im Verzeichnis …\htdocs\abfragen\loesungen\ gespeichert, werden diese beim Import zur Auswahl angeboten. Diese Möglichkeit besteht nur am Server-PC. Beim 'Verteilen' bzw. 'zur Verfügung stellen' der Abfragen kann gewählt werden, ob nur die Aufgabenstellungen oder auch die Abfragen (Lösungen) berücksichtigt werden sollen. ● Wird die Option 'Abfragen an alle Schüler verteilen' gewählt, stehen die Abfragen, allen im Übungssystem erfassten Schülern, direkt zur Verfügung. Dabei werden vorher alle alten Abfragen der Schüler gelöscht! ● Wird die Option 'Abfragen für den Import zur Verfügung stellen' gewählt, können die Schüler diese Datei selbst importieren. Sie wird im Verzeichnis ...\htdocs\abfragen\muster\ gespeichert. Dadurch ist es möglich, Schülern die beim ersten Verteilen von Abfragen noch nicht erfasst waren, diese Abfragen zugänglich zu machen, ohne die Abfragen der anderen Schüler zu löschen. Zusätzlich wird im Verzeichnis ...\htdocs\abfragen\loesungen\ eine Importdatei mit den Lösungen gespeichert. Als zusätzliche Information und zur Kontrolle, werden alle im System erfassten Schüler mit der Anzahl ihrer Abfragen angezeigt. Der Anmeldestatus, sowie Datum und Zeit der letzten Anmeldung ist ebenfalls ersichtlich. Hier können auch nur die Schülerdaten ohne die Abfragen exportiert werden. Diese Datei kann als Ausgangsbasis für eine Klassenarbeit dienen. Es werden wahlweise auch Datum und Uhrzeit der letzten Anmeldung gespeichert. 3. Importieren von Abfragen Exportierte Abfragen können in das Übungssystem wieder importiert werden. Alle Dateien, die sich im Verzeichnis ...htdocs\abfragen\loesungen befinden, werden zur Auswahl angeboten. Mit 'Durchsuchen...' kann von beliebigen Datenträgern eine Import-Datei geladen werden. Der Import einer Abfragendatei wird zurückgewiesen, wenn CREATE TABLE - Anweisungen enthalten sind. Wenn das für Manipulationsabfragen erlaubt werden soll, muss die Option 'Import von Manipulationsabfragen' aktiviert werden. Vor dem Import muss festgelegt werden, was gelöscht werden soll. Die Option 'nichts' ist für den Fall gedacht, dass der Lehrer gespeicherte Abfragen zusätzlich zu seinen Lösungen in das Übungssystem aufnehmen will. Seine Abfragen sollte er dann den Schülern aber nur zum Import zur Verfügung stellen. Die Schüler dürfen dann bestehende Abfragen beim Import nicht löschen lassen. Wenn spezielle User definiert sind, wird bei den ersten beiden Optionen angezeigt, dass diese auch gelöscht werden. Ein Klick auf den entsprechenden Link öffnet einen neuen Tab, wo die User angezeigt und exportiert werden können. Als zusätzliche Information und zur Kontrolle werden alle im System erfassten Schüler mit der Anzahl ihrer Abfragen angezeigt. Der Anmeldestatus, sowie Datum und Zeit der letzten Anmeldung ist ebenfalls ersichtlich. 4. Löschen von Abfragen Existieren Abfragen bzw. eigene PHP-Programme, können diese unter dem Menüpunkt 'erweiterte Konfiguration' gelöscht werden. Es werden dann die entsprechenden Auswahlmöglichkeiten angeboten: • die SQL-Befehle und Aufgabenstellungen der am Server-PC erfassten Abfragen • die Abfragen aller Schüler • die eigenen PHP-Programme • die PHP-Programme der Schüler oder Ebenso können einzelne Schüler oder deren Abfragen / Views bzw. PHP-Programme gezielt gelöscht werden. Beim Löschen eines Schülers werden auch alle zugehörigen Abfragen bzw. PHP-Programme gelöscht. 5. Namenskonventionen bei Abfragen Werden beim Abspeichern von Abfragen bestimmte Namenskonventionen eingehalten, kann die Listbox für die Auswahl der Abfragen vom System optisch besser strukturiert werden. Es gilt folgende Regel: Wenn das 2. Zeichen im Namen der Abfrage ein '-' oder ein '_' ist, dann bestimmt das 1. Zeichen die Zwischenüberschrift. Folgende Kürzel sind in der Datei \wamp5-DB\htdocs\abfragen\abfragen-conf.php definiert: '0' '1' '2' '3' '4' '5' '6' '7' '8' '9' => => => => => => => => => => Beispiele Kapitel 1 Kapitel 2 Kapitel 3 Kapitel 4 Kapitel 5 Kapitel 6 Kapitel 7 Kapitel 8 Kapitel 9 'A' 'B' 'G' 'J' 'M' 'P' 'S' 'V' => => => => => => => => Aufgabe Berechnungen Gruppierungen Join-Abfragen Manipulationsabfr. Projektion Selektion VIEWS Alle anderen Abfragen werden unter der Überschrift Sonstige zusammengefasst. Es können beliebige Anpassungen für diese Zwischenüberschriften vorgenommen werden. Editieren Sie hierfür im Verzeichnis ...\htdocs\abfragen die Datei mit dem Namen 'conf_inc.php'. Sie definiert einzelne Kürzel neu. Für die Unterlagen von datadidact hat die Datei folgenden Inhalt: <?php $l['1'] $l['2'] $l['3'] $l['4'] $l['5'] $l['6'] $l['7'] ?> = = = = = = = "Kapitel "Kapitel "Kapitel "Kapitel "Kapitel "Kapitel "Kapitel 5.2"; 5.3"; 5.4"; 5.5"; 5.6"; 5.8"; 5.9"; 6. Erstellen eigener Datenbanken 1 /3 Eine neue Datenbank kann nur am Server-PC erzeugt werden. Mit dem Administrations-Tool phpMyAdmin kann man sich als MySQL-Administrator root an dem DBMS anmelden. Das notwendige Passwort wird nach Aufruf des Menüpunktes 'phpMyAdmin' ausgegeben. Jeder, der dieses Passwort kennt, kann die Abfragen aller Schüler lesen, verändern und löschen. Das Passwort wird daher nur am Server-PC beim Aufruf von phpMyAdmin bzw. der MySQL-Konsole angezeigt. Neue User mit speziellen Rechten werden auch mit phpMyAdmin angelegt. Dort werden ihnen auch die entsprechenden Rechte an einer Datenbank, an Tabellen oder Tabellenspalten zugeordnet. In der 'erweiterten Konfiguration' müssen sie dann anschließend aktiviert werden. Hier ist auch ein Export bzw. eine Integration in das Übungssystem möglich. Der Datenbank-Browser bietet die Möglichkeit beliebige Datenbanken zu exportieren. Nachdem die entsprechende Datenbank ausgewählt wurde, muss noch festgelegt werden, ob nur die Struktur, oder Struktur und Daten exportiert werden sollen. Es wird dann eine Textdatei generiert, die alle nötigen SQL-Befehle zum Erzeugen der Datenbank enthält. Diese Datei kann man in das Übungssystem übernehmen. Dadurch steht sie bei einem Systemreset direkt zur Auswahl bereit. In der 'erweiterten Konfiguration' kann sie auch wieder importiert werden. Bei der Installation des Systems und beim Systemreset wird in dem Verzeichnis ...\htdocs\abfragen\daten\ nach Dateien gesucht, die die Erweiterung .sql haben. Diese werden dann zur Auswahl angeboten. In diesen Dateien sollten nur folgende Befehle enthalten sein: Befehle zum Anlegen von Tabellen (mit Beziehungen, Primär- und Fremdschlüsseln und Indexfeldern). Befehle zum Einfügen von Daten in die Tabellen. Einzurichtende Views, Routinen (Prozeduren und Funktionen), Trigger, Events und User für eine bestimmte Datenbank werden in gesonderten Dateien gespeichert. Diese Dateien müssen den Namen der Datenbank, und die entsprechende Erweiterung haben: .view ==> Views .proc ==> Prozeduren / Funktionen .trg ==> Trigger .usr ==> User .evt ==> Events Damit diese Dateien in den Systemreset einbezogen werden, müssen die entsprechenden Optionen eingeschaltet werden. Export der Datenbankstrukturen als PDF-Datei: In der 'erweiterten Konfiguration' können auch die Datenbankstrukturen aller Datenbanken der Schüler in eine PDF-Datei ausgegeben werden. In diese Ausgabe können die CREATE-Anweisungen und die Datensätze für die einzelnen Tabellen einbezogen werden, sowie die grafische Beziehungsübersicht für jede Datenbank. 6. Erstellen eigener Datenbanken 2 /3 Schüler entwickeln eigene Datenbanken: Wurde für die Schüler die leere Datenbank 'leer' als Datenbank für Manipulationsabfragen angelegt, können auch die Schüler mit phpMyAdmin in ihrer Datenbank eigene Tabellen erstellen. Beim Anlegen dieser Datenbanken kann ein beliebiger Name für die neuen Datenbanken vergeben werden. Wird der Datenbank-Reset erlaubt, können die Schüler ihre eigene Datenbank wieder in den Ursprungszustand versetzen. Wenn die Schüler zu Hause dieses Übungssystem installiert haben und eigene Datenbanken erstellen, sollten sie beim Export der Datenbank die Option 'DROP TABLE IF EXISTS ...' einschalten. Dadurch werden dann Änderungen an der Datenbankstruktur beim späteren Import in der Schule übernommen. Dafür wird mit dem Datenbank-Browser die eigene Datenbank für Manipulationsabfragen ausgewählt, und mit 'Tabellen importieren' folgendes Formular aufgerufen: Ein ähnliches Formular erscheint, wenn mit dem Datenbank-Browser eine Datenbank ohne Tabellen gewählt wurde. Regeln für die Namensgebung: 1. In den Namen für Datenbanken, Tabellen und Datenfeldern sollten keine Umlaute oder Leerzeichen verwendet werden. 2. In Datenbank- und Tabellennamen sollten nur Kleinbuchstaben verwendet werden. Groß- und Kleinschreibung führt in 'case-sensitiven' Umgebungen (Linux) zu Problemen. 3. Datenfeldnamen dürfen Groß- und Kleinbuchstaben enthalten. Für das Erstellen von Beziehungen wird folgende Vorgehensweise empfohlen: 1. Definition der Primärschlüssel Nach der Definition des Primärschlüssels sollte die anzuzeigende Spalte in der Beziehungsübersicht bestimmt werden. 2. Definition der Fremdschlüssel Jeder Fremdschlüssel muss als Indexfeld definiert werden. - Bei einer 1:n Beziehung wird 'Index hinzufügen' gewählt (Index mit Dublikaten). - Bei einer 1:1 Beziehung muss es ein eindeutiger Index sein (Unique). 6. Erstellen eigener Datenbanken 3 /3 3. Erstellen der Beziehungen Für den Fremdschlüssel wird anschließend in der Beziehungsansicht festgelegt, aus welcher Tabelle der Primärschlüssel referenziert wird. Das Erstellen von Beziehungen ist nur erfolgreich, wenn Primärschlüssel und Fremdschlüssel exakt den gleichen Datentyp haben. phpMyAdmin beinhaltet ein grafisches Tool (Designer), mit dem sich die Tabellen mit der Maus frei positionieren lassen. Diese Positionen können Sie speichern, und damit in die Darstellung der grafischen Beziehungsübersicht übernehmen. In der Systemkonfiguration kann festgelegt werden, ob phpMyAdmin mit einer vereinfachten Benutzeroberfläche gestartet werden soll. Datensicherung: Mit dem Menüpunkt 'Backup / Restore' kann eine Datensicherung in einem Zip-Archiv erstellt werden. Bei dieser Art der Datensicherung werden auch die Datenbanken der Schüler gespeichert. Dieses Archiv kann mit 'Restore' wieder in das System eingespielt werden. 7. Datenbank - Browser Mit diesem Programm lassen sich die Datenbanken und deren Tabellen anzeigen. System-Datenbanken werden nur angezeigt, wenn sie in der Konfiguration des Übungssystems aktiviert wurden. ● Auf der Startseite werden alle Datenbanken und die User mit ihren globalen Rechten angezeigt. ● Nach der Auswahl einer Datenbank erhält man folgende Informationen: ● die enthaltenen Tabellen, Views, Prozeduren, Funktionen, Trigger und Events ● die User mit ihren Rechten an dieser Datenbank, deren Tabellen oder einzelnen Tabellenspalten ● von jeder Tabelle die Felddefinitionen und die bestehenden Beziehungen ● die Primärschlüssel, Fremdschlüssel und die indizierten Felder ● Mit dem Symbol wird die grafische Beziehungsübersicht ein- bzw. ausgeblendet. ● Durch einen Klick auf den Tabellentyp scrollt der mittlere Teil der Anzeige zur gewählten Tabelle. ● Durch einen Klick auf den Tabellennamen, werden die jeweiligen Datensätze angezeigt. Eine Sortierung der Datensätze kann nach jedem Feld in aufsteigender und absteigender Reihenfolge durchgeführt werden. Mit diesem Symbol wird die Anzeige aktualisiert. Die Datensätze können als PDF-Datei ausgegeben werden. Ist die Tabelle vom Typ InnoDB, ergeben sich in der Datensatzansicht noch folgende Funktionalitäten: ● Der Primärschlüssel wird besonders gekennzeichnet. ● Bei einem Fremdschlüssel wird ein Link erzeugt, der in die Mastertabelle wechselt, und den entsprechenden Datensatz anzeigt. Durch Klicken auf dieses Symbol wird nur der zum Fremdschlüssel gehörende Datensatz angezeigt. Ein Klick auf dieses Symbol stellt die ursprüngliche Darstellung wieder her. Weiterhin hat man noch folgende Möglichkeiten: ● Mit dem Button 'Datenbank exportieren' kann eine Textdatei generiert und gespeichert werden, die alle nötigen SQL-Befehle zum Erzeugen dieser Datenbank enthält. Diese Datei kann auch in das Übungssystem integriert werden. Dadurch steht sie bei einem Systemreset direkt zur Auswahl bereit. ● Mit dem Button 'Tabellen importieren' können Tabellen aus einer lokal gespeicherten Datei der Datenbank für Manipulationsabfragen hinzugefügt werden. ● Mit der Beziehungsübersicht werden die bestehenden Beziehungen zwischen den Tabellen grafisch angezeigt. Die Grafik wird zur Laufzeit aus den Tabellendefinitionen der Datenbank generiert. Bei eigenen Datenbanken (oder am Server-PC) kann mit diesem Programm jede Tabelle positioniert bzw. die Größe der Grafik verändert werden. Durch das Speichern der Einstellungen bleibt auch nach einem Systemreset die Positionierung der Tabellen erhalten. Sie werden in einer Datei mit dem Namen 'datenbank.bez' im Verzeichnis ...\htdocs\abfragen\daten\ abgespeichert und beim Reset automatisch wieder eingelesen. ● Es kann ein PDF-Dokument erstellt werden, das alle Informationen über die gewählte Datenbank und deren Tabellen enthält. Für die PDF-Ausgabe kann noch festgelegt werden, ob ● ● ● ● ● ● ● nach jeder Tabelle ein Seitenumbruch eingefügt wird, die Rechtestruktur mit ausgegeben wird, von jeder Tabelle die entsprechende CREATE-Anweisung ausgegeben wird, von jeder Tabelle die Datensätze ausgegeben werden, existierende Views ausgegeben werden, ob die Prozeduren, Funktionen, Trigger und Events angezeigt werden und ob die Beziehungsübersicht (wahlweise als Graustufenbild) erzeugt wird. ● Buttons zur Erstellung bzw. Bearbeitung von Prozeduren, Funktionen, Triggern und Events werden angezeigt, wenn das in der Konfiguration aktiviert wurde. ● Werden die Datenbankenzugriffe im 'general_log' protokolliert, wird ein Button zum Anzeigen der Protokolldatei angezeigt. 8. Klassenarbeiten erstellen 1/5 Das Passwort für den MySQL-Administrator root muss geheim gehalten werden, da sonst jeder Schüler die Abfragen anderer Schüler lesen, verändern und löschen kann. Klassenarbeit für Auswahlabfragen erstellen: Erstellen der Abfragen: Erstellen Sie die Abfragen für die Klassenarbeit und speichern Sie sie jeweils mit einem eigenen Namen ab. Diese Abfragen generieren später die Musterlösungen, die sich die Schüler anzeigen lassen können bzw. die zur Auswertung der Klassenarbeit benutzt werden. Erfassen von Aufgabenstellungen: Erfassen Sie jetzt zu jeder Abfrage eine Aufgabenstellung. Die Schüler können sich dann beim Erstellen von Abfragen diese Aufgabenstellungen anzeigen lassen. Exportieren Sie aus dem Hauptmenü diese Abfragen. Klassenarbeit im EDV-Raum vorbereiten: Oft ergibt sich im Unterricht die Situation, dass eine Klassenarbeit in einer Doppelstunde in zwei Gruppen geschrieben werden muss. Dann sitzen zwei Schüler direkt nacheinander am gleichen PC. Damit die Schüler der zweiten Gruppe keinen Zugriff auf die Abfragen der Schüler aus der ersten Gruppe haben, sollte mit zwei Datenverzeichnissen gearbeitet werden. Gehen Sie dafür folgendermaßen vor: a) Anlegen des 1. Datenverzeichnisses für die Server (wamp5x-basis.exe starten) b) Das Verzeichnis wamp5-DB wird umbenannt in wamp5-Gruppe1 Hinweis: Der Name für ein Datenverzeichnis muss immer mit der Zeichenkette 'wamp5-' anfangen. c) Erneutes Starten von wamp-basis.exe d) Dieses zweite Verzeichnis wamp5-DB wird jetzt umbenannt in wamp5-Gruppe2 Das Programm zum Starten der Server bietet jetzt in einer Auswahl-Box die beiden erstellten Datenverzeichnisse zur Auswahl an. So kann das System für jede Gruppe mit dem richtigen Datenverzeichnis gestartet werden. In jedem Datenverzeichnis befindet sich die Datei info.txt, die den Text enthält, der als Beschreibung in der Auswahl - Box angezeigt wird. Dieser kann zusätzlich angepasst werden. Er darf maximal 2 Zeilen enthalten. Starten Sie die Server nach einander mit jedem Datenverzeichnis und importieren Sie die vorbereitete Musterlösung. Verteilen Sie die Abfragen an die Schüler, wenn ALLE Schüler einer Gruppe bei Ihnen angemeldet sind. 8. Klassenarbeiten erstellen 2/5 Auswertung von Klassenarbeiten: Mit dem Menüpunkt Abfragen: auswerten wird zu jeder Schülerabfrage die vorgesehene Musterlösung angezeigt. Wenn die Ausgabe von Schülerabfrage und Musterlösung gleich ist, wird statt der Musterlösung 'ok' ausgegeben. Die Ausgabe ist nach Schülern gruppiert und nach Abfragenamen sortiert. Man kann die Ausgabe auch nur für einen einzelnen Schüler wählen. Wird Abfragen von 'Server-PC' gewählt, wird zur Musterlösung zusätzlich die jeweilige Aufgabenstellung angezeigt. Von diesen Ausgaben kann auch jeweils eine PDF-Datei erzeugt werden: In dem PDF-Dokument sind zu jeder Abfrage die Anzahl der gefundenen Datensätze von der Schülerabfrage und der Lösung angegeben (S:1 / L:2). Wahlweise kann auch die Aufgabenstellung zu jeder Abfrage mit ausgegeben werden. Datensicherung: Mit dem Menüpunkt 'Backup / Restore' wird ein Zip-Archiv als Datensicherung erstellt. Dieses Archiv kann mit 'Restore' wieder in das System eingespielt werden. Alternativ können Sie auch alle Abfragen exportieren. 8. Klassenarbeiten erstellen 3/5 Klassenarbeit erstellen (Datenbank erstellen): Erstellen einer neuen Datenbank: Eine neue Datenbank kann nur am Server-PC erzeugt werden. Mit dem Administrations-Tool phpMyAdmin kann man sich als MySQL-Administrator root an dem DBMS anmelden. Das notwendige Passwort wird nach Aufruf des Menüpunktes 'phpMyAdmin' ausgegeben. Regeln für die Namensgebung: 1. In den Namen für Datenbanken, Tabellen und Datenfeldern sollten keine Umlaute oder Leerzeichen verwendet werden. 2. In Datenbank- und Tabellennamen sollten nur Kleinbuchstaben verwendet werden. Groß- und Kleinschreibung führt in 'case-sensitiven' Umgebungen (Linux) zu Problemen. 3. Datenfeldnamen dürfen Groß- und Kleinbuchstaben enthalten. Datenbank exportieren: Der Datenbank-Browser bietet die Möglichkeit beliebige Datenbanken zu exportieren. Nachdem die entsprechende Datenbank ausgewählt wurde, muss noch festgelegt werden, ob nur die Struktur, oder Struktur und Daten exportiert werden sollen. Mit dem Button 'Datenbank exportieren' wird dann eine Textdatei generiert, die alle nötigen SQL-Befehle zum Erzeugen der Datenbank enthält. Diese kann dann auch gespeichert werden. Als Vorlage für die Schüler kann auch eine nur teilweise fertige Datenbank erstellt und exportiert werden. Klassenarbeit vorbereiten: Die Datei mit den exportierten SQL-Befehlen zum Erzeugen einer Datenbank wird in das Verzeichnis ...\htdocs\abfragen\daten\ kopiert. Wenn alle Schüler am System angemeldet Manipulationsabfragen eingerichtet werden. sind, können für diese Schüler Datenbanken für In der 'erweiterten Konfiguration' werden diese Datenbanken eingerichtet. Wenn der Datenbank-Reset erlaubt wird, können die Schüler ihre eigene Datenbank wieder in den Ursprungszustand versetzen. Klassenarbeit auswerten: Export der Datenbankstrukturen als PDF-Datei: In der 'erweiterten Konfiguration' können auch die Datenbankstrukturen aller Datenbanken der Schüler in eine PDF-Datei ausgegeben werden. In diese Ausgabe können die CREATE-Anweisungen und die Datensätze für die einzelnen Tabellen einbezogen werden, sowie die grafische Beziehungsübersicht für jede Datenbank. 8. Klassenarbeiten erstellen 4/5 Nur mit dem Menüpunkt 'Backup / Restore' kann eine Datensicherung aller Datenbanken erfolgen. Erstellen von Zusatzinformationen: Existiert im Verzeichnis ...\htdocs\abfragen\texte eine HTML-Datei mit der Erweiterung .html, wird im Menü ein Link angezeigt, der diese Seite aufruft. Existieren mehrere solcher Dateien, werden sie nach dem Aufruf der Zusatzinformationen in einer Listbox zur Auswahl angeboten. Diese HTML-Dateien können Aufgaben bzw. Hinweise zu Aufgabenstellungen für die Schüler enthalten. In diesem Verzeichnis befindet sich nach der Installation die Datei klassenarbeit.tpl, die Sie als Vorlage für eigene Aufgabenstellungen benutzten können. Sie muss nur in eine Datei mit der Erweiterung .html umbenannt werden. Diese können Sie dann beliebig ergänzen und verändern. 8. Klassenarbeiten erstellen Anhang (Beispiel für Zusatzinformation / Aufgabenstellung): 5/5 9. Systemkonfiguration 1 /4 Reset des Übungssystems ● Mit dem Reset wird das System initialisiert und eine neue Datenbank für Auswahlabfragen eingerichtet. ● Von dem Löschvorgang können - angelegte Schüler, - bestehende Datenbanken für Manipulationsabfragen, - Abfragen bzw. PHP-Programme, - Import-Dateien für Schüler und - Zusatzinformationen ausgenommen werden. ● In dem Verzeichnis \wamp5-DB\htdocs\abfragen\daten\ wird nach Dateien mit der Erweiterung .sql gesucht. Diese werden dann zur Auswahl angeboten. Der Name für die Datenbank kann frei gewählt werden. Folgende Datenbanken sind im Basis-Paket enthalten: euro Datenbank für Auswahlabfragen. Es existieren Beispiele für User mit Sonderrechten und für Views, Prozeduren, Funktionen und Trigger. ● euro0 Datenbank zum Erstellen von Beziehungen. Wie euro, aber ohne Primärschlüssel, Fremdschlüssel, Beziehungen, und den Beispielen. leer Datenbank zum Erstellen von Tabellen. Sie ist die Ausgangsbasis für Schüler, um in einer eigenen Datenbank Tabellen zu erstellen. adressen Datenbank zum Erstellen einer Klassenliste. Es muss die Option 'User importieren' aktiviert werden. Wenn eine Datei mit dem Namen der Datenbank und einer der folgenden Erweiterungen existiert, werden auch die darin definierten Views, Prozeduren, Funktionen, Trigger, Events oder User angelegt: .view ==> Views .proc ==> Prozeduren / Funktionen .trg ==> Trigger .usr ==> User .evt ==> Events Dafür müssen die entsprechenden Optionen vor dem Reset eingeschaltet werden. 9. Systemkonfiguration 2 /4 Systemkonfiguration Komponenten: ● phpMyAdmin kann für den Zugriff von anderen Rechnern gesperrt werden. ● Wenn eine Verbindung zum Server der BBS Simmern aufgebaut werden kann, werden Sie automatisch über Updates informiert. Ist eine DNS-Namensauflösung nicht möglich, wird einmalig beim ersten Aufruf des Hauptmenüs eine kleine Verzögerung auftreten. Dies kann durch Ausschalten der Update-Funktion verhindert werden. ● Anmeldeverfahren (Auswahl aus Schülerliste erlauben): Wenn an einem PC kein Schüler angemeldet ist, dann wird das Anmeldeformular mit einer Liste aller angelegten aber nicht angemeldeten Schüler angezeigt. Dadurch ist es möglich, dass ein Schüler sich in der nächsten Unterrichtsstunde an einem anderen PC anmeldet. Er bekommt durch die neue Anmeldung wieder seine alten Abfragen. Ebenso ist es möglich, dass sich verschiedene Schüler nacheinander am gleichen PC anmelden. Der Lehrer kann auch einen Schüler mit dem Menüpunkt 'Schülerliste' abmelden. Wurde diese Option nicht gesetzt, dann wird die IP-gebundene Anmeldung angewendet. Das bedeutet, dass an einer IP-Adresse immer der gleiche Schüler automatisch angemeldet wird. ● Views können am Server-PC und von Schülern (nur für ihre eigenen Datenbanken) erstellt werden. ● MySQL unterstützt auch den Einsatz von Prozeduren, Funktionen, Triggern und Events. Diese können nur am Server-PC definiert werden. Routinen, Trigger und Events müssen anschließend noch aktiviert werden. Den Routinen müssen zusätzlich noch User zugeordnet werden. ● Alle Anfragen an den MySQL-Server können in eine Logdatei geschrieben werden. Mit dieser Option wird das Schreiben in diese Logdatei an- bzw. abgeschaltet. Die protokollierten Datenbankzugriffe können in aufbereiteter Form eingesehen und als PDF-Datei oder nach Excel exportiert werden. Anzeigen des Menüpunktes zum Aufruf der MySQL-Konsole. Nach der Auswahl einer Datenbank und einem User werden die Zugangsdaten markiert. Mit diesem Symbol in der Menüleiste des Clients wird dann eine ● MySQL - Konsole für den ausgewählten User mit der gewählten Datenbank geöffnet. (Wenn das Symbol nicht angezeigt wird, muss der Browser nochmal neu gestartet werden.) ● Der Zugang zum Download - Bereich wird freigeschaltet. ● Der Zugang zu den Online - Dokumentationen wird freigeschaltet. ● Der Menüpunkt für die PHP-Lernumgebung wird angezeigt. ● Ausgabe aufbereiteter deutscher Fehlermeldungen der Lernumgebung oder ● Ausgabe der original PHP-Fehlermeldungen. Anzeigeoptionen: ● Anzahl der Zeilen für das Eingabefeld der SQL-Befehle. ● Nullwerte werden nicht als leeres Feld ausgegeben, sondern mit NULL gekennzeichnet. ● Bei der Auswahl von Abfragen wird die markierte Abfrage in einer Infobox angezeigt. ● Wenn eine Aufgabenstellung existiert, kann das Ergebnis der Musterlösung zu einer Aufgabe angezeigt werden. ● Anzeige der Systemdatenbanken (auch mit phpMyAdmin). Am Server-PC wird die Datenbank userdaten mit den gespeicherten Abfragen, Schülernamen usw. immer angezeigt. Beim Auswerten bzw. Auswählen der Schülerabfragen wird die PC-Nr. ermittelt und angezeigt. ● ● Vereinfachtes phpMyAdmin bedeutet, dass die Benutzeroberfläche verinfacht ist. Es fehlen selten gebrauchte Menüpunkte. 9. Systemkonfiguration 3 /4 Erweiterte Konfiguration: Datenbanken für Manipulationsabfragen einrichten Es werden die eingestellte Anzahl von Kopien der gewählten Datenbank angelegt. Deren Namen wird um eine zweistellige Nummer ergänzt. Für den User am Server-PC wird '00' angehängt. Klickt man auf das Symbol oder gibt die Zahl 0 ein, werden keine Kopien angelegt, sondern alle Datenbanken für Manipulationsabfragen werden gelöscht. Die Schüler können mit dem Programm phpMyAdmin oder jedem anderen MySQL-Client prinzipiell auf alle Datenbanken zugreifen, wenn sie Benutzername und Passwort kennen. Um den Zugang auf einen einzelnen Schüler zu beschränken, wird ein zufälliges Passwort erzeugt. Die Zugangsdaten für ihre eigene Datenbank bekommen die Schüler nur beim Aufruf des Menüpunktes 'phpMyAdmin' angezeigt. Datenbanken, die für Manipulationsabfragen eingerichtet wurden, können von den Schülern mit phpMyAdmin verwaltet und bearbeitet werden. phpMyAdmin ist eine PHP-Applikation, mit der sich MySQL-Datenbanken einfach und schnell mit einem Browser ansprechen lassen, ohne auf komplizierte SQL-Befehle zurückgreifen zu müssen. Es können Tabellen, Schlüssel und Beziehungen angelegt und bearbeitet werden. In der Systemkonfiguration kann festgelegt werden, ob phpMyAdmin mit einer vereinfachten Benutzeroberfläche gestartet werden soll. Erstellen die Schüler Manipulationsabfragen, wird das Passwort automatisch ermittelt und jeder Schüler bekommt nur einen Zugriff auf seine eigene Datenbank. Schüler und die ihnen zugeordneten Datenbanken anzeigen Es werden die User für Manipulationsabfragen mit ihren zugeordneten Datenbanken und Passworten angezeigt. Ein Link ruft den Datenbank-Browser mit der entsprechenden Datenbank auf. Der Datenbank-Reset für diese User wird hier erlaubt bzw. verboten. Hier können auch die Datenbankstrukturen aller Datenbanken für Manipulationsabfragen in eine PDF-Datei ausgegeben werden. In die Ausgabe können die CREATE-Anweisungen und die Datensätze für die einzelnen Tabellen einbezogen werden, sowie die grafische Beziehungsübersicht für jede Datenbank. Zurücksetzen der Datenbank für Manipulationsabfragen am Server-PC: Der Datenbank-Reset bewirkt, das eine neue Kopie der Datenbank erstellt wird. Dadurch werden alle Änderungen an der Datenbank rückgängig gemacht. Spezielle User einrichten ● ● ● Spezielle User importieren / aktivieren / deaktivieren / exportieren Diesen Usern kann ein Zugriff auf die Datenbank für Auswahlabfragen erlaubt werden. Diese müssen vorher mit ihren speziellen Rechten mit phpMyAdmin angelegt werden. Für jeden dieser User kann ein eigenes Passwort definiert werden. Die SQL-Befehle zum Erzeugen der User können exportiert werden, und stehen so für einen späteren Import wieder zur Verfügung. Damit diese Datei zur Auswahl angeboten wird, muss sie mit der Erweiterung .usr im Verzeichnis ...\htdocs\abfragen\daten\ gespeichert sein. Mit dem Botton 'speichern' geschieht das automatisch. Hat die Datei den Namen einer Datenbank, können die User beim Systemreset direkt für diese Datenbank angelegt werden. Der Import aus einer beliebigen externen Datei ist ebenfalls möglich. Abfragen löschen Wenn vorhanden, werden ● die SQL-Befehle und Aufgabenstellungen der am Server-PC erfassten Abfragen, ● die Abfragen aller Schüler, die PHP – Programme der Schüler oder die eigenen PHP – Programme gelöscht. ● ● 9. Systemkonfiguration 4 /4 Das Formular 'Einzelne Schüler oder deren Abfragen löschen' kann von hier aufgerufen werden. Eine auf einem externen Datenträger gespeicherte Datei (*.sql) kann in das Übungssystem integriert werden. Routinen, Trigger und Events In der Systemkonfiguration, der erweiterten Konfiguration und im Datenbank-Browser werden Buttons angezeigt, die das Bearbeiten, Einrichten, Löschen, Exportieren und Importieren der Routinen, Trigger oder Events ermöglichen. Logdatei aller Datenbankzugriffe: Es lassen sich alle Datenbankzugriffe von beliebigen Clients in einer Systemtabelle protokollieren und auswerten. Zusätzlich zu den Zugriffen über das Übungssystem ist es jetzt auch möglich, die mit ACCESS oder der MySQLKonsole erfolgten Zugriffe, mit dem Schülernamen, dem MySQL-Befehl und der genauen Zeit auszugeben. Diese Logdatei kann im XML-Format direkt mit Excel geöffnet werden oder als PDF-Datei angezeigt werden. Mit dem Button General Log wird eine aufbereitete Anzeige der Systemlogdatei angezeigt. In ihr werden alle Datenbankzugriffe gespeichert. Diese kann auch direkt in Excel importiert, oder als PDF-Datei exportiert werden. 10. Weitere Einsatzmöglichkeiten des Übungssystems 1/6 Zusatzinformationen anzeigen: Wenn im Verzeichnis ...\htdocs\abfragen\texte eine HTML-Datei mit der Erweiterung .html existiert, wird im Menü ein Link angezeigt, der diese Seite aufruft. Existieren mehrere solcher Dateien, werden sie nach dem Aufruf der Zusatzinformationen in einer Listbox zur Auswahl angeboten. Diese HTML-Dateien können Aufgaben, Hinweise oder zusätzliche Informationen zu den Aufgabenstellungen für die Schüler enthalten. Schülerliste: Mit diesem Menüpunkt werden folgende Informationen angezeigt: Es können einzelne Schüler abgemeldet werden, damit sich an diesem Platz ein anderer Schüler anmelden kann. Beziehungsübersicht: Mit diesem Programmteil kann die Größe der grafischen Beziehungsübersicht und die Position der Tabellen innnerhalb der Grafik bestimmt werden. Zur Positionierung der Tabellen kann auch der Designer von phpMyAdmin benutzt werden. 10. Weitere Einsatzmöglichkeiten des Übungssystems 2/6 Download – Bereich: Es ist ein komfortabler Download-Bereich für die Schüler integriert. Es werden nur die Dateien zum Download angeboten, die im Verzeichnis ...\htdocs\download gespeichert sind. Die Datei index.php darf nicht gelöscht werden, da sie das Inhaltsverzeichnis erzeugt. Bei Bildern generiert sie auch automatisch die entsprechenden Thumbnails. In der Datei descript.ion können Beschreibungen zu den einzelnen Dateien hinterlegt werden, die mit dem Inhaltsverzeichnis angezeigt werden. FILE FORMAT von descript.ion: . Das ist das Hauptverzeichnis liesmich.txt beispiel.png Eine Beschreibung, wie die Datei descript.ion aufgebaut sein muss. Dieses Bild veranschaulicht die Zusammenarbeit von Browser, Webserver und MySQL. Beachten Sie, dass der Leerraum zwischen Dateiname und Beschreibung ein einfacher TAB sein muss. Bei einer Beschreibung für das aktuelle Verzeichnis (.) wird sie als Kopfzeile für das Inhaltsverzeichnis benutzt. Wenn Sie Unterverzeichnisse einrichten, müssen Sie die index.php (<1KB) aus dem Verzeichnis "subdir" dort hinein kopieren. Diese leitet den User weiter an die originale index.php (>37KB) und übergibt wichtige Parameter. Unterverzeichnisse: /download/descript.ion /download/index.php << Beschreibung für /download/*.* << index.php (original) /download/subdir/bigprogram.zip /download/subdir/descript.ion /download/subdir/index.php << Beschreibung für /download/subdir/*.* << subdir/index.php Von Access nach MySQL: Das Archiv access2sql.exe beinhaltet ein Tool, mit dem Access-Datenbanken nach MySQL konvertiert werden können. Zur Installation wird das Archiv in ein beliebiges Verzeichnis entpackt. Nach dem Aufruf der access2sql.bat wird nach dem Dateinamen der Access-Datenbank gefragt. Wenn sich die Datei nicht im aktuellen Verzeichnis befindet, muss Laufwerk und Pfad mit angegeben werden. Dann wird eine Textdatei erzeugt, die alle Befehle zum Erzeugen der Datenbank (inkl. Daten) enthält. Einschränkungen: 1. Die Beziehungen zwischen den Tabellen werden nicht übernommen. 2. Primärschlüssel werden nur richtig erkannt, wenn das 1. Feld der Tabelle ein Primärschlüssel ist. 3. Ein Primärschlüssel über mehrere Felder wird nicht erkannt. 4. Indexfelder werden nicht erkannt. Das Tool ermöglicht die Übernahme von Access-Datenbanken in eine MySQL-Datenbank mit einem vergleichsweise geringem Arbeitsaufwand. Eine komplette Neueingabe der Datenbankstruktur und der Datensätze entfällt. 10. Weitere Einsatzmöglichkeiten des Übungssystems 3/6 Fortgeschrittene Datenbanktechniken: Transaktionen: Eine Transaktion wird mit START TRANSACTION eingeleitet und mit COMMIT beendet. Innerhalb der Transaktion sind Veränderungen sofort wirksam. Ein ROLLBACK macht die Anweisungen bis zum Beginn der Transaktion rückgängig. Der Beginn einer Transaktion impliziert immer ein COMMIT für eine bestehende offene Transaktion. Beim Abbruch einer Verbindung zum DBMS wird immer ein automatisches ROLLBACK durchgeführt. Beim Arbeiten mit der MySQL-Konsole (Browser muss einmal neugestartet werden) befindet man sich in einem interaktiven Modus. Das bedeutet, dass beim Auftreten eines Fehlers die Transaktion nicht mit einem ROLLBACK abgebrochen wird. Der Anwender muss das ROLLBACK bzw. das COMMIT selbst eingeben. Werden die Einzelanweisungen der Transaktion in eine Prozedur eingebettet, wird nur die Prozedur beendet, nicht die ganze Transaktion. Mit folgender Befehlszeile wird für die Prozedur festgelegt, dass beim Eintreten eines Fehlers, ein ROLLBACK ausgelöst wird. DECLARE EXIT HANDLER FOR SQLEXCEPTION ROLLBACK; MySQL unterstützt auch Prozeduren, Funktionen, Trigger und Events. Mit diesem Übungssystem ist es möglich, sie auf einfache Weise zu erstellen und zu verwalten. Sie werden in eigenen Tabellen der Datenbank 'userdaten' gespeichert und können einfach aktiviert, bzw. deaktiviert werden. Views: Eine View ist im Prinzip nichts anderes als das Ergebnis eines Selects. In diesem Fall ist diese Select-Anweisung aber in der MySQL-Datenbank hinterlegt und unter einem bestimmten Namen erreichbar. Das ist eine Möglichkeit um einheitliche Sichten für Applikationen bereitzustellen und zentral zu pflegen, oder auch um komplexe Abfragen zu vereinfachen. Routinen: Eine Routine besteht aus einer Menge von SQL-Anweisungen, die auf dem Server gespeichert sind. So müssen Clients nicht immer wieder die jeweiligen Einzelanweisungen zum Server senden, sondern können stattdessen die Routine aufrufen. Eine Routine kann entweder in Form einer Prozedur oder einer Funktion vorliegen. Dieses Konzept gewährleistet eine konsistente und sichere Umgebung. Anwendungen und Benutzer benötigen jetzt keinen Direktzugriff auf die Datenbanktabellen, sondern rufen nur bestimmte gespeicherte Routinen auf. Jedem User muss das 'EXECUTE-Recht' für die jeweilige Routine erteilt werden. Event scheduler: Es gibt zwei Arten von Events. Das DBMS führt entweder • • einmalig zu einem bestimmten Zeitpunkt oder wiederholt in einem frei definierbarem Zeitintervall bestimmte Aktionen aus. Trigger: Die SQL-Befehle INSERT, UPDATE und DELETE bewirken eine Veränderungen an einer Tabelle und lösen dadurch einen Trigger aus. Man muss für jeden Trigger festlegen • • • für welche Tabelle, bei welchem Befehl und ob vor oder nach der Ausführung des Befehls der Trigger abgearbeitet werden soll. CSV: Die CSV-Speicher-Engine benutzt Textdateien in Form von kommagetrennten Werten (Comma Separated Values) zum Speichern der Tabelleninhalte. Diese Dateien werden im Datenverzeichnis von MySQL (...\mysql\data\Datenbank\) mit dem Namen Tabellenname.CSV abgelegt. Sie können z. B. direkt in eine Tabellenkalkulation importiert werden. 10. Weitere Einsatzmöglichkeiten des Übungssystems 4/6 Datenbank - Replikation Durch eine entsprechende Konfiguration des MySQL-Servers kann auch die Datenbank-Replikation den Schülern demonstriert werden. Weitere Informationen zur Replikation finden Sie bei MySQL: https://downloads.mysql.com/docs/refman-5.1-de.a4.pdf Bei der Replikation schreibt der Master-Server Updates in seine Logdateien. Diese Dateien dienen als Datenspeicher für Updates, die an alle Slave-Server gesendet werden. Wenn ein Slave eine Verbindung zu einem Master herstellt, nennt er dem Master die Position, bis zu der er die Logdateien beim letzten erfolgreichen Update gelesen hat. Der Slave empfängt daraufhin alle Änderungen, die seit jenem Zeitpunkt durchgeführt wurden. Nachfolgend wechselt er in den Leerlauf und wartet darauf, dass der Master ihn über neue Aktualisierungen in Kenntnis setzt. Wenn Sie die Replikation verwenden, sollten alle Änderungen an Tabellen, die repliziert werden, auf dem MasterServer durchgeführt werden. Um den MySQL-Server als Slave bzw. als Master zu konfigurieren, wird aus der erweiterten Konfiguration der entsprechende Menüpunkt ausgewählt. Nach der Konfiguration muss der jeweilige Server neu gestartet werden. Beim Master wird die Datenbank definiert, die repliziert werden soll. Eine sinnvolle Demonstration der Replikation ist nur dann möglich, wenn beide Server beim Start der Replikation über den gleichen Datenbestand verfügen. Reihenfolge der Installationen - Master Installation - 1. Master-Server installieren und Datenbank 'euro' einrichten. - 2. Master-Server konfigurieren. - 3. Master-Server neu starten 10. Weitere Einsatzmöglichkeiten des Übungssystems 5/6 - Slave Installation - 1. Slave-Server installieren und Datenbank 'euro' einrichten. - 2. Slave-Server konfigurieren. - 3. Slave-Server neu starten und Replikation starten. Master - Master Replikation download.nust.na/pub6/mysql/doc/refman/5.1/de/replication-auto-increment.html # Master A - setup log-bin=master binlog-do-db=euro server-id=10 auto_increment_increment=10 auto_increment_offset=1 Beispiel: id 1 11 21 | | | | c aaa bbb ccc # Master B - setup log-bin=master binlog-do-db=euro server-id=20 auto_increment_increment=10 auto_increment_offset=2 Master A Master B Beispiel: id 2 12 22 | | | | c xxx yyy zzz 10. Weitere Einsatzmöglichkeiten des Übungssystems 6/6 PHP – Lernumgebung: Die Lernumgebung für PHP muss zuerst in der Systemkonfiguration freigeschaltet werden. Es handelt sich dabei um eine Programmierumgebung, mit der PHP-Programme direkt im Browser eingegeben und getestet werden können. Alle Programme werden in einer Datenbank auf dem Server gespeichert. ● ● Bei fehlerhaften Programmen wird das Programm beendet und eine aufbereitete Fehlermeldung ausgegeben. Dieses Verhalten kann in der Systemkonfiguration abgeschaltet werden. Die Deklaration von Variablen und Arrays außerhalb der erstellten PHP-Programme ist möglich, wenn in der Systemkonfiguration Variablen definieren ausgewählt wird. So ist eine Einführung in die Programmiersprache PHP ohne HTML-Kenntnisse möglich. Die Schüler brauchen dann auch keinen eigenen Webserver zu installieren. Verzeichnisstruktur des Übungssystems: Dokumentenverzeichnis von Apache Verzeichnis für: Datenbanken (*.sql), spezielle User (*.usr), Trigger (*.trg), Events (*.evt) und Routinen (*.proc) Lösungen, die vom Lehrer importiert werden können. Abfragen, die von Schülern importiert werden können. Zusatzinformationen Downloadverzeichnis Datenverzeichnis von MySQL phpMyAdmin HTML-Seiten – Erstellung und PHP-Programmierung: Der Browser im Archiv wamp-client.exe hat einen integrierten HTML-Validator. In der Statuszeile werden die Anzahl der Fehler bzw. Warnungen für die aktuelle Seite angezeigt. Durch einen Doppelklick auf diese Anzeige, wird der Seitenquelltext mit detaillierten Hinweisen angezeigt. ● Das Archiv wamp-apache.exe beinhaltet nur das Datenverzeichnis für den Webserver Apache. Es eignet sich für die Entwicklung eigener Webseiten ohne Datenbankzugriffe. ● Das Archiv wamp-apache_mysql.exe beinhaltet die Datenverzeichnissse für den Webserver Apache und das Datenbankmanagementsystem MySQL. Es eignet sich für die Entwicklung eigener dynamischer Webseiten mit Zugriff auf eine Datenbank. Das Verzeichnis \wamp5-apache\htdocs ist das Dokumenten-Verzeichnis des Webservers. Dort müssen alle HTML-Dateien, PHP-Programme und Bilder gespeichert werden.