| www.r-krell.de |
| Webangebot für Schule und Unterricht, Software, Fotovoltaik und mehr |
Willkommen/Übersicht > Informatik >
Teil 1: Übersicht und sinnvolle Software
Die Ausführungen über Datenbanken ergänzen meine Reihe „Informatik mit Java"
(auf meiner „Informatik"-Hauptseite finden Sie eine Übersicht der gesamten Unterrichtsreihe).
Hier, auf dieser Seite „Datenbanken, Teil 1" finden Sie:
In den kommenden Seiten über Datenbanken wird dann die Software benutzt und natürlich auch erläutert/erlernt, was Datenbanken sind und wie sie planvoll erstellt
und richtig genutzt werden können:
- Datenbanken, Teil 2: Entwurf, Normalisierung und Implementation einschl. ER-Diagramm und SQL-Abfragen
- Datenbanken, Teil 3: (in Vorbereitung)
...
zum Seitenanfang / zum Seitenende
Datenbanken im Unterricht
Übersicht und Vorrede
In meinem Informatik-Leistungskurs werden in der Jahrgangsstufe 12/13 auch Datenbanken behandelt. Themen sind dabei u.a.
Mit dem selbst geschriebenen Java-Programm wird sogar eine Rasterfahndung simuliert, sodass Überlegungen zum Datenschutz angeregt werden.
Dabei lassen sich die Themen allerdings nicht immer getrennt nacheinander behandeln, sondern müssen wegen gegenseitiger Abhängigkeiten und um theoretische Überlegungen direkt am Rechner ausprobieren und bestätigen zu können, teilweise verwoben werden. Damit Sie die praktischen Beispiele wie beschrieben nachvollziehen können, empfiehlt sich der Download und die Installation der hier verwendeten, frei und kostenlos zugänglichen Software auf dem eigenen Rechner - wie auf dieser Seite beschrieben.
Noch ein Wort zur Beruhigung: Die folgenden Ausführungen mögen etwas technisch anmuten. Zum Glück müssen die beschriebenen Schritte nur ein einziges Mal ausgeführt werden. Ist die Software einmal installiert und eingerichtet, reicht später der Doppelklick auf die Stapelverarbeitungsdatei db_start.bat, um das Datenbankprogramm bequem und unaufwändig in Betrieb zu nehmen.
zum Seitenanfang / zum Seitenende
Download und Installation der Software
inkl. Verweisen auf kostenlose Bezugsquellen
Als Datenbankprogramm wird das kostenlose und leistungsfähige, auch in vielen Betrieben in großem Maßstab erfolgreich eingesetzte MySQL verwendet. Ursprünglich wurde MySQL von eine skandinavischen Firma entwickelt und angeboten; Anfang 2008 wurde MySQL AB von der Firma Sun übernommen, die bekanntlich auch Java und OpenOffice betreut.
zum Seitenanfang / zum Seitenende
MySQL in XAMPP
MySQL gibt's in verschiedenen Paketen, meist mit Zusatzprogrammen für die Verwendung von MySQL zusammen mit PHP und/oder Perl als
Apache-Datenbankserver für dynamische Webseiten. Solche Pakete gewährleisten eine leichte Installation und nehmen dem Anwender viele
Einstellungsarbeiten ab. Hier wird - auch wenn es mehr enthält, als das hier nur benötigte MySQL - das Paket XAMPP verwendet, das von
http://www.apachefriends.org/de/xampp.html herunter geladen werden kann. Dort kann man sich bis zur gewünschten Installer-Version für das eigene
Betriebssystem durchklicken. Hier reicht die Windows-Version XAMPP Lite mit angegebenen 28 MB, tatsächlich aber ca. 29 MB Downloadumfang. Die aktuelle
Version 1.7.3 gibt's im März 2010 über http://www.apachefriends.org/de/xampp-windows.html#631 bzw. direkt unter
http://www.apachefriends.org/download.php?xampplite-win32-1.7.3.exe (wobei das Herunterladen gelegentlich erst mit etwas Verzögerung beginnt).
Befindet sich die Datei xampplite-win32-1.7.3.exe dann auf dem eigenen Rechner, wird die Installation von „XAMPP 1.7.3" mit Doppelklick auf den
Dateinamen gestartet. Würden die Vorgaben übernommen werden, will sich die Software in den Ordner c:\xampp installieren. Zur normalen Windows-Verzeichnisstruktur passt aber viel besser c:\programme\xampp, sodass ich vorschlage, das Zielverzeichnis entsprechend abzuändern. Jedenfalls gehe ich im
Folgenden davon aus, dass der Ordner c:\programme\xampp verwendet wird. Während des Installationsprozesses können bei den XAMPP-Optionen noch die
ersten beiden Häkchen für Verknüpfungen auf dem Desktop und Startmenü gesetzt bzw. belassen werden (sie sind allerdings keineswegs nötig und können auch
ohne Weiteres entfernt werden). Keinesfalls sollte man aber Häkchen bei den Diensten setzen oder stehen lassen, sonst wird bei jedem Computerstart im
Hintergrund XAMPP mitgestartet, was nicht nur unnötig Startzeit und Ressourcen kostet, sondern wegen der Servertätigkeit auch ein unnötiges Sicherheitsrisiko darstellt.
Insgesamt belegt der erzeugte XAMPP-Ordner rund 164 MB Platz auf der Festplatte. Obwohl der angelegte Ordner einige Unterverzeichnisse und viele
ausführbare Dateien enthält, erfolgt der Start des Datenbankprogramms im Folgenden immer nur durch Start des Programms xampp-control.exe direkt im
XAMPP-Ordner (bei der vorgeschlagenen Installation also Ausführen von c:\programme\xampp\xampp-control.exe). Es empfiehlt sich, eine
Verknüpfung hierzu im Startmenü oder auf dem Desktop anzulegen - oder meine später noch vorgestellte Batch-Datei db_start zu verwenden.
zum Seitenanfang / zum Seitenende
Query-Browser
MySQL kommt ohne grafische Oberfläche. Damit das Datenbankprogramm nicht mühsam im Konsolenfenster bedient werden muss, empfiehlt sich zusätzlich die
Installation einer ebenfalls kostenlosen Oberfläche wie hier des MySQLQueryBrowsers. Dieser ist bzw. war in den GUI-Tools enthalten (die alte, durchaus
ausreichende Version 5.0 gibt's auf http://dev.mysql.com/downloads/gui-tools/5.0.html); die neueste Version 5.2. ist jetzt offenbar in der Workbench enthalten
(Stand März 2010): http://dev.mysql.com/downloads/workbench/5.2.html.
Wählt man z.B. von der älteren Version 5.0 die Installer-Version für Windows (x86), so gelangt man nach Klick auf 'Download' zu einer Seite, von wo man 'New
Users: Proceed with Registration' wählen kann, um zu einer Formularseite für die kostenlose Registrierung zu kommen. Hier kann man seine Daten eingeben, muss
es aber nicht, sondern gelangt am Seitenende mit dem Link „» No thanks, just take me to the downloads!" auch ohne weitere Angaben zur Auswahl eines Mirrors
und dadurch zum Download, d.h. lädt die Datei mysql-gui-tools-5.0-r17-win32.msi herunter.
Ist diese Datei auf dem eigenen Rechner, startet der Doppelklick die Installation. Wieder ist ein beliebiges Verzeichnis wählbar, standardmäßig wird C:\Programme\MySQL\MySQL Tools for 5.0\ angelegt (beansprucht ca. 3,5 MB auf der Festplatte). Hiervon interessiert künftig ausschließlich die mit einem Blitz markierte Datei MySQLQueryBrowser.exe (bei der vernünftigen Standardinstallation also C:\Programme\MySQL\MySQL Tools for 5.0\MySQLQueryBrowser.exe), die immer erst nach dem oben erwähnten Programm xampp-control ausgeführt werden sollte.
zum Seitenanfang / zum Seitenende
Java-MySQL-Connector/J
Befindet man sich nach dem Download der Gui-Tools mit dem QueryBrowser noch auf der MySQL-Webseite, so kann (für die spätere Anbindung der MySQL-Datenbank an Java) hier aus dem Downloadbereich der Developer Zone unter 'Connectors' > 'Connector/J', also von http://dev.mysql.com/downloads/connector/j, die aktuelle zip-Version von „Connector/J" herunter laden. Im März 2010 war dies die Version 5.1.12, wobei die Größe der zip-Datei mit 3,8 MB angegeben wurde. Auf "Download" klicken (und wieder weiter wie oben mit oder ohne Anmeldung/Registrierung und Auswahl eines Mirrors). Man erhält die Archivdatei mysql-connector-java-5.1.12.zip. Tatsächlich wird später aus diesem Archiv nur die weniger als 700 kB große Datei mysql-connector-java-5.1.12-bin.jar benötigt, die z.B. in den selbst anzulegenden Ordner C:\JavaEntw\mysqlconnector entpackt werden sollte; der Rest sind Dokumentationen und Quelltexte und hier nicht erforderlich. Genaueres folgt weiter unten auf dieser Seite im Kapitel „Einbinden des Java-MySQL-Connectors/J in den Javaeditor".
zum Seitenanfang / zum Seitenende
Verbessern der MySQL-Datenbank-Einstellungen:
Inno-DB per Konfigurationsdatei dauerhaft einschalten!
In früheren Versionen führte die Datenbanksoftware MySQL leider einige sinnvolle Kontrollen nicht durch; insbesondere fehlte die wichtige Kontrolle der referenziellen Integrität bei den angegebenen Fremdschlüsseln. Inzwischen (März 2010) ist aber die dafür zuständige Datenbank-Engine InnoDb offenbar automatisch eingestellt und die Konfiguration befindet sich in der Datei my.ini, die dann nicht mehr verändert werden braucht.
Wer allerdings noch eine ältere Version von Xampp und MySQL benutzt, wo die Einstellungen statt in my.ini noch in einer Konfigurationsdatei namens my.cnf gespeichert sind, sollte diese ändern: sie befindet sich im Unterordner bin des Xampp-Ordners -- entsprechend der vorgeschlagenen Installation findet man die Datei also in/als c:\programme\xampp\bin\my.cnf. Achtung: Im Windows-Explorer wird die Endung .cnf nicht angezeigt (auch nicht, wenn grundsätzlich Dateiendungen sichtbar geschaltet wurden!), sondern vielmehr wird die Datei my fälschlich mit dem Typ 'Zielwahl' dargestellt (weil Windows seine Verknüpfungen ebenfalls mit der Endung .cnf versieht). Nichtsdestotrotz kann die Datei mit einem Texteditor (z.B. notepad) geöffnet und so bearbeitet werden, dass sie schließlich folgenden Inhalt zeigt. Anschließend das Speichern nicht vergessen! Wurde XAMPP allerdings in ein anderes Zielverzeichnis installiert, müssen Sie an allen drei Stellen den Pfadnamen c:\programme\xampp\ - am besten mit Suchen und Ersetzen - entsprechend verändern. Zu Ihrer Bequemlichkeit können Sie die angegebene, neue Konfigurationsdatei auch hier (gemeinsam mit der nachfolgend vorgestellten Datei db_start.bat im Archiv db1_dateien zip [1 kB]) herunter laden und einfach über Ihre bisherige my.cnf kopieren.
my.cnf (ersetzt bisherige Datei c:\programme\xampp\bin\my.cnf)
| #skip-innodb # Uncomment the following if you are using InnoDB tables innodb_data_home_dir = C:/Programme/xampp/mysql/data/ innodb_data_file_path = ibdata1:10M:autoextend innodb_log_group_home_dir = C:/Programme/xampp/mysql/data/ innodb_log_arch_dir = C:/Programme/xampp/mysql/data/ # You can set .._buffer_pool_size up to 50 - 80 % # of RAM but beware of setting memory usage too high set-variable = innodb_buffer_pool_size=16M set-variable = innodb_additional_mem_pool_size=2M # Set .._log_file_size to 25 % of buffer pool size set-variable = innodb_log_file_size=5M set-variable = innodb_log_buffer_size=8M innodb_flush_log_at_trx_commit=1 set-variable = innodb_lock_wait_timeout=50 |
Natürlich sollten Sie diese Änderungen durchführen, wenn MySQL noch nicht läuft. Wie Sie nach diesen einmal durchzuführenden Änderungen jetzt und künftig MySQL mit den neuen Einstellungen starten, steht im nächsten Kapitel.
zum Seitenanfang / zum Seitenende
Start der Datenbank-Software
(Bebilderte Schritt-für-Schritt-Anleitung mit Stapelverarbeitungsdatei)
Zunächst muss das XAMPP-Paket mit der MySQL-Datenbanksoftware sowie der MySQL-QueryBrowser installiert sein wie im vorstehenden Kapitel beschrieben. Damit die Datenbanksoftware mit der Oberfläche benutzt werden kann, muss nun dann als erstes xampp-control ausgeführt werden. Erst nach dem Start von MySQL im XAMPP Control Panel kann danach die Oberfläche verwendet werden. Da die Installation keine passenden Startmenü-Einträge anlegt, empfehle ich die Verwendung einer selbstgeschriebenen Batch-Datei (=Stapelverabeitungsdatei) db_start.bat folgenden Inhalts (der ggf. erst einmalig mit Rechtsklick und 'Bearbeiten' auf eigene, eventuell abweichende Pfad- bzw. Ordnernamen angepasst werden muss):
db_start.bat
| @echo off echo Start vom XAMPP (dort MySQL starten!) und echo MySQL-GUI (dort localhost und root eingeben): cd C:\Programme\xampp\ start C:\Programme\xampp\xampp-control.exe cd C:\Programme\MySQL\MySQL Tools for 5.0\ start C:\Programme\MySQL\MySQL Tools for 5.0\MySQLQueryBrowser.exe |
db_start.bat kann - zusammen mit der verbesserten Konfigurationsdatei my.cnf aus dem vorigen Kapitel für alte MySQL-Versionen - auch im Archiv db1_dateien.zip von dieser Webseite herunter geladen werden.
Die Batchdatei db_start.bat kann auf dem Desktop oder im Startmenü angelegt bzw. gespeichert werden. Klickt man jedenfalls auf db_start.bat auf dem eigenen Rechner, so erscheint zunächst das XAMPP-Kontrollfenster, in dem man MySQL durch Anklicken von „Start" in Gang setzt:


Durch die Batch-Datei wurde auch die Oberfläche bereits im Hintergrund gestartet und ihr Startfenster wird nach Verschieben oder Minimieren des XAMPP
Control Panels sichtbar oder kann in den Vordergrund geholt werden durch Klick auf die Schaltfläche „MySQL Query Browser.." in der Taskleiste am unteren
Bildschirmrand (
). Jedenfalls erscheint der Dialog

in den zumindest beim ersten Mal wie abgebildet localhost und root eingegeben werden müssen, bevor OK gedrückt wird. Nach Wahl von „Ignorieren" in der Warnung

öffnet sich schließlich die Oberfläche, die rechts natürlich noch weniger Datenbanken anzeigt. Ist oben der SQLAbfragebereich noch nicht sichtbar, sollte er mit der Taste F11 oder per Menü maximiert werden:

Damit läuft die Datenbanksoftware und vorhandene Datenbanken können genutzt und/oder verändert bzw. neue Datenbanken können angelegt werden. Für einen ersten Test kann im rechten Fenster ('Schemata') in der Datenbank mysql zweimal doppelt auf die Tabelle user geklickt werden (sieh nachfolgendes Bild). Daraufhin erscheint links oben im SQLAbfragebereich automatisch die SQL-Abfrage „SELECT * FROM `user` u;". Diese wird beim zweiten Doppelklick (oder nach Klick in den Befehl und anschließenden Klick auf den grünen Blitz-Button, dem 4. Symbol in der Werkzeugleiste) ausgeführt und veranlasst das Erscheinen der Ergebnis-Tabelle im unteren linken Fenster, die mindestens die Zeile „localhost root .." enthalten muss, denn so haben Sie sich schließlich angemeldet, wenn Sie meiner Anleitung gefolgt sind:

Alternativ können Sie auch „select * from mysql.user;" selbst ins Abfragefenster links eintippen, das Blitz-Symbol betätigen (während sich der Kursor in der Fragezeile befindet) und die Ergebnistabelle erhalten.
zum Seitenanfang / zum Seitenende
Soll später nicht nur mit dem MySQL-QueryBrowser, sondern auch aus einem Java-Programm auf MySQL bzw. auf MySQL-Datenbanken zugegriffen werden, muss die oben bereits aus dem Archiv mysql-connector-java-5.1.12.zip entpackte Datei mysql-connector-java-5.1.12-bin.jar an einer beliebigen festen Stelle gespeichert werden. Ich habe mir dafür in meinem Verzeichnis C:\JavaEntw einen Unterordner C:\JavaEntw\mysqlconnector angelegt, in den ich die jar-Datei kopiert habe (zu meiner Java-Verzeichnisstruktur vergleiche meine Seite „Informatik mit Java, Teil a"). Egal, wohin die Datei kopiert wurde: Wenn sie nicht zufällig in einem Ordner gespeichert wurde, der schon im Classpath von Java liegt, muss dem Java-System der Aufenthaltsort noch mitgeteilt werden. Bei Verwendung des Javaeditors (hier in der im März 2010 aktuellen Version 9.14j) gelingt dies über den Menüpunkt 'Fenster' > 'Konfiguration' und Anhängen von „;C:\JavaEntw\mysqlconnector\mysql-connector-java-5.1.12-bin.jar;" (bzw. dem Namen der tatsächlich installierten Version) an den bisherigen User-Classpath:

Wird z.B. auch die Bibliothek Stift&Co verwendet (vgl. „Informatik mit Java, Teil a) - dort: Installation und Einrichten des Javaeditors"), so hat der Eintrag für den 'Classpath-User' jetzt ingesamt den Wert
| .;C:\JavaEntw\stiftlib\stift.jar;C:\JavaEntw\mysqlconnector\mysql-connector-java-5.1.12-bin.jar; |
Auf jeden Fall sollte am Anfang des User-Classpath' ein Punkt stehen, damit jeweils das aktuelle Verzeichnis (mit dem gerade geschriebenen Java-Programm) im Blickfeld ist. Mindestens muss der Eintrag also lauten:
| .;C:\JavaEntw\mysqlconnector\mysql-connector-java-5.1.12-bin.jar |
Natürlich sind auch noch zusätzliche Pfade zu anderen Bibliotheken möglich. Ist der Javaeditor entsprechend eingerichtet, können später im Javaeditor erstellte, kompilierte und ausgeführte Java-Programme die MySQL-Datenbanksoftware nutzen und - sofern MySQL zuvor mit dem XAMPP Control Panel gestartet wurde - eigene Daten in Datenbanken ablegen oder aus Datenbanken beziehen. Dies ist oft eine sinnvolle Alternative zum Speichern von Daten in Dateien im java-eigenen Format per ObjectOutputStream (vgl. etwa meine Seite „Informatik mit Java, Teil d) - dort: Dateien in Java").
Wird an Stelle des Javaeditors eine andere Java-Entwicklungsumgebung (wie etwa Eclipse) verwendet, so findet sich auch dort die Möglichkeit, die jar-Datei mysql-connector-java-5.1.12-bin.jar als Bibliotheksdatei in ein Projekt bzw. in alle Projekte einzubinden.
zum Seitenanfang / zum Seitenende
Mit den vorstehenden Installationen und Einrichtungen, die zum Glück nur einmal vorgenommen werden mussten, lässt sich die Software künftig bequem und ohne große Mühe nutzen. Begleitend zum Unterrichtsgang wird sie schon im folgenden Teil 2 auch tatsächlich gebraucht.
zurück zur Informatik-Hauptseite
Weiter zur folgenden Seite „Datenbanken mit MySQL und Java", Teil 2:
Entwurf, Normalisierung und Implementation einschl. ER-Diagramm und SQL-Abfragen