UNO dei motivi per normalizzare un database è ridurre la ridondanza (i tuoi "blocchi ripetibili")
UN ALTRO motivo è consentire l'interrogazione "all'indietro". Se volevi sapere quale video è stato girato a "15 Pike Place", la tua soluzione JSON fallirà (dovrai ricorrere alla lettura sequenziale, decodificando JSON che vanifica lo scopo di un RDBMS)
Buone regole pratiche:
- Dati strutturati:inserisci tabelle e colonne
- Dati che potrebbero far parte delle condizioni della query:inserisci tabelle e colonne
- Dati non strutturati con cui sai che non eseguirai mai query - inseriti in campi BLOB, XML o JSON
In caso di dubbio, usa tabelle e colonne . All'inizio potresti dover dedicare un po' di tempo in più, ma non te ne pentirai mai. Le persone si sono pentite della loro scelta per i campi JSON (o XML, se è per questo) ancora e ancora e ancora. Ho menzionato "di nuovo"?