MỘT trong những lý do chuẩn hóa cơ sở dữ liệu là để giảm dư thừa ("các khối có thể lặp lại" của bạn)
MỘT LÝ DO KHÁC là cho phép truy vấn "ngược". Nếu bạn muốn biết video nào được quay tại "15 Pike Place", thì giải pháp JSON của bạn sẽ không thành công (bạn sẽ phải sử dụng đến việc đọc tuần tự, giải mã JSON để đánh bại mục đích của RDBMS)
Quy tắc ngón tay cái tốt:
- Dữ liệu có cấu trúc - đặt trong các bảng và cột
- Dữ liệu có thể là một phần của các điều kiện truy vấn - đặt trong bảng và cột
- Dữ liệu phi cấu trúc mà bạn biết rằng bạn sẽ không bao giờ truy vấn - đưa vào các trường BLOB, XML hoặc JSON
Nếu nghi ngờ, hãy sử dụng bảng và cột . Ban đầu, bạn có thể phải dành thêm thời gian, nhưng bạn sẽ không bao giờ hối tiếc. Mọi người đã hối hận về sự lựa chọn của họ cho các trường JSON (hoặc XML, cho vấn đề đó) hết lần này đến lần khác. Tôi đã đề cập đến "một lần nữa"?