sql >> Databasteknik >  >> NoSQL >> MongoDB

MongoDB nybörjare - att normalisera eller inte normalisera?

Prova detta tillvägagångssätt:

Ta reda på vilken enhet (eller vilka enheter) som är hjälten/hjältarna

Med 'hjälte' menar jag den eller de enheter som databasen är centrerad kring. Låt oss ta ditt exempel. Hjälten i fastighetsexemplet är huset*.

Arbeta ut ägandet

Gå igenom de andra enheterna, som ägaren, byrån, bilder och recensioner och fråga dig själv om det är vettigt att placera deras information tillsammans med huset. Skulle du ha en kaskadradering på någon av de främmande nycklarna i din relationsdatabas? Om så är fallet innebär det ägande.

Ta reda på om det faktiskt spelar någon roll att data avnormaliseras

Du kommer att ha byråuppgifter (och förmodligen ägare) spridda över flera hus. Spelar det någon roll?

Din hussamling kommer förmodligen att se ut så här:

house: {
owner,
agency,
images[], // recommend references to GridFS here
reviews[] // you probably won't get too many of these for a single house
}

*Faktiskt är det förmodligen annonsen för huset (eftersom hus vanligtvis annonseras på en fastighetswebbplats och det är förmodligen vad du är egentligen intresserad av) så tänk bara på det



  1. mongodump från fjärrnod - kan inte autentisera med mekanismen SCRAM-SHA-256

  2. MongoDb Fjäderfynd i kapslat objekt

  3. Hitta antalet överlappande intervall

  4. Cascade style delete i Mongoose