Hallo,
ich überlege grade wie ich folgende Aufgabe am besten löse:
- Auf einer Seite sollen die aktuellsten, freigegebenen und nicht archivierten Artikel aus 5 freigegebenen Hauptkategorien nebst freigegebenen Unterkategorien dargestellt werden.
- Hauptkategorien können Unter-, Unterunter-, etc. Kategorien (beliebige Tiefe) haben.
- Jede Kategorie kann Artikel haben
Ich habe in meiner Datenbank (mySQL 5) 3 Tabellen
Kategorien
Artikel
rel_kategorien_artikel
Aufbau Kategorien:
ID
kat_name
parent (bezieht sich auf ID, ist 0 wenn eine Hauptkategorie vorliegt)
is_kat (1/0)
freigegeben (1/0)
Aufbau Artikel:
ID
inhalt
datum (timestamp)
freigegeben (1/0)
archiviert (1/0)
Aufbau rel_kategorien_artikel
kat_id (bezieht sich auf kategorien.id)
art_id (bezieht sich auf artikel.id)
Als serverseitige Sprache steht mir CFML (ColdFusion) zur Verfügung.
Mein Wissen über SQL zeigt mir zur Zeit keine Möglichkeit dieses Problem damit zu lösen.
Ich schaffe es zwar mir mittels INNER JOIN zu einer einzelnen Kategorie die zugehörigen Artikel zusammenzusuchen, jedoch sehe ich mit meinem aktuellen Wissensstand keine Möglichkeit mich durch den virtuellen Kategorien-Baum zu hangeln.
Ich könnte das ganze auch mittels eines Scripts durch Rekursion realisieren. Das wäre zur Zeit die einzige Möglichkeit die mich mit meinem Wissensstand zur Lösung der Aufgabe bringen würde.
Kann ich das ganze vieleicht auch auf Datenbankebene lösen? Damit habe ich bisher noch nicht gearbeitet und deshalb auch keinen Überblick über die Möglichkeiten und deren Realisierung, würde dieses Vorgehen, sollte es möglich sein, aber am performatesten halten.
Wie mache ichs am besten? Was ist möglich?
Btw. Das ganze ist für ein Portal, daß dazu ausgelegt sein soll in Zukunft mehrere tausend Anfragen am Tag (und noch viele zehntausend mehr, wenns nach dem Kunden ginge :)) zu verarbeiten.
Danke
Ole
(8-)>
Stickstoff eignet sich nicht für Handarbeiten.