From: PS
To: Editor
Date: 25 Apr 2004
About 10 years ago, when I realized that I would be doing
database work for a long time, I began to search for books and magazines about
the subject in order to educate myself in the field. It wasn't long before I
found my first book, UNDERSTANDING
RELATIONAL DATABASES and my second book, AN INTRODUCTION TO DATABASE
SYSTEMS. I didn't read them; I studied them. Because I came from
a natural science background (I majored in chemistry), the mathematics in
Date's book was enlightening. I began to think about databases in the ways that
the two of you taught me and I rigorously applied those principles. Well, I
applied them at least as rigorously as MS Access allows me to; I at least
design my databases based on the principles and then do the best I can to
implement those principles.
What I have found, over and over, in every situation I have
encountered is this: when I follow the principles, what I end up with is
wonderful. It works, it is fast enough, it is small enough, it is reliable, it
is easy to understand, and it is maintainable. When I didn't adhere to the
principles, there was hell to pay, but I only made that mistake once or twice.
I even re-studied set theory, in as much depth as I could, in
order to better understand the Relational Database model. It was worth the
effort.
So, the reason I know you are right is because of the
superior results I get when I adhere to your teachings. It all looks good on
paper, the theory makes sense, and, most important, when the theory is tested,
it is found to be true.
I wonder how any supposedly intelligent people could think
otherwise.
A few years ago, I had an opportunity to train a bright,
young programmer as a database programmer. I tried to teach him everything you
taught me. I am still in contact with him and he has thanked me for what I
taught him. Some people do seem to get it.
I do post answers sometimes on a few MS Access lists. One of
the things I jump on is when someone recommends or says it is a good idea to
use MS Access's Autonum data type for primary key. I climb on my soapbox and
try to explain what a primary key is, what it is for, why every table has to
have one, and why an AUTONUM therefore is a fantastically bad choice. Sometimes
I am heard, but I am getting tired of fighting that battle.
Just thought I'd finally write and say thank you for teaching
me how to do a good job.
From: Fabian Pascal
To: PS
Good for you. There is little satisfaction in my line of
work, but for the knowledge that there are at least a few practitioners who
benefit from foundation knowledge. Thanks for letting me know.
It's too bad that you are limited to Access and don't have the opportunity to
work with TRDBMSs (they don’t exist). You may want to take a look at Alphora's Dataphor data language, a step in
the right direction.
Incidentally, we are unaware of any mathematics in Date’s
book. It does expound the logic basis of databases management, but
that’s hardly the same thing.
From: PS
I attend a MS Access User Group in Manhattan. It is a really
good group, we often get some name-brand speakers, and I get to rub shoulders
with, and learn from, other expert Access programmers. All-in-all, I learn
things at these meetings that I couldn't have learned anywhere else I know of.
But the group is mixed. Last meeting I was at, one woman said she doesn't use
Joins because, if I remember what she said, she wasn't comfortable with them,
or didn't understand them well. She apparently needs a course in Set Theory.
Anyway, ready for this? She does it with cross-products!!! In the designer grid
for queries, she just drags both tables into it and specifies her Where
condition. She didn't know that she was doing a cross-product or even what they
are. Unfortunately, neither she or most of the people in the room
understood the inappropriateness and inefficiencies of her practice. The
speaker was Steven Forte and he did give me a knowing look and I felt he was a
bit surprised that anyone in the room got it. The point of this is that I think
that one of the reasons that so many practitioners don't understand the value
of the Relational Model is that they don't have the educational background or
orientation to understand it. Perhaps the younger crowd, who have a proper and
rigorous Computer Science degree may be able to see the value of the Model, but
I don't think we are every going to teach these old horses any new tricks.
It does take some mathematical background to understand the
model. I think that just saying that the Model is based on "Set Theory and
Predicate Calculus" scares the bejebers out of anyone who has never
cracked a book on these subjects. Most people are afraid of mathematics and I
think it is because it is simply not taught until you get to college, if even
then. I think most people think mathematics is all about balancing your checkbook,
merely some boring and rote techniques for doing calculations; they think that
all mathematics is arithmetic. And their impression is that you have to be
someone like an Einstein to make any sense out of anything beyond simple
arithmetic. Very sad.
From: Fabian Pascal
Yes and no. I have been writing about the failures of the
educational system due to anti-intellectual nature of this society for years.
The problem is that it is being dumbed down more and more, so today the younger
crowd knows almost nothing, certainly much less than the older crowd. It's a
lost cause.
I don't think you need to know mathematics to understand RM
and its value. But it's important to know math and logic to develop one's
mind as a reasoning person. This is precisely what those who own this
society don't want! That's how they can get away with selling all sorts of
crap, or with the last "election" results. If you had a public with
ability to reason, you couldn't control and manipulate them so well, could you?
Posted
07/16/04