For starters, the Database is the result, not the source. It's there to "capture" the data, but the VI client is a .NET app that talks directly to the VC. So if you have the SDK you need to interface with .NET not SQL database. If you notice when you shutdown the VC server it takes a few minutes for this information to update in the VC, that's because the VC is polling the ESX servers for this info, and it's dynamic, it's not sitting in the database.
The database tracks things like notes, the memory configuration, disk size, snapshots (which is all contained in the vmx file).
The Database is really just there for the machine's to keep track of which resource pool / ESX host they are in. So really ALL this info is found from within VC, and you are going to be much better off getting it via .NET API calls rather than reverse engineering / data mining from the SQL database. It's going to be cleaner and faster, because the DB updates after the fact... so there will be a second or two lag. Plus if you keep trying to get the data from the SQL statements you have to keep asking for this info many times a second..that's extremely inefficient.