Prøv denne fremgangsmåde:
Tag ud af, hvilken enhed (eller enheder) der er helten/heltene
Med 'helt' mener jeg den eller de entiteter, som databasen er centreret omkring. Lad os tage dit eksempel. Ejendomseksemplets helt er huset*.
Beregn ejerskaberne
Gå gennem de andre enheder, såsom ejer, bureau, billeder og anmeldelser og spørg dig selv, om det giver mening at placere deres oplysninger sammen med huset. Ville du have en kaskadende sletning på nogen af fremmednøglerne i din relationsdatabase? Hvis ja, så indebærer det ejerskab.
Afgør, om det rent faktisk betyder noget, at data denormaliseres
Du vil have agentur (og sandsynligvis ejer) detaljer spredt ud over flere huse. Betyder det noget?
Din hussamling vil sandsynligvis se sådan ud:
house: {
owner,
agency,
images[], // recommend references to GridFS here
reviews[] // you probably won't get too many of these for a single house
}
*Faktisk er det sandsynligvis husets annonce (da huse typisk annonceres på et ejendomswebsted, og det er sandsynligvis det, du virkelig er. interesseret i), så overvej det bare