Re: SQL programming fundamentals

  • From: "Michael Moore" <michaeljmoore@xxxxxxxxx>
  • To: peter.robson@xxxxxxxxx
  • Date: Fri, 12 Sep 2008 11:21:15 -0700

Hello Peter,

Does the question pertain to SQL coders or data analysts? It is possible to
be one and not the other or both. The SQL coder has only a tangential need
for understanding relational theory. The coder may come across relational
theory terminology in discussion and documentation and it would be helpful
to understand the language of relational theory.  Byond that, I can think of
no benefit for the pure SQL coder.

As for the analyst, the knowledge of relational calculus could be either a
help or a hindrance depending his/her personality. Consider two boys that
were taught to fish using fishing poles. One boy might explore other ways to
catch fish such as using a net, spears, hands, dynamite etc. The other will
cling to his fishing pole and and study his fishing pole and even write
books about his fishing pole and condemn anybody who does not use a fishing
pole.

Part of the difficulty in answering your question is that that question
includes no objective. What is the objective of the data analyst? Hopefully,
the broader objective it to make money for his company. But will it be 'make
long term money' or 'make short term money'. In this respect the good data
analyst will align himself with the goals of his management.
The successful data analyst/designer will need to balance several factors:
 1) interpersonal relationships
            If you can't get along with people you are likely to do more
harm than good
2) interpersonal communication
           Knowing how to ask the right questions
           Knowing how to educate management about the trade off between
short term hacks and producing immediate results. There is no point in
implementing a wonderful database design that will take two months if you
are going to be out of business in two weeks.
3) compromise - The Best Possible Hack
           Knowing when the best academic database design will be too costly
to meet the deadlines and to be willing to implement hacks in order to meet
the goals of management.
4) knowledge of good database design principles
           Should understand data normalization including there
various anomalies that result in unnormalized data.
           Should understand the circumstances under which data should be
denormalized.

So, that was a long winded, rather pedantic way of saying: No, relational
calculus is not terribly important to understand for SQL users.
If fact, I believe that had there never been a relational calculus,
databases would have evolved pretty much along the same path anyway. I've
worked many years on IDMS, a network structured database, and some on IMS
and on Magnum which the first commercially available relational database and
several others. It's all just sequential or random access. Relational is
just a way of abstracting the pointers for random access.

I would much rather see people spend time in the psychological study of
cognition and the philosophical study of epistemology. These studies will
allow for the provisioning of 'meaningful' data, of 'actionable' data, not
merely the efficient production squiggles on a computer monitor.

Of course all in my oh so humble opinion.

Michael J. Moore





On Fri, Sep 12, 2008 at 2:37 AM, Peter Robson <peter.robson@xxxxxxxxx>wrote:

> Hello Oracle-L,
>
> I have been 'lurking' on this list for manyyears. Time was when I
> contributed regularly, but now I'm content to read. Until now...
>
> I have been reviewing the latest volume by Chris Date due for imminent
> publication by O'Reilly, and I want to test within the wider SQL community
> some of the assertions that Chris makes. My own position is studiously
> neutral for the purposes of this exchange.
>
> How important do you believe it to be that any person who uses SQL in the
> context of their profession, should understand the relational theory and its
> logical underpinnings? Should such practitioners understand relational
> calculus (specifically the 'tuple relational calculus')?
>
> Thanks for your thoughts! And by the way, I am arranging a seminar in
> Edinburgh, UK on November 10-12 at which Chris will be presenting on 'A
> Relational Approach to SQL'. Attendance free - just intimate to me your
> interest in attending.
>
> Peter Robson
> Edinburgh
>

Other related posts: