コーディングよりはデータモデリングの方が
重要になってくるかなと

ユーザ -> ロール -> 権限
受注 -> 受注明細
受注 -> ユーザ

エンティティを分けるとしたらこうかな

イミュータブルデータモデル(入門編)
https://www.slideshare.net/kawasima/ss-40471672

関数型に適したデータの持ち方はこれとか

updateを行わずにinsert/deleteでやりくりするのだけれども
数百万のデータ扱うときにそういうやり方ってio的に厳しくないかな
SIer戦士の知見を伺いたいね