sql >> Database teknologi >  >> NoSQL >> MongoDB

MongoDB nybegynder - at normalisere eller ikke at normalisere?

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



  1. MongoDB Database Deployment Automation

  2. Find et dokument med ObjectID i mongoDB

  3. Hvordan kan jeg kontrollere, at en given dato ligger mellem to datoer i mongodb?

  4. Simpel PHP mongoDB Brugernavn og Adgangskode Tjek for websted