Honestly... this question has many answers... too many to enumerate here. Largely this depends on the type of file-system... and the OS reading it... and also what features of the file-system are enabled.
Every file system has some sort of "database" as you described to translate a name/path to one or more locations on the disk. How this "database" works is what makes each file-system different. Some methods are better for some tasks than others. Some are more recoverable & redundant in the event of a failure... some are strictly geared towards speed and have almost no recovery in the event of a single failure.
Depending on the OS, and the file-system type, the "database" can be partially or even completely loaded into RAM in order to help speed-up the process of locating the position on the disk. Some file-systems make use of linked-lists & b-trees or other types of ordered trees in order to quickly locate files. Journaling can also speed-up the read/write processes dramatically (given the right conditions). There are even file-systems (mostly proprietary) that truly ARE a database.
The real question is... Why do you want to know... and what are you trying to accomplish? If you want more specific answers... give more specifics about what OS/platform/file-system you are talking about.
linked lists
andB tree
.