BuckSpy is pretty darn good (the professional version).
I use relational databases to hold my trail-cam data, but the info I collect is:
For each photo
Date
Time
Camera site #
Total # of deer in picture
# of bucks in picture
# of does in picture
# of fawns in picture
# of unidentifiable deer in picture
Unique bucks in photograph ID #s (and I use a five digit number for each unique buck. The first two digits are the year and the last three digits are his unique number for that year, with the very first buck identified for the year getting 001 and then moving up in number as new bucks are identified. For example, buck 07012 is the 12th unique buck identified in 2007).
I then have a separate database for camera sites (locations). I can link the two database (and this can be done with macros between spreadsheets) on the camera site #.
The camera site data is:
Camera site #
Date camera placed there
Date camera removed
Whether the camera site is baited or unbaited
Description of camera location by feature being covered (and I use a series of "keywords" here, such as "scrape," "saltlick," "trail," "food plot" etc. I leave room to use multiple keywords if necessary, such as "saltlick" and "trail" for a salt lick that is along a trail.)