Mam bazę danych SQL, który chcę przekonwertować do jednego NoSQL (obecnie używam RavenDB)bazie Modelowanie NoSQL (przy konwersji z bazy danych SQL)
Oto moje tabele:
śledzenia :
ID (PK, bigint, not null)
DeploymentID (FK, int, not null)
AppCode (int, not null)
Wdrożenie:
DeploymentID (PK, int, not null)
DeploymentVersion (varchar(10), not null)
DeploymentName (nvarchar(max), not null)
Zastosowanie:
AppID (PK, int, not null)
AppName (nvarchar(max), not null)
Obecnie mam te wiersze w moich tabelach:
Ślad:
ID: 1 , DeploymentID: 1, AppCode: 1
ID: 2 , DeploymentID: 1, AppCode: 2
ID: 3 , DeploymentID: 1, AppCode: 3
ID: 3 , DeploymentID: 2, AppCode: 1
Wdrożenie:
DeploymentID: 1 , DeploymentVersion: 1.0, DeploymentName: "Test1"
DeploymentID: 2 , DeploymentVersion: 1.0, DeploymentName: "Test2"
Zastosowanie:
AppID: 1 , AppName: "Test1"
AppID: 2 , AppName: "Test2"
AppID: 3 , AppName: "Test3"
Moje pytanie brzmi: JAK zbudować mój model dokumentu NoSQL?
Powinno to wyglądać tak:
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"
}
a co jeśli Wdrożenie 1 zostanie zmienione? Czy powinienem przejrzeć każdy dokument i zmienić dane?
Kiedy powinienem używać referencji w NoSQL?
["NoSQL"] (http://en.wikipedia.org/wiki/Nosql) nie jest bazą danych - jest to termin ogólny dla baz danych, które nie używają SQL. Obejmuje to magazyny klucz-wartość, bazy dokumentów, bazy danych wykresów i inne. Sposób modelowania danych zależy zarówno od przypadku użycia, jak i funkcji dostępnych w używanej bazie danych. – Stennie
Napisałem, że używam RavenDB, który jest dokumentem db – ohadinho