Derzeit online: ca. 26 User  
Spenden via PayPal Es ist geschafft! PHP für dich ist ab sofort auch als Buch erhältlich. Endlich im handlichen Format, zum Nachschlagen, mitnehmen oder gemütlich nebenbei lesen. Mit noch mehr Informationen und zusätzlichen Beispielen!
Jetzt bei Amazon oder BoD bestellen!


MySQL

Eine Datenbank...

... mit vielen Tabellen.

Eigentlich arbeiten wir nicht direkt mit Datenbanken, sondern mit den Tabellen, die sich darin befinden. So kann eine Datenbank aus vielen Tabellen bestehen und die Datenbank ist eigentlich nicht mehr als ein Ordner, in dem sich alle diese Tabellen befinden.

Die Datenbank wird üblicherweise direkt vom Hoster angelegt oder wir haben sie bereits über das Kundenmenü erstellt. In der phpMyAdmin sehen wir auf der linken Seite alle unsere Datenbanken. Wenn wir nur eine haben, sehen wir auch gleich die dazugehörigen Tabellen, sonst müssen wir zuerst die Datenbank aussuchen, mit der wir arbeiten wollen. Da in unserer Datenbank noch keinerlei Tabellen sind, legen wir jetzt eine an.

Dabei können wir entweder mit SQL-Anweisungen arbeiten oder eine bequeme Benutzeroberfläche nutzen. Der Weg über die SQL-Anweisung ist der schnellere - jedoch muss man dafür auch Ahnung von SQL haben :-) Wir machen es also über die Benutzeroberfläche.

Wir wählen dafür zuerst unsere Datenbank aus indem wir links darauf klicken oder sie je nach Version aus einem Dropdown-Feld auswählen. Ganz unten auf der Seite finden wir jetzt Neue Tabelle in Datenbank DB-NAME erstellen: und vergeben einen Tabellennamen. Außerdem müssen wir festlegen, wieviele Spalten wir brauchen.

Aus dem Grund ist es sinnvoll, sich zunächst zu überlegen, was man in der Tabelle braucht.

Es ist vernünftig in jeder Tabelle eine so genannte ID zu verwenden, die jeden Datensatz eindeutig identifiziert. Alle anderen Felder richten sich nach der Verwendung der Datenbank.

Ich werde jetzt eine Tabelle verwenden, die den Sinn einer Linkverwaltung hat. Das heißt, wir speichern darin die Internetadressen, den Namen des Links, den Namen des Besitzers der HP, die Adresse zu einem Banner (falls wir unterschiedlich große Banner haben können wir auch noch Breite und Höhe darin abspeichern - das machen wir jetzt aber nicht) und eine Seitenbeschreibung. Später können wir diese Daten über unterschiedliche Abfragetypen wieder auslesen. Wir legen also zunächst insgesamt 6 Felder in unserer Tabelle an.

Dafür schreiben wir in das erste Feld, das den Namen der Tabelle bestimmt links und in das zweite Feld, das die Anzahl der Spalten angibt 6 hinein und klicken danach auf OK.

Jetzt landen wir bei einer weiteren Benutzeroberfläche mit zahlreichen Reihen und Spalten. Jede Reihe entspricht einem Feld und die Spalten bieten uns unterschiedliche Möglichkeiten.

In die erste Spalte gehört der Feldname eingetragen, danach folgt der Typ (hier wird zB festgelegt ob es sich um ein Feld mit Zahlen oder mit Text handelt). In die dritte Spalte wird die maximale Länge des Feldinhaltes geschrieben (ist jedoch nicht bei allen Felddatentypen möglich). Die nächste Spalte kannst du erstmal ignorieren, phpMyAdmin verwendet dort Standardwerte, wenn du nichts angibst und mit denen fährst du meistens richtig. Danach folgen noch Attribute, die Bestimmung ob das Feld leer sein darf, Standardwerte, Extras und zum Schluss die Festlegung ob es sich um einen Schlüssel, ein Indexfeld und/oder ein einmaliges Feld handelt. Außerdem ist es möglich, einen Haken bei Volltext zu setzen oder einen Kommentar dazu zu schreiben.

Puh, was heißen denn jetzt diese ganzen Fachbegriffe?

Nun, ein Schlüsselfeld dient dazu, einen Datensatz eindeutig zu identifzieren. Daher ist es automatisch auch ein "einmaliges Feld", das heißt, der Feldinhalt darf kein zweites Mal in der selben Spalte vorkommen (das sind meistens IDs - also jede ID nur einmal und nicht doppelt vergeben).

Wir verwenden jetzt also für unsere ID folgende Werte:

id, int, 5, leer lassen, unsigned, not null, leer lassen, auto_increment, Haken bei Primärschlüssel setzen

Durch int wird das Feld als Zahlenfeld festgelegt (int steht für Integer - einen speziellen Zahlentyp) und auto_increment legt fest, dass das Feld automatisch um eines erhöht wird bei jedem neuen Datensatz. Der Haken bei Primärschlüssel sorgt dafür, dass unsere id als Schlüssel verwendet wird.

Für die anderen verwenden wir:

url, varchar, 100, leer lassen, not null, alles andere leer lassen
urlname, varchar, 250, leer lassen, not null, alles andere leer lassen
name, varchar, 100, leer lassen, not null, alles andere leer lassen
banner, varchar, 250, leer lassen, not null, alles andere leer lassen
beschreibung, text, leer lassen, leer lassen, not null, alles andere leer lassen

varchar Felder sind Textfelder mit einer bestimmten Größe und text sind Textfelder ohne bestimmte Größe (falls besonders viel Inhalt erforderlich ist, ist auch longtext möglich.

So sieht das dann aus: Popup

Unsere Eingaben bestätigen wir anschließend mit Speichern und bekommen dann die Meldung, dass die Tabelle angelegt wurde (inklusive des dazugehörigen SQL-Statements).

Falls dir das jetzt zu kompliziert war und du erstmal keine Ahnung hast, was das alles soll, tröstet es dich vielleicht, dass es ganze Firmen gibt, die sich speziell mit Datenbank Entwicklung beschäftigen. Es gehört also nicht zu den Arbeiten, die man sofort verstehen und beherrschen muss.

Damit haben wir jetzt die Tabelle angelegt und können sie als nächstes füllen.

=> Weiter
© 2001 - 2010 Claudia Unkelbach
Gießener Straße 75, 35396 Gießen