Jurijus Zaksas
Искусственный Интеллект
(472511)
1 месяц назад
Множественное число от child - children, а не childs. Поэтому я использую has_kids - так короче.
Нормализацию это не нарушает в строгом смысле. Нормализация касается только хранения данных, а это у тебя фактически метаданные.
Так что с этой точки зрения все хорошо.
Проблема тут в актуализации этого поля. Допустим, какую-то "операцию", что бы это ни значило, удалили из базы. Тебе надо будет найти ВСЕХ ее родителей и для них ВСЕХ проверить, остались ли у них детишечки еще. Нафиг-нафиг такое счастье.
Поэтому просто делай проверку. Можешь написать что-то хранимое для удобства и скорости оной.
Для работы с базой данных я использую ORM-библиотеку. Поэтому я работаю через обьекты классов сущностей, и только так. Хорошая ли идея добавить свойство has_childs в отношение operations, чтобы оно при получении из базы данных сразу записывалось в соотвествующее свойство обьекта класса?
В качестве альтернативы - загружать всегда список связанных операций, но этот список в 50% случаев и не нужен вовсе.
Не уверен, как правильно сделать. Хотелось бы послушать советы по этой проблеме.
В данном случае самым простым вариантом будет добавить поле в бд, но тогда получается нарушается нормализация.