SQL DB schema

can someone explain why the DB is structured to contain the genre info in two different locations which could potentially mismatch Huh

MusicDB — i’ve seen this in both v16 & v17:

‘album’ table contains a column strGenres, where the genre is stored in string form.
separately, table ‘album_genre’ contains columns idAlbum & idGenre.

example:
album(idAlbum,strGenres) = (10,’genOne’)
album_genre(idAlbum,idGenre) = (10,2)
genre(idGenre,strGenre) = (1,’genOne’)
genre(idGenre,strGenre) = (2,’genTwo’)

why not have the idGenre (and iOrder) in the ‘album’ table and eliminate ‘album_genre’ table?

same happens with ‘song’ table.