ЕДНА от причините за нормализиране на база данни е намаляването на излишъка (вашите „повтарящи се блокове“)
ДРУГА причина е да се разреши "обратно" запитване. Ако искате да знаете кой видеоклип е заснет на "15 Pike Place", вашето JSON решение ще се провали (ще трябва да прибягвате до последователно четене, декодиране на JSON, което побеждава целта на RDBMS)
Добри основни правила:
- Структурирани данни – поставете в таблици и колони
- Данни, които може да са част от условията на заявката – поставете в таблици и колони
- Неструктурирани данни, за които знаете, че никога няма да правите заявки – поставете в полета BLOB, XML или JSON
Ако се съмнявате, използвайте таблици и колони . Първоначално може да се наложи да отделите малко повече време, но никога няма да съжалявате. Хората са съжалявали за избора си за JSON полета (или XML, в този смисъл) отново и отново и отново. Споменах ли "отново"?