Accepted answer
A proper bridge or associative table, fact_enrollment as the bridge itself with keys to dim_student and dim_course, is the standard approach for many-to-many. It avoids the row multiplication and update anomalies denormalizing would introduce.