If I install the -dev package of a library, do I need the normal library package? for example, if I install libdb-dev, do I also need to install libdb5.3?
Generally speaking, every time you use a packaging tool (like APT, APTITUDE or SYNAPTIC) to install the development file of a library, such packaging tool will automatically select dependencies for that installation, and the library itself will be one of the dependencies.
This happens because, generally speaking, the development package of a library file is configured to depend on the installation of the library itself.
A possible reason why the compiled library is configured to be installed along with the library's development file is because after the installation of the library the packagin tool runs
ldconfig, thus making it easier for the developer to test the compiled library's features and performance before deciding wheter to modify the library's source or not. It also makes it easier for the developer to test new compilations of the modified library under the same library name.