Anhang D Einrichtung der Testdatenbank V Einrichten der Testdatenbank für verschiedene Datenbanksysteme Unsere Testdatenbank liegt in verschiedenen Formaten vor, die vom Verlagsserver heruntergeladen werden können. Wir beschreiben in diesem Abschnitt in Kurzform, wie die jeweiligen Datenbanksysteme aus dem Internet beschafft werden und wie man sie einrichten muss, um unsere Testdatenbank darauf zu installieren. Die jeweiligen Softwareversionen und die Internet-Adressen waren zum Zeitpunkt der Drucklegung des Buchs gültig und können natürlich von den Herstellern jederzeit geändert werden. Wir empfehlen ggf. den Gebrauch einer Suchmaschine, um die entsprechenden Downloadseiten zu finden. Wir beschreiben die Prozeduren beispielhaft meist für das Betriebssystem Windows, in einigen Fällen für Linux. Bei anderen Betriebssystemen gibt es Abweichungen bezüglich Download und Softwareinstallation. V.1 Sybase SQL Anywhere Die Software ist als “Developer Edition” kostenlos verfügbar unter: http://www.sybase.com/products/databasemanagement/sqlan ywhere Man wird aufgefordert, sich für das Download zu registrieren, ansonsten erhält man eine Testlizenz, die nach 60 Tagen endet. Bei der Registrierung muss eine gültige Emailadresse angegeben werden, sonst klappt der folgende Vorgang nicht. Der Registrierungsschlüssel wird per Email übersandt und kann während der Installationsprozedur per “Copy and Paste” in das entsprechende Eingabefeld übertragen werden. Bei der Auswahl der zu installierenden Optionen sollten SQLAnywhere und die Administrationstools dabei sein. Die Installationsprozedur muss vollständig beendet werden. Nach der Installation der Software ruft man unter der Programmgruppe SQLAnywhere/Administrationstools SybaseCentral auf, um Testdatenbank und Benutzer dafür einzurichten. Als erstes richten wir dann eine Datenbank ein. Dazu in SybaseCentral die Menüoption EXTRAS/SQLAnywhere(...)/Datenbank erstellen aufrufen. Der Assistent, der die weitere Installation unterstützt, fragt nach, ob eine Datenbank auf dem lokalen Rechner oder auf einem Server installiert werden soll. Wir wählen den lokalen Rechner. Anhang D Einrichtung der Testdatenbank Die folgende Aufforderung verlangt einen Speicherort (ein Verzeichnis) für die Datenbank-Datei. Wir wählen ein Verzeichnis, auf das Lese- und Schreibzugriff besteht und geben der Datei den Namen Versand12. Bei den folgenden Fragen können wir die Vorgaben übernehmen (u.a. keine Spiegelung, keine Verschlüsselung, ). Unter “zusätzliche Angaben” empfehlen wir die folgenden Einstellungen, insbesondere die Unterscheidung von Gruß-/Kleinschreibung: Abb. D.x Zusätzliche Einstellungen bei SybaseCentral Bei den folgenden Angaben zum Zeichensatz und zur Sortierung können wieder die Vorgaben übernommen werden. Sehr wichtig ist der Bildschirm, auf dem der Benutzername des Datenbank-Administrators und dessen Passwort festgelegt werden. Die Standardwerte, die man einfach übernehmen kann, sind hier Benutzername DBA, Passwort sql. Anhang D Einrichtung der Testdatenbank Abb. D.1.2 Benutzername und Passwort des Administators Nach Beantwortung aller Fragen kann die Datenbank erstellt und gestartet werden. Wir verbinden uns anschließend mit dem SQL-Editor, der uns auch in der Arbeit mit den Übungen begleitet. Er nennt sich ISQL (Interactive SQL) und kann über SybaseCentral im Menüpunkt Extras/SQLAnywhere oder über das (unter Windows) über das Startmenü des Betriebssystems gestartet werden. Dort müssen die Login-Daten wie folgt angegeben werden (Passwort SQL): Abb. D.xx Verbinden mit der neuerstellten Datenbank Anhang D Einrichtung der Testdatenbank Es erscheint dann der Eingabe- und Anwortbildschirm von Interactive SQL. Abb. D.1.xxx Eingabe- und Ausgabebildschirm von Interactive SQL Benutzer und Testdatenbank einrichten Wir können nun Befehle eingeben und ausführen lassen. Als erstes legen wir den Benutzer an, dem die Datenbank, die wir im folgenden erstellen werden, gehört. Er soll den Benutzernamen chef haben und das Passwort versand. Der Befehl dazu lautet: GRANT CONNECT, resource to chef identified by versand; Anschließend wechseln wir die Verbindung und verbinden uns als der neuangelegte Benutzer chef. Dieses erfolgt über die Menü SQL/Trennen und anschließend über SQL/Verbinden: Anhang D Einrichtung der Testdatenbank Abb. D.1.xxx: der neue Benutzer verbindet sich mit der Datenbank. Damit sind wir bereit für die Nutzung der Datenbank. Es ist noch wichtig, darauf hinzuweisen, dass über das Menü Datei vorgefertigte Befehlsdateien geladen werden können. Ebenso können Befehle jederzeit über Datei/Speichern als Textdateien abgelegt werden. Wir empfehlen, für diese Zwecke ein eigenes Arbeitsverzeichnis auf dem Computer zu erstellen, in dem Sie unsere und Ihre eigenen Skriptdateien speichern. Unsere SQL-Skriptdateien können vom Server des Verlags heruntergeladen werden. Sie finden sich dort in dem entsprechende Unterverzeichnis für Sybase. Das Skript zum Anlegen der Tabellen hat den Namen crt12Sybase.sql. Das Skript, mit dem die Beispieldaten erzeugt werden, hat den Namen ins12Sybase.sql. V.2 Oracle 11g XE Die kostenlose Entwicklerversion ist verfügbar unter: Anhang D Einrichtung der Testdatenbank www.oracle.com/technetwork/database/expressedition/downloads/index.html Der Lizenzvereinbarung stimmt man zu und wählt dann die passende Version aus. Falls man noch kein registrierter Oracle Benutzer ist, beantragt man einen kostenloses Benutzerkonto an. Ansonsten meldet man sich mit Benutzername und Passwort an. Die Installationsdatei kann dann heruntergeladen und auf dem Rechner in einem geeigneten Verzeichnis mit Lese- und Schreibrechten gespeichert werden. Dort muss man sie zunächst extrahieren, um dann die Installationsdatei (im Unterverzeichnis DISK1 enthalten) zu starten. Auch hier wird noch einmal die Anerkennung der Lizenzvereinbarung verlangt. Achtung Nach Auswahl des Installationsverzeichnisses wird die Eingabe des Passworts für SYS und SYSTEM verlangt. Traditionell verwendet Oracle hier als Passwort manager Abb. xxx: Eingabe des Passworts für die Systemverwalter Entweder man verwendet dieses oder merkt sich gut, was man hier hineinschreibt. Der Benutzer SYSTEM wird benötigt, um das System zu verwalten, unter anderem, um andere Datenbankbenutzer anzulegen und mit Rechten auszustatten. Das wird eine der nächsten Aktionen sein. Kein Fehler ist es, wenn man sich die Ports notiert, die Oracle festlegt, da wir mit einer Webanwendung auf die Datenbank zugreifen. Anhang D Einrichtung der Testdatenbank 1521 für den Listener 8080 für den HTTP-Listener Nach der fertigen Installation sollte im Startmenü bzw. unter Linux unter Anwendungen ein Eintrag „Oracle Database 11g Express Edition” und darunter ein Programmsymbol „Oracle XE get started” erscheinen. Letzteres rufen wir auf und werden dann zum Webinterface geleitet. Die URL lautet sinngemäß localhost:8080/apex Es lohnt sich ggf., diese als Lesezeichen bzw. Favoriten im Webbrowser abzulegen. Die Einstiegsseite ist etwas verwirrend: Abb. xxx: Einstiegsbildschirm nach Aufruf von ORACLE XE get started Wir wählen die Schaltfläche [Application Express] und werden dann aufgefordert, uns als Systemverwalter anzumelden (system mit Passwort manager, wenn unserer Empfehlung gefolgt wurde). Benutzer und Testdatenbank einrichten Als nächstes legen wir einen „Workspace” an, wir schlagen als Benutzernamen fpr die Datenbank und für Application Express chef vor, als Passwort versand. Anhang D Einrichtung der Testdatenbank Abb. xxx: Erzeugen eines Workspace Erhalten wir dann eine Meldung wie: Successfully created workspace CHEF. To begin, click here to login, dann können wir uns mit den eben festgelegten Benutzerdaten anmelden. Abb. xxx: Anmelden im neuangelegten Arbeitsbereich Ist die Anmeldung erfolgreich bewältigt, sehen wir eine Auswahl wie: Anhang D Einrichtung der Testdatenbank Abb. xxx: Hauptauswahl im Application Express Wir wählen SQL Workshop und sehen dann eine Unterauswahl. Abb. xxx: Auswahlmöglichkeiten im SQL Workshop Einfache Kommandos können nun unter SQL Commands eingegeben und ausgeführt werden, für Befehlsdateien wie die, mit denen wir unsere Beispieldatenbank anlegen, benutzt man SQL Scripts. Die Skriptdateien muss man dann vor der Benutzung von einem lokalen Datenträger hochladen (upload). Anhang D Einrichtung der Testdatenbank Abb. xxx: Hochladen einer Textdatei mit SQL-Befehlen (Script) V.3 MySQL Die Software erhält man zum Download über: http://www.mysql.de/downloads/mysql/ Man wählt das Betriebssystem aus und danach Version und Installationsart (bei Windows beispielsweise per *.zip oder per *.msi) , danach ggf. den Server, von dem man das Download anfordert. Nach Aktivierung der Installationsdatei wählt man den Typ aus - wir entscheiden uns hier für „custom”, um beispielsweise das Installationsverzeichnis selbst festlegen zu können. Die Auswahl der Komponenten haben wir nicht verändert. Abb. xxx: Setup-Optionen für MySQL Die Frage:”launch the configuration wizard” quittieren wir mit einem Häkchen und werden dann zur Konfiguration des Servers weitergeleitet, wo wir uns für „Detailled Configuration” entscheiden. Wir wählen die Op- Anhang D Einrichtung der Testdatenbank tion „Developer Machine”. Die nächste Frage gilt der DatenbankBestimmung; wir entscheiden uns für „Multifunctional Database”. Wichtig ist bei allen Auswahlpunkten, dass die ausgewählte Datenbankmaschine InnoDB ist! MySQL bietet verschiedene Möglichkeiten, aber nur InnoDB unterstützt die Implementation von Integritätsbedingungen unter SQL. Nicht unwichtig ist die Auswahl des Speicherorts für die Datenbankdateien. Abb. xxx: Konfiguration der Serverinstanz Beim nächsten Schritt wird gefragt, für welche Zwecke die Datenbank optimiert werden soll. Hier ist „Online Transaction Processing” die richtige Wahl für uns. Bei der nächsten Einstellung wird ein Port für Zugriffe über TCP/IP vorgeschlagen, den man sich merken bzw. notieren sollte. Standard ist 3306. Falls dieser Port bereits in Gebrauch ist, erhält man eine Fehlermeldung und kann einen anderen wählen , z.B. 3308. Anhang D Einrichtung der Testdatenbank Abb.: Port für TCP/IP Zugriff Beim Characterset können wir die Vorgaben übernehmen. Ob MySQL als Windows Service installiert werden soll, bejahen wir, ebenso, dass das Programmverzeichnis in den Pfad aufgenommen werden soll. Hier gibt es natürlich Abweichungen bei anderen Betriebssystemen. Anhang D Einrichtung der Testdatenbank Abb. xxx: Start als Service und Pfadangabe Wir werden sodann aufgefordert, das root-Passwort festzulegen. Dieses sollte sorgfältig gewählt und notiert werden, da der Zugang als Systemverwalter nachher benötigt wird, um normale Benutzer anzulegen. Wir wählen beispielsweise manager als Passwort. Wir finden anschließend bei Windows im Startmenü einen Eintrag für MySQL Server und den Commandline Client. Damit kann man arbeiten, allerdings nicht sehr komfortabel. Wir rufen den Command line Client auf und geben das rootPasswort ein: Handbücher zu den MySQL und den verfügbaren Befehlen findet man unter: http://dev.mysql.com/doc/#manual Anhang D Einrichtung der Testdatenbank Abb. xxx: MySQL Command Line Client nach Eingabe des root-Passworts Benutzer und Testdatenbank einrichten Mehr Komfort erhält man, wenn man die Workbench installiert. Dazu später mehr. Wir erzeugen von der Kommandozeile aus einen neuen Benutzer chef mit dem Passwort versand. Dieser Benutzer soll die Übungsdatenbank anlegen. CREATE USER 'chef' IDENTIFIED BY 'versand'; Um zu erfahren, welche Datenbanken uns nach der Installation zur Verfügung stehen, hilft das Kommando: show databases; Wir erzeugen unsere Übungsdatenbank CREATE DATABASE versand; Anschließend gewähren wir dem Benutzer chef die Erlaubnis, in dieser Datenbank Tabellen anzulegen, dort Daten einzugeben, abzufragen, zu verändern und zu löschen. GRANT CREATE, INSERT, SELECT, UPDATE, DELETE, DROP ON versand.* TO 'chef'; Um als dieser Benutzer mit der Datenbank arbeiten zu können, muss die mysql Kommandoshell neu gestartet werden: Anhang D Einrichtung der Testdatenbank mysql -uchef -p In der Kommandooberfläche schalten wir dann um auf unsere - immer noch leere - Testdatenbank: use versand Die Anlage der Tabellen geschieht nun mit der Skriptdatei1 createTable12mysql.sql Der Aufruf einer Befehlsdatei - einer Textdatei, die SQL-Befehle enthält -, von der Kommandozeile aus geschieht mit dem Befehl source, gefolgt vom Dateinamen inclusive Pfadangabe. Um also das obige Skript auszuführen, müsste man eintippen: source F:\versand12\createtable12.sql wobei wir angenommen haben, dass die Skriptdatei auf Laufwerk F: im Verzeichnis \versand12 zu finden ist. Der Leser möge dies auf seine Konfiguration anpassen. Welche Tabellen damit angelegt wurden, kann man mit dem Kommando show tables erfahren. Die Ausgabe lautet dann in etwa so: mysql> show tables; +-------------------+ | Tables_in_versand | +-------------------+ | artikel | | bestellposition | | bestellung | | girokonto | | kunde | | mwstsatz | +-------------------+ Die Dateninhalte werden schließlich mit der Befehlsdatei insert12.sql Sie kann vom Verlagsserver heruntergeladen werden. Daneben werden nochen die Datei droptable.sql und insert12mysql.sql sowie delete.sql benötigt. 1 Anhang D Einrichtung der Testdatenbank eingelesen. Wir haben die Installation und den Gebrauch von MySQL nur in der einfachsten Installation beschrieben. Die Arbeit mit der Kommandozeile ist nicht sehr komfortabel. Wer den üblichen Komfort einer grafischen Benutzeroberfläche genießen will, kann die MySQL Workbench herunterladen und installieren. 2 Dort muss man dann als erstes eine Verbindung einrichten, wobei der bei Installation angegeben Port einzutragn ist. Wir unterstellen nun allerdings, dass der Datenbankbenutzer chef mit dem Passwort versand bereits angelegt wurde. Abb. xxx: Anlegen einer neuen Datenbankverbindung in MySQL Workbench Die neue Verbindung sollte dann zum Öffnen per Doppelklick bereit sein. Es öffnet sich dann der SQL Editor, in dem man über /File/Open SQL Script die oben genannten Befehlsdateien laden und zur Ausführung bringen kann. Die Adresse lautet zum Zeitpunkt der Drucklegung dieses Buchs http://dev.mysql.com/downloads/workbench/5.2.html 2 Anhang D Einrichtung der Testdatenbank Abb.: SQL Editor in der MySQL Workbench V.4 Microsoft SQL Server Express Die Express Variante der Microsoft SQL Datenbank ist kostenlos erhältlich und kann unter http://www.microsoft.com/germany/express/products/datab ase.aspx für Windows-Betriebssysteme heruntergeladen werden. Das heruntergeladene Installationsprogramm wird anschließend ausgeführt. Die Installationsprozedur ist recht komplex. Wir wählen auf der ersten Seite des Installtionsassistenten zunächst „Neuinstallation oder Hinzufügen von Funktionen ...”. Unter den auszuwählenden Funktionen sind die Datenbankmoduldienste und die Verwaltungstools einfach die Wichtigen. Die Verzeichnisse für freigegebene Funktionen kann man nicht nach eigenem Gutdünken einstellen. Wir übernehmen daher die Vorgaben von Microsoft. Wir legen für den Dienst SQL Server Database Engine mit dem Kontonamen NT_AUTHORITY\NETWORK_SERVICE kein Passwort fest. Der Authentifizierungsmodus kann auf der Einstellung Windows- Authentifizierungsmodus bestehen bleiben, sodass der Datenbank-Administrator sich nicht eigens beim Datenbankserver anmelden muss. Anhang D Einrichtung der Testdatenbank Nach erfolgreicher Installation und Konfiguration starten wir das „Microsoft SQL Server Management Studio” Wählen ein Passwort, das Groß- und Kleinbuchstaben sowie Sonderzeichen enthält, z.B. Ver.sand12#