База данных без внешних ключей
От: dmitry_npi Россия  
Дата: 15.11.22 10:03
Оценка:
Попал на проект, в котором используется реляционная БД (на постгрес, небольшая). Логически в ней есть связи 1..* и *..*, но не определены внешние ключи (FOREIGN KEYS). Вместе с тем, в DAL используется Entity Framework, и из-за этого его использование выглядит... весьма своеобразным. Навигационных свойств в виде коллекций на сущностях нет, только int/guid ссылки. Чтобы выбрать мастер-сущность вместе с детьми, делается два запроса — на родителя и детей.

Коллекции с "детьми" есть в отдельных классах бизнес-сущностей, которые строятся вручную в репозиториях.
В итоге от ОРМ как такового почти ничего не остаётся. Мотивируется это тем, что якобы запросы с JOIN медленно обрабатываются СУБД. Доказательств с цифрами нет. Может, их делали те, кто проект начинал, но их давно нет (на проекте).

Вопрос: исходя из вашего опыта, насколько это оправдано? Проект не хайлоад, никаких там 10000rps нет.
Атмосферная музыка — www.aventuel.net
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.