抽象化が苦手

DBに関する本とかネットの記事読むと、多対多のテーブルとか出てくるじゃないですか。よくあるのが授業管理システムとかで、

・授業テーブル
授業ID:1
授業名:経済学
教授ID:100

・学生テーブル
学生ID:1
名前:佐藤

・受講テーブル
学生ID
授業ID

授業は複数の学生が受けていて学生は複数の授業を取っている。

どの学生がどの授業をとっているかを中間テーブルを挟むことで管理するみたいなことは思い浮かぶんだけど、「受講」っていう言葉をパッと思いつく人ってすごいなぁと思う。これは簡単な例なので当たり前じゃんって思うんだけど、実際の業務だともっと専門性があって複雑なので、そういう場合にここでいう「受講」にあたる言葉が閃かないんだよなぁって気がしてる。

頭のいい人って物事と物事の関係性を捉えたり、共通している部分もしくは特異性のある部分を見抜くのが速いし、利害関係調整したり、問題がある場合に双方の落とし所を見つけるのが大抵得意なんだけど、あれはなんなんだろうか。生まれ持ってのものなのか、それとも経験なのか。