Встречается на собеседованиях • сегодня

Приведи пример когда нужна денормализация

Денормализация базы данных оправдана, когда нужно оптимизировать частые операции чтения за счёт небольшого увеличения сложности операций записи. Например, в аналитических отчётах или дашбордах, где данные редко меняются, но часто запрашиваются.

python
# Нормализованная структура (users и orders - отдельные таблицы)
class User(models.Model):
    name = models.CharField(max_length=100)

class Order(models.Model):
user = models.ForeignKey(User)
amount = models.DecimalField(max_digits=10, decimal_places=2)
date = models.DateField()

Денормализованная версия - добавляем поле total_orders в User

class User(models.Model):
name = models.CharField(max_length=100)
total_orders = models.IntegerField(default=0) # Денормализованное поле

text

Основные причины денормализации:
1. Уменьшение количества JOIN-ов в запросах
2. Ускорение сложных аналитических запросов
3. Кэширование часто используемых агрегированных данных
4. Упрощение схемы для конкретных use-cases

Важно: денормализацию следует применять осознанно, так как она может привести к аномалиям данных.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы