Enligt min erfarenhet går det långsammare att hämta och manipulera data från matriskolumner. Så jag brukar föredra associationer.
-
Med arraykolumner är du inte så flexibel med att fråga DB.
-
Att hämta data från DB går snabbare med associationer.
-
Vad händer om du lagrar bokens kategorier i DB som array och du bestämmer dig för att ändra namnet på en av kategorierna?
Att ha association är bara förändringen av någon
Categorys instansnamn, eftersom det är kopplat till andra instanser (till exempel böcker) medid. Med array måste du iterera över hela samlingen av böcker för att uppdatera kategorins namn.
Jag skulle använda array , json eller jsonb kolumn för att lagra vissa metadata om association är en överkill.