When listening to developers talk about databases you will usually hear buzz words like robust, scalable, efficient, etc. Discussions will focus on the power of the DBMS (Database Management System) and how it integrates with other technologies. In our case, however, we don’t really care about most of those things. Instead we are going to be looking at the cost of getting started, tools, the user interface and availability of help, especially help for the beginner.
In the following list we’ll talk briefly about each DBMS, give you some pros and cons, and show you how to download and get started with each of them.
MySQL Community Server
This DBMS gets the number one nod mainly because the community version is free and is a great platform to begin learning on. There are, of course, commercial versions of MySQL for sale once you get to the point where you are developing large scale commercial applications, but getting started will cost you a big fat nothing.
There is also a community version of their MySQL Workbench tool which gives the beginner a nice GUI (graphical user interface) to visually design and work with database tables. MySQL Workbench is reasonably intuitive, helps the beginner learn syntax by allowing the user to see syntax created by the tool when a task is designed, and has decent help documentation. Better than the actual help documentation you can find a ton of online tutorials, blogs, articles, etc. on developing in MySQL.
To get started with MySQL download both the MySQL Community Server and MySQL Workbench tool.
Unlike MySQL, Microsoft’s Access is not free. However, as it is part of Microsoft Office, many developers (and students) already have it. Even if you don’t use Microsoft Office you can still download a trial version of Access which will get you 60 days to play around with it and see if it is for you.
Access does have some key similarities to MySQL. It lets you design a table or task visually and then see the syntax that gets created. There are also some good and not so good differences. On the good side Access doesn’t have two separate installations (one for the DBMS and one for the design tool) but rather all comes as a single application. On the down side, Access has some significant limitations. It’s not nearly as flexible on which operating systems it can be installed on. More significantly, it has a serious limitation in how many concurrent connections it can handle before performance degrades. What that means is that Access is ideal for learning and for low traffic hobbyist websites but becomes sluggish and unsuitable for websites that have moderate or heavier traffic.
Microsoft SQL Server Express
With this DBMS and the next two, we step up to the big boys. Microsoft SQL Server, Oracle and DB2 are the most popular of the major DBMS’s. They each have separate design tools and server applications that must be installed.
In truth, Microsoft SQL Server, Oracle Express and DB2 Express are all very similar in tools and functionality. Their biggest differences lie in the syntax of their SQL, therefore, they are not really listed in any particular order. The Microsoft SQL Server option does have one drawback in that the operating systems it will run on are limited.
You can download Microsoft SQL Server Express for free.
Oracle Express Edition
Oracle Express also has tools and a separate server application. It also has more operating system options than Microsoft SQL Server Express. The download options are also much more abundant than the others in this list. But all the download info you really need to get started can be found here.
The install options and supported OSes of DB2 Express-C are very similar to those of Oracle Express. Online tutorials, articles and examples, however, are not as abundant as the other options in this list but are still more than adequate.
You can also download DB2 Express-C to get started.
So, Which One Do I Choose?
When deciding where to start I suggest you go through a simple series of common sense questions:
Are you learning SQL for work?
If you are learning SQL for work, for example, you will be best served selecting the same DBMS that you use at work. By selecting the same DBMS that you use at work you will save yourself much pain and suffering with SQL syntax confusion when you start doing actual development.
Are you learning SQL with or for a web development technology like PHP or ASP.NET?
If you are learning SQL to use with a web development technology then you will find that your life will be much easier if you select a DBMS that is either created by or made to work with your web technology of choice. For example, ASP.NET developers will usually select Microsoft SQL Server or Microsoft Access, PHP developers will usually choose MySQL or Oracle, and Java/WebSphere developers will usually select DB2.
Are you learning just to expand your brain?
If none of the questions above really apply to you I would suggest you choose either MySQL or Microsoft Access as they have good user interfaces and great online content.
Getting started with database development is not nearly as hard as it used to be. As you can see above, all major DBMS producers offer a free version of their enterprise products. That means the cost to get started is pretty much whatever it is going to cost you for some books. You could even avoid that cost by surfing through the tons of tutorials, examples and references available on the internet.