A family of Microsoft relational database management systems designed for ease of use.
In my objeect classes I often have a (sub)group of properties that I instantiate into the visio shapes as custom properties. These of course are saved with the document. A second strategy (assuming you are at v2007 Pro or greater) is to import you working data as datarecordsets, and link them to the shapes. This has the obvious advantage of being able to open the ExternalData window in Visio to examine the entire associated record.
There's a vb.net example of some of this over at http://visrackcompattr.codeplex.com/
hth,
al