database applications logo image

Database Applications

We design and create custom databases for businesses of any size. We also create web applications, online databases, online shops and interactive websites.

Database and Web Application Design

1. You have many options

In the field of data storage, retrieval and manipulation there is a bewildering number of options. For most computer users the word database means MS Access. In a few cases they also know about MS SQL Server and have heard the word Oracle, but they're not sure how exactly Oracle differs from the Microsoft products.

Limiting your choice to what you know about is natural. One cannot include anything in one's options one doesn't know exists. Unfortunately, it is what one wants to do and how one wants to do it that is important in making a choice about the best framework and technology to use, not what one knows about.

It's always better to ask someone who really knows the field before embarking on a new project in an unfamiliar field. And let's face it, there are many things a business will only need once in its lifetime. So it's not surprising that the people in such a business are not experts on that one thing. You can get going by sending us some details about what you need and have in mind. We will get back to you real soon.

2. Your needs determine the framework you need

One of the most important questions you have to ask yourself is how many people are going to use this application? If only one user is going to use it, it's unlikely that access control (user names and passwords) is needed.

The second equally important question is how is this application going to be accessed? If all users using it are going to use it from the machine on which it lives, network access is not needed and the part of the application used to access the data can be tightly integrated with the database itself. If MS Access is used, both the part accessing the data (also called the front-end) and the part containing the data (also called the back-end) can be in one file, making setting up communication between back- and front-end unnecessary.

If, however, different users are going to access this application from different machines, the part of the application used to access the data needs to be separate from the part responsible for the data. Ideally, this front-end which lives on different machines should require no user input to configure it to get it to run correctly. This cannot be stressed enough. It is absolutely guaranteed that some users won't be able to get a front-end that requires some set up to run correctly and connect to the back-end where the data is. This is all the more true if some users have different versions of the operating system required by the front-end or different versions of the database software. With MS Access, users of the front-end need such a front-end on each of their machines and it needs to be set up correctly. Either it is left to the users to set it up or someone has to do it for them. If left to the users, many of them will certainly get it wrong. Of course, it also means they have to have MS Access installed on every machine they use to access data. This translates to dollars you have to spend - many of them.

3. The ultimate multi-user framework

One has four aims in a multi-user environment:

  • limit end-user set-up requirements
  • be independent of end-user operating systems and operating system versions
  • limit the number of places future changes have to be applied to
  • limit the cost

There is no framework that so fully addresses all the above points as the following:

  • a network, either:
    • a local area network
    • a private wide area network
    • the Internet
  • a server machine on your network running:
    • the database application - which can even be something like an online shop
    • the software database server - unless you have a really huge user base and want to run this on a different server machine
  • plain old web browsers on the end user machines

This framework ensures the following:

  • no end-user set-up required - they only need to know how to start their browsers and enter the server location in the address field
  • if your end-user machine can run a browser, your database application and server don't care which operating system or version of that system the client machine is running
  • future changes are applied only to what runs on your server
  • you can choose a server operating system that doesn't cost anything and doesn't charge seat license costs

3.1 Your server machine

Here you have the following options:

  • if you don't have a dedicated server in your network, choose the most powerful machine that carries the lowest load
  • use your present dedicated server
  • buy a new machine and set it up to serve your database application to your users - more on this later
  • if your users are widely dispersed, obtain commercial hosting and let your users use the Internet - it's cheaper than you think

3.1.1 Setting up your own server machine for your database application

As this machine will serve only your database application and have the database server running on it, in most cases, its workload will be light. You don't need the most powerful and expensive machine available. The following points are important:

  • get a well ventilated case - cooling is very important
  • keep your server machine in a well ventilated area
  • your hard drive is the component most likely to fail - all brands have good and bad drives - don't get the current stinker
  • do get good quality RAM - preferably error correcting RAM - 4 to 8 GB will do
  • if you get error correcting RAM, make sure your motherboard can handle it
3.1.1.1 Setting up your own server - the operating system

Get a Linux server operating system, like CENTOS, Debian or one of many other Linux distributions. Not only are they free, but they are rock-solid and run most of the Internet. What do you think Google runs? Or for that matter the US Government? Not only that, they integrate easily into a Windows network and your database application is easily accessible using the browser of a machine running Windows.

3.1.1.2 Setting up your own server - the database

Here it's very easy again; get PostgreSQL or MySQL. Both of them run on many operating systems, including Linux and Windows and both are free. Both are also widely used on the Internet.

4. Do all these options confuse you?

First of all, if you're still with us you're going to get it right. You're obviously willing to spend time getting the right information. Sadly, not many are. You now know enough to get started. Getting input from people who will eventually use the system is always valuable, as is itemizing your aims and requirements about what you want. Time spent planning a project before it actually starts is not wasted. Planning time is often paid back many times over in getting it right, or nearly right, the first time around.