I'm very new to databases and I need some help. I'm a computer science engineer who's done a lot of coding in assembly, Basic, C++, java, HTML, and VBA. I'm currently a student but I'm also working for a large company developing software tools.

I've been requested to create a database-based application and I need some help in figuring out which database I should use. I have three current choices of Oracle, MySQL, or PostgreSQL.

Below is a rough scheme of the application layout:

The application will consist of a few databases. One database will automatically go to another website(or another database) collect information and store that information.
Another database will contain a large number(100-200) of java files that will be updated and added to every month.
Another database will consist of files for each user. These files will contain the information for the layout of their personal page, their shared files, and their private files.
The application will be web based and will only be accessable from inside the company.

The user will work with the application as follows:
1) Type in a URL to a logon site
2) After successful logon, a user's personal page appears
3) Page will allow them to run a java web applet, run trend analysis on database information, search files that other's have shared, remove/add shared files, remove/add private files, logout, change personal information, and other small functions.
4) Users can run the java web applet program and then can either save the information to the database for storage or delete the information.
5) User can search for other user's files and send e-mails to the users.
6) etc..

There will be approximatly 100-500 users and the size of the database should not reach over 100GB.

Any advice would be greatly appreciated. Thanks!!