Hallo,
ich möchte eine datenbankbasierte Galerie schreiben und stehe momentan vor dem Design der Datenbank.
Der Grundaufbau ist folgender: Es gibt Bilder (Picture), Alben (Album) und Galerien (Galery). Jedes Element ist eine php-Klasse und wird auch mit den Eigenschaften in der DB so abgebildet (für die dauerhafte Speicherung, ich hoffe das macht man so
).
Nun ist es ja so, dass jedes Bild zu einem Album gehört und jedes Album zu einer Galerie. Dadurch lässt sich eine Art Baumhierarchie aufbauen.
Genau das (also die Beziehungen) will ich auch in der DB abbilden. Ich erinnere mich daran, dass man für diesen Zweck Fremdschlüssel ganz gut nutzen könnte.
Hab also mal ein bisschen gelesen und festgestellt, dass es bei MySQL nur mit dem Tabellentyp InnoDB geht.
Nun meine Fragen:
Hat InnoDB Nachteile? Wie genau mach ich das mit den Fremdschlüsseln? Hat da jemand Erfahrung oder kennt eine besses Möglichkeit?
Die DB sollte klein und schnell aufgebaut sein, sodass der User möglichst kurze Ladezeiten genießt. (Das Frontend wird mit PHP, voraussichtlich auch AJAX programmiert)
Danke im voraus
cya
ich möchte eine datenbankbasierte Galerie schreiben und stehe momentan vor dem Design der Datenbank.
Der Grundaufbau ist folgender: Es gibt Bilder (Picture), Alben (Album) und Galerien (Galery). Jedes Element ist eine php-Klasse und wird auch mit den Eigenschaften in der DB so abgebildet (für die dauerhafte Speicherung, ich hoffe das macht man so

Nun ist es ja so, dass jedes Bild zu einem Album gehört und jedes Album zu einer Galerie. Dadurch lässt sich eine Art Baumhierarchie aufbauen.
Genau das (also die Beziehungen) will ich auch in der DB abbilden. Ich erinnere mich daran, dass man für diesen Zweck Fremdschlüssel ganz gut nutzen könnte.
Hab also mal ein bisschen gelesen und festgestellt, dass es bei MySQL nur mit dem Tabellentyp InnoDB geht.
Nun meine Fragen:
Hat InnoDB Nachteile? Wie genau mach ich das mit den Fremdschlüsseln? Hat da jemand Erfahrung oder kennt eine besses Möglichkeit?
Die DB sollte klein und schnell aufgebaut sein, sodass der User möglichst kurze Ladezeiten genießt. (Das Frontend wird mit PHP, voraussichtlich auch AJAX programmiert)
Danke im voraus
cya