Това е въпрос, който на пръв поглед изглежда добре, но има значение.
На първо място, трябва да се уверите, че след като прочетете състоянието на тези релации, никой не може да ги промени, така че очевидно трябва да използвате транзакция и да заключите въпросните редове.
След това имате нужда от начин да разберете какви релации да проверите, тъй като виждам в коментар тук въпроса ви какво се случва, ако някой по-късно добави нова релация. Така че трябва да направите запитване към схемата или може би автоматично да генерирате този код от схемата, така че механизмът за откриване да се изпълнява само всеки път, когато промените схемата.
Сега, наистина ли изключението, което получавате, изглежда толкова скъпо след това изпитание?