Datenbankschema

 2 Kommentare zu diesem Tutorial

Die bei Magento eingesetzte Datenbank ist eine MySQL-Datenbank. Mit jeder Version von Magento wurde auch die Datenbank weiterentwickelt und angepasst, sodass Tabellen hinzu gekommen sind oder geändert wurden. In diesem Tutorial geht es darum das Datenbankschema zu erläutern und ein grundlegendes Verständnis für die Datenbank zu bekommen.

Datenbankschema im EAV-Modell

Entity-Attribute-Value Model, auch bekannt als Object-Attribute-Value Model oder Open Schema ist ein Datenmodell, welches häufig verwendet wird, wenn die Anzahl der Attribute (Eigenschaften, Parameter) zur Beschreibung einer Sache (Entität oder Objekt) im Vorfeld nicht vorhersehbar sind. Das ist bei Magento nötig, denn jeder Shopbetreiber kann im Magento Backend selbst definierte Attribute anlegen und verwenden. Ein Beispiel könnte so aussehen:

Entity: Repräsentiert einen Datensatz (Produkt), z.B. ein T-Shirt.
Attribute: Stellt eine Eigenschaft dar, z.B. Größe oder Farbe etc.
Value: Beinhaltet den Eigenschaftswert, z.B. XL, L, S oder blau, grün, schwarz etc.

Magento Datenbankschema 2.1.3

Für die Magento Open Source Version 2.1.3 hat sich Anna Völkl die Arbeit gemacht und alle 315 Tabellen in ein Schema gezeichnet. In der kompletten Übersicht aller Tabellen lässt sich schnell erkennen welche Tabellen mit welchen verbunden sind (Bild anklicken für größere Ansicht):

Magento Datenbank-Tabellen Version 1.9.3.2

Mit Magento Version 1.9.3.2 werden bei der Installation insgesamt 336 Tabellen angelegt und circa 19MB Speicherplatz in der Datenbank benötigt. Klicken Sie auf das Vorschaubild um ein großes Bild im neuen Tab zu öffnen:

Magento Datenbankschema 1.9.2.2

Anna Völkl hat sich die Mühe gemacht und für die Magento Community Edition 1.9.2.2 das Datenbank Schema aufgezeichnet. Insgesamt sind 333 Tabellen zu sehen und die Fremdschlüssel miteinander verbunden (Bild anklicken für größere Ansicht):

Magento Datenbankschema Version 1.3.2.4

Auf der Magento Homepage findet man ein Datenbankschema von Magento Version 1.3.2.4 das sich folgendermaßen präsentiert:

Magento Datenbankschema Diagramm
Screenshot Magento Datenbankschema Diagramm (Quelle: https://magento2.atlassian.net/wiki/pages/viewpage.action?pageId=14024880)

Hier können Sie sich das Datenbankschema als großes PDF herunterladen. Darin sind auch die einzelnen Tabellen und Referenzen zu erkennen.

Tabellen im Datenbankschema

Die Datenbank enthält wie im Magentos Datenbankschema zu sehen die Tabellen vom System, Sales, EAV, Customer und Product. Im folgenden Abschnitt gibt es einen kurzen Überblick, wozu die einzelnen Tabellen gebraucht werden.

System

In der Systemtabelle stehen alle für das Kernsystem relevanten Daten. Das ist der Kern von Magento.

Product

Wie der Name schon vermuten lässt, befinden sich in diesen Tabellen alle Daten zu Ihren eingepflegten Produkten, wie z.B. Artikelmerkmale, Name, Preis, Beschreibung, etc…

Customer

Ihre Kunden werden bei jeder Bestellung angelegt (sofern sie sich nicht bei Ihnen ein Kundenkonto eröffnen). Darin sind dann Adresse, Name, etc. gespeichert.

EAV

Auf den Punkt EAV gehen wir an dieser Stelle etwas genauer ein, denn dieser ist etwas schwieriger nachzuvollziehen.

Um eine hohe Flexibilität zu erreichen nutzt die Magento Datenbank ein Entity-Attribute-Value (EAV) Datenmodell. Wie es oft der Fall ist, ist durch Flexibilität die Komplexität sehr hoch – Magento ist da keine Ausnahme. Der Prozess der Manipulation von Daten in Magento ist komplizierter als mit traditionellen relationalen Tabellen. Daher ist ein Verständnis der EAV Prinzipien und wie sie in Magento modelliert sind dringend erforderlich, bevor Sie Änderungen an den Daten oder dem Datenbankschema machen. Die Identifizierung der EAV verwandten Tabellen wurde mit konsistenten Namenskonventionen vereinfacht. Core-EAV-Tabellen werden mit „EAV_“ vorangestellt.
Genauere Informationen und rund um EAV bietet der englischsprachige Wikipedia Artikel Entity–attribute–value model.

Sales

Diese Tabelle ist bei Ihnen hoffentlich gut gefüllt, denn hier werden die Bestellungen gespeichert. Zudem alle Informationen zu Versand und Steuer.

Autor

Sebastian

Ich interessiere mich für eCommerce-Themen, vor allem im Zusammenhang mit dem Shopsystem Magento Commerce sowie alles rund um Web-Entwicklung und den damit verbundenen Möglichkeiten.

2 Kommentare zu “Datenbankschema

  • 18. Februar 2016 um 09:12 Uhr
    Permalink

    Gibt es das Datenbankschema für die 1.9 Version auch irgendwo als PDF?

    Antwort
    • 2. März 2017 um 15:20 Uhr
      Permalink

      Hallo Nicole,

      das Tutorial wurde überarbeitet, nun gibt es zumindest eine Übersicht der Tabellen, die Magento bei Installation anlegt.

      Beste Grüße
      Sebastian

      Antwort

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

*