Zkuste tento přístup:
Zjistěte, která entita (nebo entity) jsou hrdinové
Výrazem „hrdina“ mám na mysli entity, kolem kterých je databáze soustředěna. Vezměme si váš příklad. Hrdinou příkladu nemovitostí je dům*.
Vyřešte vlastnictví
Projděte si další subjekty, jako je majitel, agentura, obrázky a recenze a zeptejte se sami sebe, zda má smysl dávat jejich informace společně s domem. Měli byste kaskádové smazání některého z cizích klíčů ve vaší relační databázi? Pokud ano, znamená to vlastnictví.
Zjistěte, zda skutečně záleží na tom, aby byla data denormalizována
Podrobnosti o agentuře (a pravděpodobně vlastníkovi) budete mít rozmístěné po více domech. Záleží na tom?
Vaše domácí sbírka bude pravděpodobně vypadat takto:
house: {
owner,
agency,
images[], // recommend references to GridFS here
reviews[] // you probably won't get too many of these for a single house
}
*Ve skutečnosti je to pravděpodobně reklama domu (protože domy jsou obvykle inzerovány na realitním webu a to je pravděpodobně to, čím jste skutečně zajímá), takže to jen zvažte