[AccessD] Should Business use Access?

Jim Lawrence accessd at shaw.ca
Tue May 6 14:31:16 CDT 2014


A few years ago, when working on one government project, (it was Oracle), the number of tables was such, that the layout of the schema covered two walls in my office. I honestly have no idea how many tables and queries were involved, today, but I remember that the print out was done so we could keep track of what was happening as no one on the project could just remember everything off the top.

Jim

----- Original Message -----
From: "Arthur Fuller" <fuller.artful at gmail.com>
To: "Access Developers discussion and problem solving" <accessd at databaseadvisors.com>
Sent: Tuesday, May 6, 2014 8:42:48 AM
Subject: Re: [AccessD] Should Business use Access?

Jim Hewson (not Lawrence),
An Access app consisting of 72 tables is not a complex app. First of all,
we need two better words than "complex". I suggest "Rich" and "Large",
whose terms I think I inherited from Chris Date, but it might have been
Fabian Pascal, or even the Father of Us All, Codd (in close company I call
him The Coddfather).

History aside, I would describe a complex app as consisting of at least 500
tables, and there goes one of the main reasons why Access int its packaged
version falls a tad short of the mark. In specific terms, the Relationships
tool is woefully inadequate even with 55 tables, let alone 500. That's when
you need SSMS or equivalent tools -- when you need 10 relationship diagrams
not one, and when you need to concentrate on one aspect of the app rather
than the whole app, and that one aspect might involve 100 tables. This is
especially important when the team involves several programmers, and also
when developers die or retire, and new hires have to be brought up to speed.

I neglected to define the terms Rich and Large. Rich means there are
hundreds of tables, many of which have a relatively few rows. Large means
they are relatively few tables, but they contain millions of rows. It is
also possible that a given database is both Rich and Large, but that
happens rarely. Usually the system is one or the other. I've developed a
couple of exceptions, for example the software that runs a nuclear plant;
that is way different than an app for a Mom'n'Pop hardware store or a
household renovation firm. Suppose for example that you need 584 parts to
assemble Product XYZ, and that every single part is potentially available
from several vendors, and that you need to check who can supply 486 of
these parts by tomorrow. You need to interrogate their inventory, and
suppose that nobody has 486 parts, so you have to split the order and
ensure that the deliveries shall arrive in time to fill your orders. This
sort of problem is not trivial. Failure could conceivably cost $750k per
hour.

I've done a lot of apps like this. It's expensive, but the development time
is peanuts compared to the profit if it works. Such companies understand
this, and so do we developers. It has got to work, or millions could be
lost in a day of down-time. Working on such projects has cost me a couple
of marriages, because I was two days late for dinner.

I'm too old to this stuff any more, but I remain fully aware of how
difficult it is. There is definitely truth to the maxim that your thinking
slows as you age, and it is also true that a young buck just out of
university hasn't the faintest glimpse of the complexity of such problems,
or the costs of failure. In jobs like this, failure is not an option.

I have done this sort of app, using Access with a serious server using SQL
Server and also MySQL. 500 tables and dozens of forms and 2k stored
procedures and queries. This stuff is non-trivial. It demands a whole lot
of design time and a whole of development time. You do it one piece at a
time, starting with the most financially critical. The whole project takes
several years, which enables you to buy a nicer car and perhaps a new
couch. You work insane hours and eventually your spouse leaves you. That's
the truth.

A.
​
-- 
AccessD mailing list
AccessD at databaseadvisors.com
http://databaseadvisors.com/mailman/listinfo/accessd
Website: http://www.databaseadvisors.com



More information about the AccessD mailing list