EN av anledningarna till att normalisera en databas är att minska redundansen (dina "repeterbara block")
EN ANNAN anledning är att tillåta "bakåt" sökning. Om du ville veta vilken video som spelades in på "15 Pike Place" kommer din JSON-lösning att misslyckas (du måste tillgripa sekventiell läsning, avkoda JSON vilket motverkar syftet med en RDBMS)
Bra tumregler:
- Strukturerade data – lägg i tabeller och kolumner
- Data som kan vara en del av frågevillkor - lägg i tabeller och kolumner
- Ostrukturerad data som du vet att du aldrig kommer att fråga efter - placerad i BLOB-, XML- eller JSON-fält
Om du är osäker, använd tabeller och kolumner . Du kanske måste spendera lite extra tid i början, men du kommer aldrig att ångra dig. Folk har ångrat sitt val för JSON-fält (eller XML, för den delen) om och om igen och igen. Nämnde jag "igen"?