I wrote an article (for C++) that might be of help. It retrieved menu items from a database and built the entire menu structur for a desktop application from the retrieved menu items. It may help you come up with a design, so here it is:
Dynamically Build Your Menu and/or Toolbar[
^]
The key is having your table structure adequately defined to alow for sub menus. I used a numeric menu id for every menu item, and each database record had a column for ParentID so I could associate a menu item with it's parent. A ParentID of 0 indicated a top-lovel menu item.