setting up multi-user, multi database server(sql) here's the thing, i'm taking an advanced java class and we are going to be accessing a database to edit tables and such,  we tried using freemysqlhosting.net but we all couldn't connect at the same time due to same external IP (possibly). I was wondering if I could host a sql server at home using any microsoft or free sql server program for everyone to access their own database from school without any problems.  Is there any possible way to do this?
As Max said, you can do this with the free SQL Server edition, SQL Server Express. You should be aware of some of the limitations (on top of the fact that I have no idea which JDBC client / library / driver / provider to recommend, and whether it will have any of its own problems):


Each database is limited to 10GB in data files;
each instance is limited to 1 GB of memory and 1 socket / 4 cores;
there is no SQL Server Agent or Database Mail; and,
many other features are simply not present (see the full feature list).


If those limitations don't affect you, then okay, SQL Server Express is a candidate. That said, just having SQL Server Express installed on your home machine is not the end of the story. You will need to consider the following things, and may need to speak to your ISP to resolve some of them:


They probably do not allow incoming connections on port 1433 (or virtually any other port that you could use for SQL Server). If you discover an open port that you're not already using, it may work technically, but you are likely violating your terms of service, since they typically do not support or condone you running your own services that are accessed remotely. If that port isn't part of the service they have guaranteed, they could shut that port down at any time and without warning.
Your IP address may change frequently and unpredictably, so you would need some kind of dynamic DNS service to keep that reliable (or constantly have to tell your students the new IP whenever it changes). I'm not sure which of these services are free, but you can do some of that research on your own to see if any provider makes sense for you. 
Depending on what they are doing with the data, you could very easily exceed your bandwidth cap and - if you are trying to do this on the sly - alert them that you are hosting services (see #1). They may have clauses in your contract whereby they can terminate the agreement or upcharge if they deem the activity to constitute any type of denial of service attack.


So without any problems? Maybe. It depends on how your ISP operates, but I suspect that is a tall order.