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?
- Sie besteht aus Tabellen
-
Diese Tabellen bestehen aus Zeilen und Spalten
- Die Zeilen stellen den so genannten Datensatz dar
- Die Spalten beinhalten die einzelnen Komponenten eines Datensatzes
- Jede Spalte muss einen bestimmten Datentyp haben
- Über so genannte Schlüssel werden die Tabellen miteinander verknüpft
-
Diese Tabellen bestehen aus Zeilen und Spalten
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