When developing an interactive Web site, one of the most important design decisions is which database you’ll use on the back end. This is the issue that faces Builder.com member serval7, a self-described database greenhorn. In a recent discussion forum post, he said:

“… I don’t have much experience with database programs, [but] I have used Access in the past and it seemed pretty intuitive for me. (I’m good with MS products.) I have Dreamweaver MX and have been designing small (noninteractive) sites for some clubs in my school.

I want to know what I should use to create pages such as the ones on www.intranets.com or www.communityzero.com that have message boards, picture galleries, etc. I think they use databases to store all members’ information and the messages/discussions/pictures posted…. I would be glad if you could point me in the right direction for this.”

Serval7 already has one reply, from member Breze, who recommends SQL Server, particularly for those already comfortable with Microsoft development tools. If you have a different opinion or recommendation, head on over to serval7’s discussion post and share your input.

Consider other options
Access might work okay for a smaller site, but SQL Server would be a better choice for a large site, especially if you are going to do your development in ASP, which I believe Dreamweaver supports. Unfortunately, if you don’t already have it available, SQL Server does demand a hefty price tag, particularly if you are an individual seeking to purchase it on your own.

A scaled-down version of SQL Server 7, called MSDE, was distributed as part of Office 2000. You could use MSDE to do initial development for your site, with the understanding that you’ll eventually have to upsize to the real thing in the future.

The nice thing about ASP is that, when coupled with the ADO database access libraries, you have more than just SQL Server open to you as an option. Any OLE-DB or ODBC-compliant database can be used as a back end, opening up options like Interbase, Oracle, and other commercial database system packages.

Of course, those aren’t free either. Which brings me to a few open source options that will fit better with a miniscule budget:

  • MySQL is a speed-oriented open source database that’s popular among Web developers. It’s currently missing some advanced database features like stored procedures and transactions, but these are coming in a future version.
  • PostgreSQL is another popular open source database system. It has more features than MySQL, but isn’t as fast in some situations.

Databases are like sports teams, in that everyone has a personal favorite. But I believe either of the above choices would suffice for virtually any Web development project.

Not just interaction but collaboration
After looking over the example sites mentioned by serval7, it appears to me that these sites go beyond simple interactivity and actually provide online collaboration features. So in addition to needing recommendations for a backend database, serval7 might also need some ideas for providing collaboration features. If you’ve got some experience with that sort of thing, by all means head over to serval7’s discussion and lend some advice.