Business Database Design
Access your up to the second data from any
machine connected to the Internet. Read it, change it, delete it, add new data.
All this is easily and cheaply possible.
1. Work from anywhere
Much day to day work in many businesses consists of working with data
on a computer. This data is often on a computer at the workplace and
can be accessed only from certain computers. Often this data is copied onto
mobile devices which people use on the road. Obviously, very soon these different copies
of the data are not the same anymore. Then they have to be synchronized.
If this data can be moved to a multi-user, online database, accessible to any computer that can
connect to the Internet, then everyone who can log on will be able to work with data which is
always up to date from anywhere. Doesn't this sound good? And it is easily and quite cheaply possible.
2. Get the right people to create your database
A business database must work perfectly. For that to happen, it must be designed according to a
specific set of rules. To learn about those rules, look at the database
design tutorial on this site. Trying to do it yourself will almost certainly create problems. Can you afford problems?
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, in this case, creating your own
database. 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.
The rest of this page tells you about databases and things related to databases.
3. Of database applications, web applications and databases
What is a database application? Here's a quote from Wikipedia: "A database application is a computer program whose primary purpose is entering and
retrieving information from a computer-managed database." That's to say your database application
is not strictly speaking part of your database. It is the program you use to interact with your database.
What is a database, then? Again, here's a quote from Wikipedia: "A database is an organized collection of data, today typically in digital form."
Think of the actual database as something like the engine of a car - not very user friendly, but without it the car is
useless. Think of the database application as the rest of the car - the body in which passengers sit, the steering wheel,
the brakes, the accelerator, etc. In short, what the user uses to make use of the car.
The best known database is MS Access. As MS Access was built for users who don't necessarily have much computer
knowledge, MS has gone to great lengths to make it easy to use to create databases and database applications with it.
In fact, one can create something in which the line between the database and database application becomes quite blurred.
Also, MS Access is not the most powerful database solution out there and is not really used on the Internet. For power
and scalability (the ability to handle many concurrent users) there are quite a few choices: Microsoft's own MS SQL Server,
database products made by Oracle, SAP and others, as well as open source products like MySQL, PostgreSQL,
Firebird, Drizzle, and more.
Database applications are built by the people who design and create your database. The most useful database applications
live in an application server and are accessed using a plain old web browser, like Firefox, Chrome, Internet Explorer
or any other browser. Database Applications prefers using the Grails framework
for creating database applications accessed using a browser.
A database application living in an application server and is accessed
over a network using browsers is also called a web application. Interacting with a database may not be the only task of a
web application. All online shops use web applications. They handle the sales and secure online payments, as well as any
other tasks. The web application behind this site handles the form mail on the information page
as well as the links on the sites page. The links are stored in a database.
4. 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 business database? 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 business database 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 database application can be tightly integrated with the
business database itself. If MS Access is used, both the database application (also called the front-end)
and the actual database (also called the back-end) can be in one file, making setting up
communication between the database application and database unnecessary.
If, however, different users are going to access this business database from different machines, the database application
needs to be separate from the actual business database. Ideally, the database application, 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 database application that requires some set up, to run correctly
and connect to the business database. This is all the more true if some users have
different versions of the operating system required by the database application 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.
5. 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 to which future changes have to be applied
- 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 - in this case you truly have an online database
- if you choose any kind of private network, a server machine on your network running:
- the database application - which can even be something like an online shop
- the software database server which runs the business database - 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
5.1 The server machine for your own network
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
5.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:
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
188.8.131.52 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
Not only that, they integrate easily into a Windows network and your online database application is easily accessible using
the browser of a machine running Windows.
184.108.40.206 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.
6. 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.