well you can store images in database using some binary format or blob data type.
Or you can store the images in a directory and store the location of those images in a table in database.Both the techniques have their own pros and cons.
Images stored in a directory can be managed easily as updating or replacing the images are much simpler as it is just an file operation instead of massive update/insert/delete in database.
Images stored in the directory structure can be accessed from many different standard applications (FTP, web browser, etc) without writing application code.
Performance wise it is faster to store images in directory structure then pulling the images from database.
Your database size remains small.
But there can be some of the compelling reasons somebody wants to store the images in database.
One is, it makes your application more portable( although this can be proved otherwise in case you want to switch to some other DBMS and the blob datatypes differ).
Another reason is security. Images stored in database are considered more secure .
Yet another reason is the amount of data, if it is massive number of images, it might get a little difficult to manage them in file system (checking the duplicate files, naming them etc), so database can be considered an option.
Most DBs support Image or Binary datatype which you can use with images.
First you have to convert image to bytes. Here's a sample code in my blog:
Convert image to byte array and vice versa
and then store bytes to DB. This sample code uses SQL Server but the method can be used with any other DB:
Save binary data to SQL Server with VB.NET
Thanks for the links Teme64...