С предоставленной информацией я бы смоделировал базу данных следующим образом:
... и т. д., потому что я ожидаю, что будут разные атрибуты, связанные с каждый раздел политики. В противном случае может быть одна таблица SECTIONS
, а в дополнение к policy_id
будет section_type_code
...
В любом случае это позволит вам поддерживать необязательные разделы в политика ...
Я не понимаю, что вы считаете неудовлетворительным в отношении этого подхода - так вы храните данные, сохраняя ссылочную целостность, а не дублируя данные. Термин «нормирован» ...
Поскольку SQL основан на SET, он довольно чужд процедурным / OO-концепциям программирования и amp; требует перехода кода из одной области в другую. ORM часто рассматриваются, но они плохо работают в сложных, сложных системах.