NoSQL データベースに変換したい SQL データベースがあります (現在、RavenDB を使用しています)。
ここに私のテーブルがあります:
痕跡:
ID (PK, bigint, not null)
DeploymentID (FK, int, not null)
AppCode (int, not null)
展開:
DeploymentID (PK, int, not null)
DeploymentVersion (varchar(10), not null)
DeploymentName (nvarchar(max), not null)
応用:
AppID (PK, int, not null)
AppName (nvarchar(max), not null)
現在、テーブルに次の行があります。
痕跡:
ID: 1 , DeploymentID: 1, AppCode: 1
ID: 2 , DeploymentID: 1, AppCode: 2
ID: 3 , DeploymentID: 1, AppCode: 3
ID: 3 , DeploymentID: 2, AppCode: 1
展開:
DeploymentID: 1 , DeploymentVersion: 1.0, DeploymentName: "Test1"
DeploymentID: 2 , DeploymentVersion: 1.0, DeploymentName: "Test2"
応用:
AppID: 1 , AppName: "Test1"
AppID: 2 , AppName: "Test2"
AppID: 3 , AppName: "Test3"
私の質問は: NoSQL ドキュメント モデルをどのように構築すればよいですか?
次のようになります。
trace/1
{
"Deployment": [ { "DeploymentVersion": "1.0", "DeploymentName": "Test1" } ],
"Application": "Test1"
}
trace/2
{
"Deployment": [ { "DeploymentVersion": "1.0", "DeploymentName": "Test1" } ],
"Application": "Test2"
}
trace/3
{
"Deployment": [ { "DeploymentVersion": "1.0", "DeploymentName": "Test1" } ],
"Application": "Test3"
}
trace/4
{
"Deployment": [ { "DeploymentVersion": "1.0", "DeploymentName": "Test2" } ],
"Application": "Test1"
}
そして、Deployment 1 が変更された場合はどうなるでしょうか? 各ドキュメントを参照してデータを変更する必要がありますか?
また、NoSQL でいつ参照を使用する必要がありますか?