Según mi experiencia, la recuperación y manipulación de datos de las columnas de la matriz es más lenta. Así que normalmente prefiero las asociaciones.
-
Al tener columnas de matriz, no es tan flexible con la consulta de DB.
-
Extraer datos de DB es más rápido con asociaciones.
-
¿Qué sucede si almacena las categorías de libros en la base de datos como una matriz y decide cambiar el nombre de una de las categorías?
Tener asociación es solo el cambio de alguna
Category
el nombre de la instancia, porque está conectado a otras instancias (libros, por ejemplo) porid
. Con array tendrás que recorrer toda la colección de libros para actualizar el nombre de la categoría.
Iría con el uso de array
, json
o jsonb
columna para almacenar algunos metadatos si la asociación es una exageración.