sql >> Base de Datos >  >> NoSQL >> MongoDB

Principiante de MongoDB:¿normalizar o no normalizar?

Prueba este enfoque:

Descubre qué entidad (o entidades) son los héroes

Con 'héroe', me refiero a la(s) entidad(es) en las que se centra la base de datos. Tomemos tu ejemplo. El héroe del ejemplo inmobiliario es la casa*.

Resolver las propiedades

Revise las otras entidades, como el propietario, la agencia, las imágenes y las reseñas, y pregúntese si tiene sentido colocar su información junto con la casa. ¿Tendría una eliminación en cascada en cualquiera de las claves externas en su base de datos relacional? Si es así, eso implica propiedad.

Averigüe si realmente importa que los datos no estén normalizados

Tendrá detalles de la agencia (y probablemente del propietario) distribuidos en varias casas. ¿Eso importa?

La colección de tu casa probablemente se verá así:

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

*En realidad, es probable que sea el anuncio de la casa (ya que las casas normalmente se anuncian en un sitio web de bienes raíces y eso es probablemente lo que realmente interesado) así que solo considere eso