データベースを正規化する理由の1つは、冗長性(「繰り返し可能なブロック」)を減らすことです
もう1つの理由は、「逆方向」のクエリを許可することです。 「15PikePlace」で撮影されたビデオを知りたい場合は、JSONソリューションが失敗します(RDBMSの目的を損なうJSONのシーケンシャル読み取り、デコードに頼る必要があります)
経験則:
- 構造化データ-テーブルと列に配置
- クエリ条件の一部である可能性のあるデータ-テーブルと列に配置
- クエリを実行しないことがわかっている非構造化データ-BLOB、XML、またはJSONフィールドに入力
疑わしい場合は、テーブルと列を使用 。最初は少し余分な時間を費やす必要があるかもしれませんが、後悔することはありません。人々は、JSONフィールド(または、さらに言えばXML)の選択を何度も何度も後悔しています。 「もう一度」と言いましたか?