SALAH satu alasan menormalkan database adalah untuk mengurangi redundansi ("blok berulang" Anda)
Alasan LAIN adalah untuk mengizinkan kueri "mundur". Jika Anda ingin tahu video mana yang direkam di "15 Pike Place", solusi JSON Anda akan gagal (Anda harus menggunakan pembacaan berurutan, mendekode JSON yang mengalahkan tujuan RDBMS)
Aturan praktis yang baik:
- Data terstruktur - dimasukkan ke dalam tabel dan kolom
- Data yang mungkin menjadi bagian dari kondisi kueri - dimasukkan ke dalam tabel dan kolom
- Data tidak terstruktur yang Anda tahu tidak akan pernah Anda kueri - dimasukkan ke dalam bidang BLOB, XML, atau JSON
Jika ragu, gunakan tabel dan kolom . Anda mungkin harus meluangkan waktu ekstra pada awalnya, tetapi Anda tidak akan pernah menyesalinya. Orang-orang telah menyesali pilihan mereka untuk bidang JSON (atau XML, dalam hal ini) lagi dan lagi dan lagi. Apakah saya menyebutkan "lagi"?