Das Erstellen einer Datenbank ist ganz einfach. Noch aber ist
die Datenbank leer, wie Sie mit SHOW TABLES
nachprüfen können:
mysql> SHOW TABLES;
Empty set (0.00 sec)
Schwieriger zu entscheiden ist hingegen, wie die Struktur der Datenbank aussehen soll: Welche Tabellen brauchen Sie? Und welche Spalten sollen in diesen Tabellen enthalten sein?
Sie brauchen eine Tabelle, die einen Datensatz für jedes Ihrer
Haustiere enthält. Diese Tabelle könnte man
haustier
nennen; sie sollte zumindest den
Namen jedes Tieres enthalten. Da der Name an sich aber nicht
besonders interessant ist, sollte die Tabelle auch weitere
Informationen enthalten. Wenn beispielsweise mehrere Personen in
Ihrer Familie Haustiere halten, würde es sich anbieten, die
Besitzer der einzelnen Tiere aufzuführen. Ferner könnten
einige grundlegende Beschreibungen eingetragen werden, z. B. die
Tierart und das Geschlecht.
Und das Alter der Tiere? Das könnte zwar interessant sein, die Speicherung in einer Datenbank ist jedoch problematisch. Da sich das Alter im Laufe der Zeit ändert, müssten Sie Ihre Datensätze regelmäßig aktualisieren. Stattdessen ist es besser, einen festen Wert wie etwa das Geburtsdatum zu speichern. Wann immer Sie dann das Alter eines Tieres in Erfahrung bringen wollten, müssten Sie nur die Differenz zwischen dem aktuellen Datum und dem Geburtsdatum errechnen. MySQL bietet Funktionen, die derartige Rechenaufgaben erledigen können, sodass dies nicht weiter schwierig ist. Das Speichern des Geburtsdatums statt des Alters hat aber auch weitere Vorteile:
Sie können die Datenbank für Aufgaben wie das automatische Erinnern an anstehende Tiergeburtstage verwenden. (Wenn Sie der Ansicht sind, dass eine solche Abfrage etwas albern ist, dann beachten Sie, dass Sie dieselbe Frage im Kontext einer Unternehmensdatenbank verwenden könnten, um Kunden zu ermitteln, denen Sie demnächst Geburtstagsgrüße senden wollen – die persönliche Note mit freundlicher Unterstützung Ihrer Datenbank.)
Sie können das Alter auch in Relation zu anderen als dem aktuellen Datum berechnen. Wenn Sie etwa das Sterbedatum eines Tieres in der Datenbank ablegen, können Sie ganz leicht berechnen, wie alt es bei seinem Tod war.
Sie können sich wahrscheinlich eine Reihe andere
Informationstypen vorstellen, die in der Tabelle
haustier
von Nutzen sein könnten, aber die
bisher genannten sollen fürs Erste ausreichen: Name, Besitzer,
Tierart, Geschlecht, Geburts- und Sterbedatum.
Das Layout Ihrer Tabelle legen Sie mit einer CREATE
TABLE
-Anweisung fest:
mysql>CREATE TABLE haustier (name VARCHAR(20), besitzer VARCHAR(20),
->gattung VARCHAR(20), geschlecht CHAR(1), geburtstag DATE, todestag DATE);
VARCHAR
ist eine geeignete Wahl für die
Spalten name
, besitzer
und
gattung
, denn die Werte dieser Spalten
können in der Länge variieren. Die Längen in diesen
Spaltendefinitionen müssen weder identisch sein noch alle den
Wert 20
haben. Sie können eine beliebige
Länge zwischen 1
und
65535
eingeben – je nachdem, was Ihnen am
sinnvollsten erscheint. Haben Sie jedoch eine falsche
Entscheidung getroffen und es stellt sich später heraus, dass
Sie ein längeres Feld benötigen, dann bietet MySQL hierfür
die ALTER TABLE
-Anweisung an.
Zur Auswahl des Geschlechts Ihrer Tiere bieten sich mehrere
Wertetypen an, z. B. 'm'
und
'w'
oder auch 'männlich'
und 'weiblich'
. Am einfachsten ist die
Verwendung der Einzelzeichen 'm'
und
'w'
.
Der Datentyp DATE
ist offensichtlich am
geeignetsten für die Spalten geburtstag
und
todestag
.
Wenn Sie eine Tabelle erstellt haben, sollte die Anweisung
SHOW TABLES
eine entsprechende Ausgabe
erzeugen:
mysql> SHOW TABLES;
+---------------------+
| Tables in menagerie |
+---------------------+
| haustier |
+---------------------+
Um zu überprüfen, dass Ihre Tabelle wie gewünscht erstellt
worden ist, verwenden Sie eine
DESCRIBE
-Anweisung:
mysql> DESCRIBE haustier;
+------------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+------------+-------------+------+-----+---------+-------+
| name | varchar(20) | YES | | NULL | |
| besitzer | varchar(20) | YES | | NULL | |
| gattung | varchar(20) | YES | | NULL | |
| geschlecht | char(1) | YES | | NULL | |
| geburtstag | date | YES | | NULL | |
| todestag | date | YES | | NULL | |
+------------+-------------+------+-----+---------+-------+
Sie können DESCRIBE
auch jederzeit aufrufen,
wenn Sie die Spaltennamen Ihrer Tabelle oder die verwendeten
Datentypen vergessen haben.
Weitere Informationen zu MySQL-Datentypen finden Sie in Kapitel 11, Datentypen.
Dies ist eine Übersetzung des MySQL-Referenzhandbuchs, das sich auf dev.mysql.com befindet. Das ursprüngliche Referenzhandbuch ist auf Englisch, und diese Übersetzung ist nicht notwendigerweise so aktuell wie die englische Ausgabe. Das vorliegende deutschsprachige Handbuch behandelt MySQL bis zur Version 5.1.