Kopplingar ska göras på 1 ställe så de kan pekas om utan att behöva updatera på flera ställen. Om nu en kurs skulle byta universitet (vilket iofs är fantasi i detta fall men som exempel

så behöver man updatera xxx antal kopplingar istället för att bara peka om kursen.
Japp, två kurser som har olika innehåll är INTE likdana bara för att vi människor väljer att identifiera en kurs vid dess namn (som må vara samma). Det är därför inte redundans att lagra en (till synes) identiskt kurs flera gånger.
Min personliga åsikt är inte att din modell är mer "i linje med de verkliga relationerna". De flesta strukturer beskrivs både lättas och bäst i en trädstruktur, inte en "stjärnstruktur" där 1 objekt har förgreningar åt alla håll även om de övriga objekten (tabellerna) har inbördes kopplingar.
Måhända att i detta fall endast böckerna är en avgränsad sak som ska behandlas och då duger kanske din struktur, men om man någon gång i en oöverskådlig (oplanerad snarare) framtid behöver göre en förändring så är det dumt att ha målat in sig i ett hörn. Tänk att senare behöva lägga till en tabell som kanske beskríver författare. Då måste man i ditt fall lägga till en kolumn och updatera alla rader i denna (på bredden) växande kopplingstabell. Samma bok, med samma författare, behöver alltså updateras på xxx antal ställen.