レコードのリストがありprofile
ます。各レコードは次のようになっています。
{
"name": "Peter Pan",
"contacts": [
{
"key": "mobile",
"value": "1234-5678"
}
],
"addresses": [
{
"key": "postal",
"value": "2356 W. Manchester Ave.\nSomewhere District\nA Country"
},
{
"key": "po",
"value": "PO Box 1234"
}
],
"emails": [
{
"key": "work",
"value": "abc@work.com"
},
{
"key": "personal",
"value": "abc@personal.com"
}
],
"url": "http://www.example.com/"
}
私は次のスキーマ構造を持つことを考えます:
- およびフィールドを持つ
profile
テーブル。id
name
- 、、、フィールドを持つ
profile_contact
テーブル。id
profile_id
key
value
- 、、、フィールドを持つ
profile_address
テーブル。id
profile_id
key
value
- 、、、フィールドを持つ
profile_email
テーブル。id
profile_id
key
value
ただし、このような単純なJSONには、作成するテーブルが多すぎると思います。
- 1つのレコードだけを取得するために多くのJOINSが実行されるため、テーブル全体を検索するときにパフォーマンスの問題が発生しますか?
- 上記のJSONレコードをデータベースにモデル化するためのより良い方法は何でしょうか?SQLでは、またはNoSQLではより良いですか?