Lo que quieres es una aplicacion que de una base de datos x muestre el diseño de las tablas y sus relaciones graficamente pero algo dinamico, osea que si realizas un cambio en el diseño se redibuje la vista..?
Suena interesante.. habria que idear un codigo para eso..
1) - logicamente, un code que lea la BD y devuelva los nombres de las tablas, de sus fields, e identifique las relaciones entre si.
2) - idear un modelo de representacion grafica parecido al de los programas gestores.
3) < opcional > - que permitiera hacer cambios en el propio grafico mediante metodos Drap & Drop y modificara asi el propio diseño de la BD