This week's book giveaway is in the Mac OS forum. We're giving away four copies of a choice of "Take Control of Upgrading to Yosemite" or "Take Control of Automating Your Mac" and have Joe Kissell on-line! See this thread for details.
Depends on the database really. Most databases keep the information about the fields and tables in a special table, so you can just issue a query on that table. Can you tell us a little more about what sort of setup you are working with?