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