No. During the creation of the starting save file, the contents of chests, etc., are generated. At this same time, I believe, the generation of 255 skill trees for each hero also occurs.
A hero in one save file has only one skill tree, which clearly defines the acquisition of all skills across all possible development branches. For an infinite number of save files, each hero has 255 different skill trees, one of which will be in each specific save file.
Regarding the database. It's an incredibly difficult task, even for a single hero, to account for all the variations when the skill tree is altered by skills acquired "from the outside" – it's simply impossible. But a program can do it...