Проблемы ER моделирования при создании баз данных
а) Рекурсивные связи many-to-many с добавлением иерархии IS-A.
Разновидностью рекурсивных связей many-to-many является связи типа перечни комплектующих. Например, автомобиль разбивается на части: корпус, двигатель и т.д. до винтиков и получается перечень входящих в него гаечек, прокладочек и т.д.
Такая связь IS-A используется для создания иерархии классов, то есть связь типа с подтипом. Такого рода вещи на сегодняшний день не моделируются.
б) Ловушки разветвления

Из этой модели не видно какой бухгалтер какой филиал обслуживает. Нужно преобразовать к модели вида:

в) Ловушки разрыва
Возникают в том случае, когда есть зависимость между экземплярами дочерних сущностей, но не существует между ними связи.

Все хорошо, но проблемы, когда было несколько мужей или жен. Указать какие дети от какой жены невозможно.