Hauptmenü

Untermenü

MySQL - Grundlagen - Struktur

1. Relationale Datenbanksysteme

Sie basieren auf den theoretischen Überlegungen des amerikanischen Mathematikers Dr. Edgar Frank Codd. Grundlage des Ganzen ist die relationale Algebra, die ganz einfach ausgedrückt, das Folgende bedeutet. Entweder gibt es eine Relation (Beziehung) zwischen zwei "Dingen" oder nicht. Ich hoffe, die Mathematiker mögen mir diese Aussage verzeihen und mich nicht mit irgendwelchen Formeln zu Tode prügeln. Und MySQL gehört zu diesem Typ. Daher wird es auch als RDMS (Relationales Datenbank Management System) bezeichnet. Das B für Bank hat man sich wohl aus Gründen der Übersichtlichkeit gespart.

2. Relationale Datenbanken

Was ist nun kennzeichnend für eine relationale Datenbank?

Und Letzteres sorgt nun für die so genannte Relation. Aber zu den Details komme ich später.

3. Die Tabelle

Sie ist die entscheidende Verwaltungseinheit einer Datenbank. In ihr werden alle Informationen gespeichert. Sie besteht aus Datensätzen und Feldern. Man kann also eine Datenbanktabelle durchaus vergleichen mit dem, was man aus Tabellenkalkulationsprogrammen wie zum Beispiel Excel kennt. Im folgenden Beispiel haben wir eine stinknormale Sammlung von Adressen.


+-------+----------+--------------+-----+-----------+
|vorname|namen     |strasse       |plz  |ort        |
+-------+----------+--------------+-----+-----------+
|Claudia|Mustermann|Musterstraße 0|12345|Musterstadt|
|Dieter |Hinz      |Hinzweg 0     |45678|Hinzdorf   |
|Peter  |Kunz      |Kunzpfad 0    |67890|Kunzdorf   |
+-------+----------+--------------+-----+-----------+

4. Begriffe

Der Datensatz

Wird auch als Record oder Tupel bezeichnet. Er beinhaltet alle Informationen eines ganz speziellen Datensatzes. In obigem Fall handelt es sich also um eine komplette Adresse, die aus verschiedenen Feldern besteht (vorname, namen, strasse, etc.).

Das Feld

... auch Attribut genannt, stellt die kleinste Organisationseinheit einer Datenbank dar. In ihm wird ein Datensatz in logische Teile aufgesplittet. Um bei obigem Beispiel zu bleiben, wird also eine Adresse in ihre Bestandteile zerlegt, die dann so genannte atomare, also einzigartige Werte beinhalten (dazu später mehr).

5. Interne Organisation

Wie verwaltet nun MySQL diese Datenbanken und Tabellen. Eigentlich recht einfach. Es gibt einen Ordner, in dem alle Informationen gespeichert werden. Wo der nun liegt, hängt vom Eintrag in der my.ini/my.cnf ab. Schaut da mal spaßeshalber nach datadir=, dann findet ihr ihn.

Der Aufbau

Jetzt gibt es dort pro Datenbank einen Unterordner gleichen Namens. Pro Tabelle werden drei Dateien angelegt, die genau so heißen wie besagte Tabelle. Die eigentlichen Inhalte findet man in der Datei mit der Endung .myd. In der .frm wird der Dateityp und in der .myi der Index. abgespeichert.

Eigentlich

... wäre dieser Hinweis überflüssig wie ein Kropf(f), da man mit diesen Dateien normalerweise nie zu tun hat. Allerdings habe ich schon des Öfteren erlebt, dass irgendwelche Ordnungsfanatiker der Meinung waren, diese angeblich überflüssigen Dateien löschen zu müssen. Das Ergebnis könnt ihr euch ja vorstellen.

zurück zum vorherigen Abschnitt weiter zum nächsten Abschnitt