То есть сколько потьенциально возможно классов - столько должно быть таких столбцов ?
Это несовсем верно, в разных столбцах могут быть данные принадлижащие одному и тому же классу (типу)
Например:
-----------------------------------------------------------------------
id | name | soname | patronymic | age | pasport_data |
-----------------------------------------------------------------------
1 | Jhon | Smith | | 31 | 2389; 234111; 10/11/13 |
2 | Tom | Kent | | 28 | 2222; 333211; 10/03/02 |
3 | Иван | Иванов | Иванович | 25 | 7777; 333211; 13/08/00 |
-----------------------------------------------------------------------
В этой таблице name, soname и patronymic это QString, age это int, а pasport_data пользовательский класс имеющий функции сериализации с QString.