Идея конечно не фонтан, и нужно глубоко задуматься, насколько оправданно именно так реализовывать.
Ну если уж решил, то со структурами данных разбираться в зависимости от структуры бд (QList и динамическая память в помощь
). А чтоб из всех модулей иметь доступ: делаешь класс - поставщик данных, один экземпляр на всю прогу этого класса, в каждом модуле адрес этого объекта имеешь и обращаешься. На основе такого поставщика данных можно и модели наворачивать, если нужно отображать данные в представлениях.