Building Web Apps: Part 1. Where to start?
June 27, 2009 Leave a Comment

dilbert on databases (c) Scott Adams, Inc./Dist. UFS
Part of what I do for a living is building information systems. These systems, generally web based applications, solve business needs such as time recording, billing, forecasting, expense management and so on.
I thought it might be useful to give some pointers on how you can start learning exactly how to build a web application. I’ll provide an approach on where to start, what good learning resources there are and will show sample code along the way.
Obviously there are a lot of different technologies you can use to build web applications. I use Microsoft technologies such as ASP.Net and SQL Server (a database server).
Don’t get too bogged down just yet on the specifics. I am going to start at the beginning, the core of any web application…the database and in particular SQL (the code that is used to talk to a database).
What is a database?
The database is the most important part of a system. If you understand databases and sql you are well on your way to building a web app. This is where all the data is stored. You need to be good at dealing with the data, know how to use it correctly and ensure that the database is designed correctly (very important). If you don’t then you may as well be a Formula 1 mechanic who doesn’t understand engines. No matter how flashy and aero-dymanic the cars bodywork is it just isn’t going to perform or win any races.
Databases are everywhere. So, for example, when you use your online banking all the transactions you see on the screen were retrieved from a database and displayed on screen. You can use SQL to retrieve that data and also to update any changes to that data back into the database.
Here is a very simple SQL statement that would retrieve your transations in your online banking.
Select TransactionDate, Description, Amount
from Transactions
where CustomerID=340
As you can see SQL can be very simple and easy to read. The above statement is asking the database to retrieve data from a table called “Transactions” related to a CustomerID of 340. A table is a bit like a single spreadsheet where all the data is stored in rows with each column representing a piece of data. In this case the spreadsheet would have 3 columns, one for TransactionDate, one for Description, and one for Amount. Now, please be aware that some database people will get upset by comparing a table to a spreadsheet. It is a purist thing but to help you get some analogy into your head it is a good comparison for starters.
It goes without saying that the above is a very simple example and there are lots of very long books written about just partial aspects of databases. But don’t worry, you are just starting out and you can learn more as you gain experience.
So, what are your next steps?
- Read about what a database is (search google for “What is a database?”)
- A good SQL book (one I used in college) is LAN Times Guide to SQL. This is a good place to start.
- Check out these useful resources from Michael Lang (lecturer in NUI, Galway)
- Start learning SQL, W3Schools has an online tutorial and demowhere you write SQL.
- There are other beginner books on Amazon such as Databases Demystified
In a future post I will cover more on databases and SQL. Just remember that databases and SQL are absolutely core to building systems. You need build up your skills in this area first.