Carsten: Sinnvolle DB-Struktur

Beitrag lesen

Das Ganze soll auch per Eingabemaske pflegbar sein (also
Kategorien anlegen usw...). Wie mache ich sowas?

Ich würde jeweils in den Kategorien einen Link setzen, der auf eine Eingabe-Seite verweist und die Navi.ID mitgibt per GET. Die Seite holt sich den Key aus der Tabelle, formt einen neuen draus, und der Rest ist ein simples "INSERT". Bei den Inhalten genauso, hier reicht ja dann schon die Navi.ID.

Die Tabelle mit dem Content verstehe ich nicht! Kannst Du
mir die Beziehung der Keys erklären?!

Zwischen Navi.ID und Content.NaviID? Darüber werden die Contents den Kategorien zugeordnet. Content.NaviID = 5 heißt, der Content gehört zur Kategorie, die die ID 5 hat. Du kannst natürlich auch über den Navi.Key zuordnen, ist Geschmacksache. Ich persönlich bevorzuge, die Relationen zwischen Tabellen ausschließlich über die ID zu machen, die bei mir auch immer Primary Key ist. Der Vorteil ist das "auto_increment", sodass Du Dich nicht darum kümmern musst, eigene IDs zu erstellen. Außerdem liefert zB MySQL bei einem INSERT diese ID als lastid() zurück.