Teil von  SELFPHP   Teil von  Praxisbuch
Letztes Update: 16.08.2005 17:53:45


Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

 
* Link führt ins Internet


Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!  

 


SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!  


Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 



 

Aufbau des MySQL-Datenbanksystems




Wir werden nun versuchen, einen Blick hinter die Kulissen von MySQL zu riskieren. Dabei geht es noch nicht darum zu klären, was eine Datenbank ist bzw. darstellt. Vielmehr geht es um die Struktur und den Aufbau des MySQL-Datenbanksystems, kurz DBMS (Database-Management-System).

Es wurde bereits erwähnt, dass der Zugriff auf die Datenbank mit Hilfe von SQL-Befehlen erfolgt. Dies lässt natürlich den begründeten Verdacht zu, dass es sich bei MySQL um ein relationales Datenbanksystem handelt, das die in den Datenbanken gespeicherten Informationen mit Hilfe von Tabellen strukturiert. Schauen Sie sich nun als nächstes diese Struktur genauer an.

Jedes Datenbanksystem speichert seine Daten in ganz gewöhnlichen Dateien. Spätestens hier finden Sie eine wichtige Nahtstelle zum vorhandenen Betriebssystem, denn beim Anlegen und Verwalten dieser Dateien muss sich natürlich auch das DBMS an die vorgegebenen Spielregeln des Betriebssystems halten. Konkret geht es hierbei um Namenskonventionen oder eventuell vorhandene Größenbeschränkungen einzelner Dateien oder des definierten Filesystems.

Im vorliegenden Beispiel läuft auf dem Server der MySQL-Prozess und repräsentiert damit das DBMS. Dieser Prozess kann beim Starten natürlich auf verschiedenste Art und Weise konfiguriert werden. In der Praxis geschieht dies üblicherweise durch Verwendung einer Konfigurationsdatei, beispielsweise MY.INI, in der alle benötigten Parameter (Einstellungen) gespeichert sind. Für unsere aktuelle Fragestellung ist hierbei vor allem der Parameter datadir wichtig, mit dessen Hilfe Sie die Wurzel des Datenbankverzeichnisses spezifizieren können. Von hier aus wird jede vorhandene Datenbank durch ein gleichnamiges Unterverzeichnis repräsentiert, d.h. auf dem Server existieren die Datenbanken MYSQL, DB1000 und DB10001.

Die einzelnen Tabellen der Datenbank werden nun in das jeweilige Datenbankverzeichnis gespeichert, wobei jede Tabelle genau zu drei Dateien führt, deren Namen dem Tabellennamen entsprechen und die sich lediglich durch ihre Endungen unterscheiden.


Endung Beschreibung
frm Enthält die Struktur der Tabelle
MYD Enthält die in der Tabelle gespeicherten Daten für den Tabellentyp MYISAM (Standard).
MYI Enthält alle zugehörigen Indizies der MYISAM-Tabelle. Selbst wenn Sie keine Indizies anlegen, wird diese Datei erzeugt.
ISD Enthält die in der Tabelle gespeicherten Daten, wenn Sie sich bei der Anlage für den Typ ISAM entscheiden.
ISI Analog zur MYI-Datei werden in der ISI-Datei alle Indizes der gleichnamigen ISD-Datei gespeichert.
??? Das waren die MySQL-Standarderweiterungen. Es gibt jedoch laufend weitere Endungen wie BD für Berkeley, da die Entwickler von MySQL stetig darum bemüht sind, immer weitere Zugriffsmechanismen in ihr Datenbanksystem zu integrieren.


Das steckt hinter den Endungen

Sie sehen also, dass es bei MySQL eine ziemlich enge Verzahnung zwischen der Datenbankstruktur und dem Filesystem des darunter liegenden Betriebssystems gibt. In diesem Punkt unterscheidet sich MySQL dann auch deutlich von anderen Datenbankprodukten wie MS-Access, Oracle oder Sybase, die ihre Datenbankstrukturen abstrahieren, indem sie die einzelnen Tabellen irgendwie in spezielle Überdateien speichern. Das heisst, sowohl bei MS-Access, Oracle als auch Sybase entspricht die Datenbank genau einer Datei.


 



 




 sponsored by

Host Europe


HighText iBusiness


Host Europe




© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.deImpressumKontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de