The way imagecache and drupal work is based upon the behavior that drupal is called into play only when a file is requested that doesn't actually exist. For example, if a user requests
/sites/default/files/imagecache/WIDTHxHEIGHT/foo.jpg
and it doesn't exist, drupal is booted up and a menu handler is called within imagecache which grabs the original foo.jpg
and applies the WIDTHxHEIGHT preset and then stores the file back in place. Then the next time someone requests it, it does exist and the webserver happily sends it to the requesting user without getting drupal involved.
So... to your question, if you are using public files, eg:
/sites/default/files/foo.jpg
and have an imagecache preset of WIDTHxHEIGHT, the url of the file will be:
/sites/default/files/imagecache/WIDTHxHEIGHT/foo.jpg
eg, it is stuffing imagecache/PRESET_NAME
after the basepath of your public file directory and before the file in question. If you had an original file:
/sites/default/files/avatars/USERNAME/bar.jpg
it would turn into
/sites/default/files/imagecache/WIDTHxHEIGHT/avatars/USERNAME/bar.jpg
Hopefully you see the pattern emerging. And thus nothing is needed to be kept in the database to do all of this.
Imagecache DOES however use permissions to allow/disallow users to use each specific preset, so, you can use them to stop users from requesting files that will never be used on your site by them manually surfing around to presets.
Hope this sheds some light on it all.