|
|
Relacions i documents anidatsJoan Puigcerver Ibáñez Introducció¶Les bases de dades relacionals basen la seua estructura en taules i les relacions entre cada una d'elles. Aquesta estructura és molt útil per a molts casos, sobretot quan totes les dades d'una tenen una estructura idèntica. En canvi, quan les dades són més complexes podem decidir utilitzar un altre tipus de bases de dades, com MongoDB. Aquesta base de dades és una base de dades NoSQL, que permet emmagatzemar documents en format JSON. L'estructura de claus-valor que ens proporciona MongoDB és molt flexible i ens ofereix diferents possibilitats per modelar les dades i les relacions entre elles. Quant a les relacions, en MongoDB es poden modelar de dues maneres:
Segons la cardinalitat, generalment les relacions es modelen de la següent manera:
Documentació
Documents anidats¶Els documents anidats són objectes que es troben dins d'altres objectes. Quan un valor d'un camp conté dades complexes, es pot crear un nou objecte amb dades estructurades clau-valor. Documentació Documentació oficial de MongoDB sobre documents anidats: https://www.mongodb.com/resources/products/fundamentals/embedded-mongodb Exemple En aquest exemple hem creat un nou Relacions entre documents¶Tots els documents de MongoDB tenen un identificador únic que s'emmagatzema en el camp Per a modelar relacions entre documents, podem utilitzar aquest identificador com a clau forana. Informació També podem utilitzar un altre camp com a clau forana. En aquest cas, es recomana crear un índex en aquest camp per optimitzar les consultes que utilitzen aquest camp per realitzar la búsqueda. Documentació MongoDB índexs: https://www.mongodb.com/docs/manual/indexes/ Exemple En aquest exemple hem creat un document a la col·lecció Avantatges i desavantatges¶Cada manera de modelar les relacions té els seus avantatges i desavantatges. Els documents anidats són molt útils quan les dades relacionades són xicotetes o quan el nombdre de documents adinats és xicotet. També són molt útils en relacions 1 a 1, ja que tota la informació es troba en un sol document i no cal relacionar altres documents. No obstant això, si el nombre de documents anidats és gran, pot ser complicat realitzar emmagatzemar-los tots en un mateix document, ja que cada document té un límit de 16MB i si s'excedeix aquest límit, serà necessari dividir les dades en més documents. En canvi, les referències entre documents són molt útils quan el nombre de documents relacionats és gran, ja que permeten dividir les dades en diferents documents i relacionar-los entre ells. A més, redueix la redundància de dades, ja que no cal emmagatzemar la mateixa informació en diferents documents. No obstant això, les referències entre documents poden ser més lentes que els documents anidats, ja que requereixen realitzar més consultes per obtenir tota la informació relacionada. Bibliografia¶
📌 Aquest document pot quedar desactualitzat després d’imprimir-lo. Pots consultar la versió més recent
a la pàgina web.
🌿 Abans d’imprimir aquest document, considera si és realment necessari. Redueix el consum de paper i ajuda a protegir el nostre entorn.
|