Io avrei fatto una cosa un pò diversa:
è presumibile che le correlazioni siano reciproche... cioè

se l'articolo A è correlato con B... è presumibile anche il contrario ovvero che B è correlato con A

Aldilà dell'aspetto logico questo aiuta a popolare le correlazioni... mi spiego meglio:
un giorno scrivi l'articolo A e questo non ha correlazioni con altri articoli. Dopo 1 mese scrivi l'articolo B e decidi che sia correlato con l'articolo A.

Con il sistema descritto da te A continuerà ad essere senza correlazioni metre B sarà correlato con A.

Io perciò farei una cosa così:
tabella articoli:
id_articolo, titolo_art, etc etc
tabella correlazioni:
id_correlazione, id_art1, id_art2

poniamo il caso che io stia visualizzando un articolo con id=17 per scoprire gli articoli correlati farei
codice:
SELECT
   articoli.id_articolo,
   articoli.titolo_art,
   correlazioni.id_correlazione
FROM 
   articoli  
LEFT OUTER JOIN
   correlazioni 
WHERE 
   (
      correlazioni.id_art1=articoli.id_articolo
   OR
      correlazioni.id_art2=articoli.id_articolo
   )
   AND 
   (
      correlazioni.id_art1='17'
   OR
      correlazioni.id_art2='17'
   )