Внешние ключи имеют perfomance impact при частой вставке, а при чтении от них толку никакого, любой нормальный оптимизатор прекрасно работает с обычными индексами.
Накладные расходы на хранение.
Желание сделать поддержку нескольких СУБД, тут чем меньше логики в базе, тем лучше.
А стремление все сделать по букварю и НФ приводит к печальным последствиям, особенно когда rps начинает расти нелинейно, а базка перевалила за пару сотен гигов.
Это если кратко.