Es gibt mehr Möglichkeiten als nur die beiden, die du erwähnst. Es gibt:
- Adjazenzliste (die "parent_id", die fast jeder verwendet)
- Verschachtelte Sätze
- Pfadaufzählung
- Abschlusstabelle (auch bekannt als Adjazenzbeziehung)
Siehe meine Antwort auf "Was ist der effizienteste/eleganteste Weg, eine flache Tabelle in einen Baum zu parsen? "
Oder ein paar Bücher:
- "Bäume und Hierarchien in SQL für Smarties " von Joe Celko.
- "SQL-Entwurfsmuster " von Vadim Tropashko.