How to duplicate an object hierachy and keep the copies in sync?
Using Blender's "Linked Libraries" feature may work for you here. It lets you import and link groups or objects from another .blend file  using File > Link, then selecting a .blend file with your table (and chairs).

This way, you build your table and chairs in another file, then use them however you want in your main scene. Editing the table file and reloading your main file will update with your changes.

Another option (which I think also works with a linked file) is to group your table (and chairs), then choose Add > Group Instance to create an empty that will duplicate the grouped objects. This is called a DupliGroup. Changes you make to the   grouped objects are updated to all dupligroups.

If you need a lot of these objects, you can also take a look at DupliVerts.

Relevant Documentation:
Linked Libraries 
DupliGroup