Что вы подразумеваете под правилами модальности / кардинальности?
Отношения FK всегда равны 1: N в отношении Oracle.Я думаю, что можно было бы применить 1: 1, имея два отношения FK в одних и тех же полях, но в противоположных направлениях.
Единственное другое «правило», касающееся количества элементов, - это уникальные ключи, но я думаю, у вас уже есть такие.В противном случае это может помочь:
http://www.eveandersson.com/writing/data-model-reverse-engineering#constraints
В зависимости от настройки базы данных вы также можете найти эвристика о количестве значений в столбцах:
select * from user_tab_col_statistics
Особенно значение NUM_DISTINCT может иметь некоторое значение.
Если вам нужна дополнительная информация в словаре данных, я рекомендую этот выбор для начинающих
select * from dict
where lower(comments|| '@' || table_name) like '%whatareyoulookingfor%'