Galileo Computing < openbook >
Galileo Computing - Professionelle Buecher. Auch fuer Einsteiger.
Galileo Computing - Professionelle Buecher. Auch fuer Einsteiger.


Kompendium der Informationstechnik
 von Sascha Kersken
EDV-Grundlagen, Programmierung, Mediengestaltung
Buch: Kompendium der Informationstechnik
gp Kapitel 7 Datenbanken
  gp 7.1 Übersicht über Datenbanktypen
    gp 7.1.1 Einzeltabellendatenbanken
    gp 7.1.2 Relationale Datenbanken
    gp 7.1.3 Objektorientierte Datenbanken
  gp 7.2 MySQL – ein konkretes DBMS
    gp 7.2.1 MySQL installieren und konfigurieren
    gp 7.2.2 Erste Schritte mit MySQL
  gp 7.3 SQL-Abfragen
    gp 7.3.1 Datenbanken und Tabellen erzeugen
    gp 7.3.2 Auswahlabfragen
    gp 7.3.3 Einfüge-, Lösch- und Änderungsabfragen
  gp 7.4 Grundlagen der Datenbankprogrammierung
  gp 7.5 Zusammenfassung

gp

Prüfungsfragen zu diesem Kapitel (extern)


Galileo Computing

7.2 MySQL – ein konkretes DBMS  downtop

Im vorliegenden Abschnitt werden die Installation, die Konfiguration und die ersten Schritte mit einem konkreten relationalen Datenbanksystem besprochen. Es handelt sich um die weit verbreitete, beliebte Datenbank MySQL. Dieses System habe ich ausgewählt, weil Sie es kostenlos herunterladen und leicht installieren können, und es in Zusammenarbeit mit der Programmiersprache PHP die Grundlage vieler dynamischer Websites bildet. Die MySQL-Programmierung in PHP wird in Kapitel 18, Serverseitig dynamische Websites, erläutert.

RDBMS-Arten

Da relationale Datenbankverwaltungssysteme das verbreitetste Datenbankmodell sind, gibt es Unmengen von Produkten, die diesem Standard entsprechen. Man kann sie grob in folgende Gruppen unterteilen:

gp  Desktop-Datenbanken sind Datenbankanwendungen, die für die Datenverwaltung am Einzelplatz oder in kleinen Arbeitsgruppen geeignet sind. Sie bieten in der Regel eine grafische Benutzeroberfläche, die die Tabellen und Abfragen übersichtlich und einfach darstellt, und ermöglichen das einfache Erzeugen von Eingabemasken und ausdruckbaren Berichten. Bekannte Beispiele für Desktop-Datenbanksysteme sind das in der Microsoft-Office-Familie integrierte Programm Access oder die aus dem Mac-Bereich stammende, inzwischen auch für Windows verfügbare Datenbank FileMaker.
gp  Kommerzielle Datenbankserver werden insbesondere für verteilte Unternehmensanwendungen eingesetzt. Es handelt sich um komplexe und sehr teure modular erweiterbare Systeme. Bekannte Beispiele sind Oracle, Microsoft SQL Server oder IBM DB2. Im erweiterten Sinn gehören auch Branchenlösungen oder Warenwirtschaftssysteme wie SAP R/3 dazu, weil sie alle auf speziell angepassten Datenbanken basieren.
gp  Freie Datenbankserver sind eine günstige Alternative zu den kommerziellen Produkten. Die bekanntesten Open-Source-Datenbanksysteme sind das hier vorgestellte MySQL und PostgreSQL.

Galileo Computing

7.2.1 MySQL installieren und konfigurieren  downtop

MySQL können Sie auf der Website des Anbieters (der schwedischen Firma MySQL AB), www.mysql.com, herunterladen. Die Datenbank wird zurzeit für Windows und die meisten UNIX-Varianten inklusive Mac  OS X angeboten. Dieser Unterabschnitt konzentriert sich auf die Installation unter Windows. Unter den meisten Linux-Distributionen ist MySQL bereits installiert; für Mac  OS X wird ein komfortabler Paket-Installer angeboten.

MySQL installieren

Die aktuelle Version von MySQL ist 4.0. Bei dem Download-Paket für Windows handelt es sich um ein ZIP-Archiv. Nachdem Sie es mit WinZip oder einem anderen Programm entpackt haben, müssen Sie den in dem ausgepackten Ordner enthaltenen Installer setup.exe ausführen. Dieser fragt insbesondere, wohin MySQL installiert werden soll und welche Teile des Pakets Sie benötigen. Für den Rest dieses Abschnitts wird davon ausgegangen, dass Sie das Programm unter C:\MySQL installiert haben.

Nachdem Sie die Installation beendet haben, können Sie den MySQL-Server starten. Das zuständige Programm trägt den Namen mysqld.exe und befindet sich im Ordner C:\MySQL\bin. Einfacher funktioniert der Start des Servers über das im gleichen Ordner befindliche Tool winmysqladmin.exe. Dieses Programm fragt beim ersten Start einige Parameter ab, insbesondere einen Benutzernamen und ein Passwort für die Datenbankverbindung. Es ist besonders wichtig, diese Werte einzutragen, wenn Sie die Datenbank über ein Netzwerk verwenden, weil sonst jemand anders unberechtigt darauf zugreifen könnte.

Nachdem Sie die Grundkonfiguration über winmysqladmin durchgeführt haben, wird im SysTray (neben der Uhr in der Taskleiste) eine kleine Ampel angezeigt, die den schnellen Zugriff auf das Tool ermöglicht. Der Server wird so eingerichtet, dass er bei jedem Start von Windows automatisch hochgefahren wird.

Die Interaktion mit dem MySQL-Server erfolgt über einen passenden Client. Mit dem Server mitgeliefert wird der Kommandozeilenclient mysql.exe, den Sie ebenfalls im Ordner C:\MySQL\bin finden. Nachdem Sie ihn in einem Konsolenfenster gestartet haben, können Sie verschiedene Befehle manuell eingeben.

Erheblich komfortabler sind grafische Clients. Die klassische Lösung ist PHPMyAdmin, den Sie unter www.phpmyadmin.net herunterladen können. Allerdings erfordert er einen installierten Apache-Webserver und die Verfügbarkeit der Programmiersprache PHP. Die Installation dieser Software wird in Kapitel 14, Netzwerkanwendung, beschrieben. Nach der Installation im Apache-Wurzelverzeichnis können Sie ihn über einen Webbrowser folgendermaßen aufrufen:

http://127.0.0.1/phpmyadmin

Die Adresse 127.0.0.1 bezeichnet jeweils den lokalen Rechner. Das Konzept der Internetadressen wird in Kapitel 13, Netzwerkhardware und -protokolle, behandelt. PHPMyAdmin bietet Ihnen ein komfortables Frontend für das Erstellen von Datenbanken und Tabellen sowie für die Ausführung beliebiger SQL-Abfragen.

MySQL CC

Der neueste grafische Client für MySQL ist das MySQL Control Center, das Sie – bisher noch in der Betaversion – ebenfalls unter www.mysql.com herunterladen können. Das Programm läuft lokal auf Ihrem Rechner und benötigt weder einen Webserver noch einen Browser.


Galileo Computing

7.2.2 Erste Schritte mit MySQL  toptop

In diesem kurzen Unterabschnitt wird gezeigt, wie Sie mit Hilfe des MySQL Control Centers die drei Beispieltabellen ADRESSEN, ARTIKEL und KAEUFE erstellen und eine einfache Auswahlabfrage darauf ausführen können. Die verschiedenen Felddatentypen und andere Feinheiten werden weiter unten im Abschnitt SQL-Abfragen erläutert.


Abbildung 7.2   Die Oberfläche des MySQL Control Centers

Abbildung
Hier klicken, um das Bild zu Vergrößern


Datenbankverbindung herstellen

Als Erstes wird im MySQL Control Center eine Datenbankverbindung eingerichtet – standardmäßig auf dem lokalen Rechner. Sie können über das Tool allerdings auch durchaus eine MySQL-Datenbank auf einem entfernten Host in Ihrem Netzwerk oder im Internet administrieren. Wichtig ist, dass Sie auf der zweiten Registerkarte der Verbindungseinstellungen, MySQL Options, den Eintrag »Automatically limit SELECT queries to« auf einen hohen Wert wie beispielsweise 1.000 setzen – der Standardwert 1 produziert bei der Anzeige jeder Tabelle mit mehr als einem Datensatz eine Fehlermeldung! Zum Schluss können Sie die Verbindung mit Test prüfen und mit Add hinzufügen. Über Action • Connect oder den entsprechenden Button in der Symbolleiste wird die Verbindung hergestellt.

In Abbildung 7.2 sehen Sie ein Screenshot der Oberfläche von MySQL CC. Wählen Sie zunächst den Menübefehl Action • New Database, um eine neue Datenbank anzulegen. Geben Sie als Titel für die Datenbank SUPERMARKT ein. Klicken Sie nun im linken Fensterbereich den Eintrag Tables unter der neuen Datenbank SUPERMARKT an und wählen Sie Action • New Table, um eine Tabelle darin anzulegen.

Tabellen anlegen

Geben Sie unter der Registerkarte Table Properties den Tabellennamen ADRESSEN ein. Im oberen Fensterbereich können Sie nun die verschiedenen Felder der Tabelle einrichten. Unter der Registerkarte Field Properties können zusätzliche Feldeigenschaften definiert werden.

Geben Sie in der ersten Zeile die Feldbezeichnung NR ein und wählen Sie unter Data Type den Wert »int« für eine ganze Zahl aus. Klicken Sie anschließend auf das Schlüsselsymbol, um das Feld als Primärschlüssel festzulegen. Kreuzen Sie unter Field Properties den Eintrag AUTO_INCREMENT an, der für ein automatisches Durchnummerieren der Schlüsselwerte sorgt.

Die Werte für die restlichen Felder entnehmen Sie bitte der Tabelle 7.8.


Tabelle 7.8   Die Felder der Datenbanktabelle ADRESSEN

Feldname Datentyp Eigenschaften
NR INT Primärschlüssel, auto_increment
NAME CHAR Länge 50, Index
STRASSE CHAR Länge 50
HAUSNR CHAR Länge 10
PLZ CHAR Länge 5
ORT CHAR Länge 40, Index

Indizes einrichten

Die Indizes für die Felder, die mit »Index« bezeichnet sind, werden unter der Registerkarte Indexes eingerichtet. Klicken Sie rechts auf die Schaltfläche »+«, um einen neuen Index zu erzeugen. Geben Sie einen Namen für den entsprechenden Index ein; für gewöhnlich bietet sich jeweils der Feldname an. Fügen Sie das gewünschte Feld durch Klick auf den nach rechts zeigenden Pfeil hinzu. Die drei möglichen Indextypen (abgesehen vom bereits erläuterten Primärschlüssel) sind:

gp  INDEX – die Spalte wird ohne weitere Optionen indiziert.
gp  UNIQUE – ähnlich dem Primärschlüssel darf der Wert eines solchen Felds in der gesamten Datenbank jeweils nur einmal vorkommen.
gp  FULLTEXT – die Volltextsuche bietet erweiterte Suchmöglichkeiten für Felder mit umfangreichen Textinhalten.

Abbildung 7.3   Die Tabelle ADRESSEN im MySQL CC

Abbildung
Hier klicken, um das Bild zu Vergrößern


Wenn Sie die obigen Felder korrekt eingerichtet haben, sieht das Fenster nun so aus wie in Abbildung 7.3. Klicken Sie zum Schluss auf das Diskettensymbol, um die Tabelle zu speichern.

Legen Sie als Nächstes die Datenbanktabelle ARTIKEL mit den folgenden Feldern an (Tabelle 7.9):


Tabelle 7.9   Die Felder der Datenbanktabelle ARTIKEL

Feldname Datentyp Eigenschaften
ARTNR INT auto_increment, Primärschlüssel
ARTNAME CHAR Länge 30, Index
PREIS INT  
MWST ENUM Werte: '7', '16'

Die Werte für den Aufzählungstyp ENUM werden übrigens als Liste '7', '16' in das Feld Value unter Field Properties eingetragen. Den Preis ganzzahlig in Cent (Datentyp INT) anzugeben und erst später bei der Ausgabe in Euro darzustellen, schont übrigens Zeit und Ressourcen.

Richten Sie als Letztes die Tabelle KAEUFE mit folgenden Feldern ein (Tabelle 7.10):


Tabelle 7.10   Die Felder der Datenbanktabelle KAEUFE

Feldname Datentyp Eigenschaften
KAUFNR INT auto_increment, Primärschlüssel
NR INT  
ARTNR INT  
STUECK INT  
DATUM DATE  

Im nächsten Schritt können Sie die in Tabelle 7.2 bis 7.4 dargestellten Datensätze oder beliebige andere Werte in die drei Datenbanktabellen eintragen. Doppelklicken Sie dazu links in der Übersicht auf die jeweilige Tabelle. Einen Datensatz können Sie über Query • Insert Record oder mit Hilfe des entsprechenden Buttons in der Symbolleiste einfügen. Denken Sie daran, die Eingabe der Felder eines Datensatzes mit (Enter) abzuschließen und die Tabelle zu speichern, wenn Sie alle gewünschten Datensätze hinzugefügt haben.

SQL-Abfragen eingeben

Um eine Tabelle später anzusehen, zu modifizieren oder zu erweitern, können Sie sie in der Übersicht erneut doppelklicken. Komplexere Datenbankabfragen können Sie über das SQL-Fenster eingeben, das Sie über den SQL-Button öffnen können. Geben Sie die folgende Abfrage, die im nächsten Absatz genauer erläutert wird, in das SQL-Fenster ein:

SELECT KAUFNR, NAME, ARTNAME, STUECK, STUECK * PREIS AS GESAMTPREIS 
FROM ADRESSEN, ARTIKEL, KAEUFE 
WHERE ADRESSEN.NR = KAEUFE.NR AND ARTIKEL.ARTNR = KAEUFE.ARTNR

Klicken Sie anschließend auf den »!«-Button, um diese Auswahlabfrage auszuführen. Das Ergebnis wurde bereits in Tabelle 7.5 dargestellt.

  

Einstieg in PHP 5

Einstieg in Java

C von A bis Z

Einstieg in C++

Einstieg in Linux

Einstieg in XML

Apache 2




Copyright © Galileo Press GmbH 2004
Für Ihren privaten Gebrauch dürfen Sie die Online-Version natürlich ausdrucken. Ansonsten unterliegt das <openbook> denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.


[Galileo Computing]

Galileo Press GmbH, Gartenstraße 24, 53229 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, info@galileo-press.de