JEDNYM z powodów normalizacji bazy danych jest zmniejszenie nadmiarowości (twoje "powtarzalne bloki")
INNYM powodem jest zezwolenie na zapytania „wsteczne”. Jeśli chcesz wiedzieć, który film został nakręcony w „15 Pike Place”, Twoje rozwiązanie JSON zawiedzie (musisz uciec się do odczytu sekwencyjnego, dekodowania JSON, co jest sprzeczne z celem RDBMS)
Dobre zasady:
- Dane strukturalne — umieść w tabelach i kolumnach
- Dane, które mogą być częścią warunków zapytania - umieść w tabelach i kolumnach
- Dane nieustrukturyzowane, o których wiesz, że nigdy nie będziesz wykonywać zapytań – wstawiaj je do bloków BLOB, XML lub pól JSON
W razie wątpliwości użyj tabel i kolumn . Być może na początku będziesz musiał poświęcić trochę więcej czasu, ale nigdy tego nie pożałujesz. Ludzie wielokrotnie żałowali swojego wyboru pól JSON (lub XML, jeśli o to chodzi). Czy wspomniałem „znowu”?