От моя опит извличането и манипулирането на данни от колони на масиви е по-бавно. Така че обикновено предпочитам асоциации.
-
Имайки колони от масиви, вие не сте толкова гъвкави при заявките към DB.
-
Изтеглянето на данни от DB е по-бързо с асоциации.
-
Ами ако съхранявате категориите на книгата в DB като масив и решите да промените името на една от категориите?
Имайки асоциация, това е само промяна на някаква
Category
име на екземпляр, защото е свързан с други екземпляри (книги например) чрезid
. С array ще трябва да преминете през цялата колекция от книги, за да актуализирате името на категорията.
Бих използвал array
, json
или jsonb
колона за съхраняване на някои метаданни, ако свързването е излишно.