| | Dieses Tutorial soll Anfängern in Grundzügen die Erstellung und Bearbeitung
von Datenbanken im WWW erklären. Die Werkzeuge mit denen wir hier arbeiten heißen
PHP3, Apache und MySQL (Windows- Test- Plattform). Wer diese noch nicht
installiert hat, der schaue bitte unter Installation nach.
Die Anleitung richtet sich vor allem an Windows- Developer, d.h. User, die auf
Windows-Maschinen fürs Web entwickeln wollen. Portierbarkeit auf UNIX ist später
kein Problem, das läuft dann schon. Daher gehe ich im folgenden aber als
Kommandoeingabe auch vom MSDOS - Eingabeaufforderung aus, und nicht von TELNET
oder der UNIX-SHELL.
(1) Erste Überlegungen:
Wir wollen im folgenden eine Datenbank erstellen, in der wir alle Daten eines
WWW-Flohmarktes speichern können. Der Flohmarkt basiert natürlich - für Anfänger
- auf ganz simplen Techniken, das heißt Profis werden vielleicht schmunzeln.
Aber darum geht's nicht. Es soll ja nur ein Einstieg sein.
Folgende Anforderungen werden an die Datenbank gestellt:
- Es sollen natürlich alle Flohmarkt Angebote/Gesuche abrufbar sein
- Es soll dem Benutzer möglich sein, eigene Angebote/Gesuche einzugeben.
- Es soll dem Administrator möglich sein, unliebsame Angebote zu entfernen.
D.h. wir überlegen uns die Struktur der Datenbank:
Laufende Eintrags-Nummer
Name
Vorname
Email-Adresse
Datum des Eintrages
Das Angebot/Gesuch selber
Preisvorstellung
Eine Variable, die besagt, ob es ein Angebot oder Gesuch ist
(2) Datenbank und Tabellen erzeugen:
Also setzen wir die Datenbank um. Auf der Kommandozeile wandern wir in das c:\mysql\bin
- Verzeichnis und geben dort den Befehl
mysqladmin -u root create flohmarkt
ein.
Damit wird die Datenbank flohmarkt erzeugt. Das "-u root" zeigt an,
dass wir die Datenbank als -user root erzeugen. Inder Datenbank flohmarkt
erzeugen wir nun eine Tabelle namens "eintraege".
So erzeugen wir die Tabelle "eintraege": "mysql" in der
Kommandoeingabe eingeben. Dann erhalten wir etwa folgende Nachricht:
Welcome to the MySQL-Monitor.Commands ends with ; or \g.
Your MySQL-Connection id is 3 to server version : 3.21.29a gamma-debug
Type 'help' for help.
mysql>
unsere Eingabe lautet nun:
CREATE TABLE eintraege (
id tinyint(4) DEFAULT '0' NOT NULL AUTO_INCREMENT,
name varchar(80),
vorname varchar(80),
email varchar(120),
datum datetime DEFAULT '0000-00-00 00:00:00' NOT NULL,
eintrag longblob,
preis float(10,2),
goa tinyint (4) DEFAULT '0' NOT NULL,
PRIMARY KEY (id)
);
Erläuterung:
Die Felder in einer Datenbank werden immer nach demselben Muster aufgebaut:
Bezeichner, Typ (Länge). Zusätzlich können ein DEFAULT-Wert, ein Zwang zu
"Nicht-Null" und die "automatisch Index-Erhöhung" angegeben
werden. Es gibt noch mehr Features, aber darauf gehe ich jetzt nicht ein.
Konkret:
Pflücken wir das obige mal auseinander.
"id" = Bezeichner,
"tinyint (4)" = Typ [kleiner Integer]Länge [4],
"DEFAULT"- Wert = 0,
"NOT NULL" = Erwartet Eingabe, Soll nicht Null sein.
"AUTO_INCREMENT" = Soll sich automatisch erhöhen.
Der Primärschlüssel ist in der letzen Zeile auf den Bezeichner "id"
gesetzt worden.
Zu weiteren Erklärungen zur MySQL-Syntax und Grundlagen verweisen ich auf http://www.jugendnetz-ffm.de/privat/reeg/DSP/
|