Companies of all sizes depend on databases — organized
collections of electronic information stored on one or more computers in a
systematic way — to function and do business. Almost every business function
relies on databases. The personnel department needs a database of employee
information. The sales department needs a database of the company’s products.
Even the IT department itself relies on databases such as Active Directory to
store information about the users, computers and resources on the network.

A database can consist of a single table (collection of
information) or multiple tables of related information that can be linked to
each other (called relational databases). The tables are linked via a field
that they both have in common. Database software can range from the simple
Microsoft Cardfile.exe program that was built into the Windows 3.x operating
systems to more sophisticated but relatively inexpensive relational database
programs such as FileMaker Pro or Microsoft Access
all the way up to enterprise-level server-based programs such as Microsoft SQL
Server or Oracle.

Making the decision to commit to a particular database
program, whether you’re implementing a database for the first time or
considering a switch, can be a difficult one. There is no “one size fits all”
solution, but there are ways you can ensure that you don’t outgrow your software
too quickly as the size of your business increases.

How much database do you need?

Small businesses may not need or be able to afford the “big
guys” — if you can even figure out what they cost. Licensing/pricing
structures can be confusing. For example, Microsoft’s SQL Server 2005 can be
licensed under several different models. With processor licensing, you pay a
hefty fee (from $3899 for Workgroup Edition to $24,999 for Enterprise Edition)
per physical or virtual processor on which the software runs. The up side is
that you don’t have to buy Client Access Licenses (CALs)
under this model. Alternatively, you can use the Server Plus
Device CAL or Server plus User CAL model that costs only $739 to $13,969 for a
set number of CALs (5 for Workgroup and Standard
Editions, 25 for Enterprise) plus $146 to $162 per additional device or user.
In fact, it’s so confusing that Microsoft has even put out a whitepaper
on Understanding Database Pricing
.

Oracle’s pricing structure is similarly complex. There are
three main editions: Enterprise, Standard and Standard One (for single CPU
servers). Each has different features and prices. Per-processor licenses range
from $4995 to $40,000. Named user licenses range from $149 to $800.

If you’re a small company, then, what are your options? How
can you set up a database that serves your needs now, without spending a
significant (albeit lesser) amount of money on something that you’ll have to
trash in the future as your needs grow? There are actually several ways you can
go:

  • If
    your database needs are small and confined mostly to individual users, you
    can use Microsoft Access, which comes with Microsoft Office Professional an Small Business Management editions or can be
    purchased as a standalone product for under $200. An advantage of this
    approach is that if you later implement a Microsoft SQL Server database,
    Access can be used as the “front end” (the interface with which users
    access the data on the “back end” SQL server).
  • Use an
    open source database program such as MySQL, PostgreSQL or Borland Interbase 6.0. Some of these run on Linux/UNIX and
    some run on Windows.
  • Use a
    less expensive server-based product such as FileMaker.

Commercial, custom or “roll your own”?

A generic database program such as the ones we’ve been
discussing allow you to design the structure of your database and create the
data entry forms that will be used to enter the information into it, as well as
including tools to sort and manipulate the data and ask questions about the
data (query the database). Many include programming or macro languages that
make it easy for you to automate the functions, as well as templates, sample
databases and wizards that can walk you through the process of creating your
databases and forms.

You can buy commercial applications built on databases that
are already created for you, for specific functions or industries. For example,
you can buy accounting or finance management software instead of using database
software to create a program for managing your money. If your manufacturing
company needs a parts inventory program or your city government needs a program
for managing police or municipal court records, many companies have already
created such programs that they market commercially.

If the commercial programs aren’t an exact match for your
needs, there are also many companies that will create custom database packages for
you after analyzing your organization’s data and how you want to be able to
manipulate and access it.

It can be far easier, especially if you’re a small to
medium-sized organization without in-house programmers, to buy one of these
ready-made database programs or hire a database programmer to create one for
you. However, if you choose that route, it’s especially important to keep
scalability in mind. If you buy a proprietary program, you may be forced to go
back to the vendor — at high cost — if you need changes or upgrades made as
your organization grows. And what happens if the database company goes out of
business? You could be left with software that can’t be upgraded at all. On the
other hand, if the commercial or custom program is based on a standard database
program such as Access or SQL Server, anyone who’s familiar with that program
will be able to make changes for you in the future.

Planning ahead for scalability

Planning ahead applies not only to deciding which database
software you’ll use, but also to how you structure your database. In designing
a database, you should consider not just what information you want to enter
into it now, but also additional information that you might need to include in
the future.

Database architecture is a specialty area that requires a
broad knowledge and training in analyzing organizational needs, because the
structure of the database will influence how easy or difficult it will be for
users to enter information and get the information that they need out of the
database.

This is one area where careful planning can save you big
bucks and major headaches on down the road.