[nfbcs] SQL training

Steve Jacobson steve.jacobson at visi.com
Wed Aug 20 21:02:45 UTC 2014


Tracy,

Of course, I don't know if I have worked with VSAM and IMS at the level that you have worked with them, but I have 
retrieved data from them a lot over the first twenty-five years of my career.  Over the past ten years or so, my 
job has involved using SQL against relational databases.  Before that time, I did use some SQL against DB2 
databases.  I started out mostly looking at the SQL of others to access DB2 databases and I did get an idea of how 
they worked by doing that, at least for simple queries.  When my job changed so that I needed to learn about using 
SQL against Teradata, there were a series of classes that we were all required to take including an introduction 
to databases and other such courses.  After I took those courses, I actually understood a lot of what I did under 
DB2 before I took those courses more clearly.  Since then, I have had to write and/or understand SQL that is very 
much more complicated than I had ever written under DB2, and I think a little formal training really helped me do 
that.  

The exposure I had to IMS did help me some as I moved into SQL by helping me understand that organizing data 
correctly can greatly impact how one can regrieve data, but many concepts are different when you move from IMS to 
SQL.  Certainly the idea of going into an IMS database and getting a key that you then use to get additional 
information from another database is, from an informational viewpoint, not unlike joining in SQL.  But in SQL, 
there is no "get next".  You don't think it terms of having a list of customers and calling IMS for each customer 
on a list with various "get uniques", you think about giving the entire list to be processed in one way or another 
and getting the information back for that list.  

A co-worker could certainly get you up and running, but you wouldn't necessarily realize that you had gaps in your 
knowledge because it is very hard to really know what you don't know.  An experienced programmer such as yourself 
isn't going to need as thorough a course or book as someone who hasn't done much programming, but I believe some 
kind of formal exposure to relational database terms is going to be extremely helpful to you.

I would caution against just running out and buying any book or taking any course, though.  While it is true that 
the SQL that you use in, say, MS Access and what you might use on DB2, Oracle, and Teradata is going to be very 
similar, there are going to be some differences in how different databases organize data.  Teradata, for example, 
is designed to spread data equally across nodes so it can use parallel processing.  Getting some information about 
relational dabases from the company whose system you are using will likely help you write better queries for that 
data, and it will help you learn why certain queries will work better than others, and this may not be the same on 
all platforms.  To the degree you can, take the courses that are offered to your co-workers.  I took some of my 
courses without actually having access to the platform with speech.  I often paired with another student and spent 
my time taking a lot of notes.  I found that generally I was able to help enough with exercises such that I was of 
some help.  Those were classes with teachers, though.  You may not have that option, and you also may not have on-
line courses that are very accessible.  If that is the case, find out if the company whose database you are using 
has any straight lectures that you can listen to.  Teradata had a lot of them and I found them very helpful.  It 
is very possible that you could find a way to get the formal background you need without having to hire someone to 
help you take an inaccessible on-line course.  

So what I'm saying is that the differences between IMS and VSAM and using SQL against databases is different 
enough that it is worth not just trying to learn it all from a co-worker.  While SQL has many common elements 
across different platforms, different aspects of SQL might be important on particular platforms so I would look 
for ways of getting some basic relational database information from the company whose database platform you are 
using.  You may not need to take an on-line course.  If your co-workers are not undergoing training just now, you 
might be able to find lectures or other topical information from the company to put together an equivelent course.  
Because of the kind of work you have done, some concepts will be easier, but you don't want to just learn general 
SQL, you will do much better if you learn it within the context of what your employer is using.  This doesn't mean 
that you will have to take weeks to do this, though, but you will want to take more than an hour or two.

Best regards,

Steve Jacobson

On Wed, 20 Aug 2014 12:16:51 -0700, Brian Buhrow via nfbcs wrote:

>	hello Tracy.  I'm not an IBM expert, but my quick  refresher read of
>wikipedia suggests that VSAM is a storage mechanism which has IMS or DB2
>built on top of it.  If you are familiar with using DB2 then you are
>familiar with a relational database.  If you are only familiar with IMS,
>then you are familiar with something known as a hierarchical database.
>Hierarchical databases are quite different from relational databases.  If
>IMS is your forte and DB2 is something you aren't that familiar with, I
>think you'll find it very useful to take a class that discusses the
>design concepts of relational databases.  You'll be familiar and
>comfortable with many of the concepts of the relational database model, as
>it's an extension of the hierarchical model in some ways, but some of the
>concepts and design philosophy will cause you to have to rethink the way
>you understand certain aspects of the database landscape.  I think a class
>with a practical exercise component will be a faster more efficient way for
>you to make the switch.  I won't say you can't learn it from a colleague,
>I'm very fond of that method of learning myself, but I think you'll get a
>deeper understanding of the fundamental differences between the two models
>and this will help you "up your game" with respect to database work for a
>long time to come.  I don't consider myself a database expert, but I do
>know enough to say that good database skills will make you a very valuable
>asset in the workforce.  You'll be a little like the fabled television
>repair man who came to fix a broken television one fine day.  After
>considering the broken set for a few minutes, he whacked the side of the
>unit.  The TV began working immediately, the repair man left and the TV
>worked flawlessly for a long time.  Several weeks later, the bill arrived
>from the repair man.  "$100" is what it said.  The owner, outraged, called
>the vendor to complain that all the technician had done was to hit his
>television.  Several weeks later, a second bill arrived.  "Total cost:
>$100.  Repairs include the following items: Hitting side of television:
>$5.00  Knowing where and how to hit side of television: $95.00"

>-Brian
>On Aug 20, 12:49pm, Tracy Carcione via nfbcs wrote:
>} Subject: Re: [nfbcs] SQL training
>} Hi Bryan.
>} I have been working with databases for 25 years.  Our current system uses
>} VSAM, but the old one used IMS, which was a lot more powerful, mainly
>} because I could add indices or even whole databases..  Anyway, I think I
>} have a good understanding of that kind of database.  Are relational
>} databases so different that a whole class would be useful?  I'm willing to
>} take one if that's so, but if I can get the same info talking to a
>} colleague for an hour or so...
>} 12 hours quicker, ay?  Impressive!
>} Tracy
>} 
>} > 	hello tracy.  If you're interested in taking a class to learn SQL,
>} > I suggest looking around for a class on an introduction to databases
>} > in general with an emphasis on the particular database you're using at
>} > work.  SQL syntax isn't that hard to learn from books and the like, but
>} > gaining a broader understanding of database designs, structures and use
>} > cases is.  Most database engines in common use today use SQL to manipulate
>} > their controls and import and export data.  I would imagine, then, that
>} > you
>} > might find a class at a local community college entitled something like:
>} > "A
>} > practical introduction to databases using MYSQL" or something like
>} > that.   Such a class would be exactly what you need to get started down
>} > the path of becoming a database and SQL techie.  I can tell you from
>} > experience that having a good understanding of how relational databases,
>} > and this is what all of them are these days, is invaluable when it comes
>} > to
>} > learning and using SQL syntax effectively.  Early in my career a colleague
>} > gave me a 10 minute lecture about how to construct queries against
>} > relational databases.  I was able to take the knowledge gleaned from that
>} > discussion and rewrite a report generator we used in a production
>} > environment in such a way that its execution time was  reduced by 12
>} > hours.
>} > That's powerful medicine and it gave me a new respect for database
>} > experts.
>} > 	By the way, it's worth mentioning that it would probably be best if
>} > you can get a class that uses the same database engine you use at work for
>} > its practical exercises, but if you can't find one that's convenient or
>} > workable, taking a class that teaches the general concepts but uses a
>} > different software package will still provide you a valuable benefit.  The
>} > concepts will be directly transferable to the software you use at work.
>} >
>} > Good luck and let us know what you find.
>} >
>} > -Brian
>} > On Aug 20, 11:09am, Tracy Carcione via nfbcs wrote:
>} > } Subject: [nfbcs] SQL training
>} > } I need to learn SQL.  I've got some time to do it.  I've been studying
>} > } books and making some progress, but the boss has just offered to pay for
>} > a
>} > } course, if I find one that's worthwhile.
>} > } Has anyone found a SQL course that was useful?  Or have people just
>} > } learned from books and co-workers?
>} > } Tracy
>} > }
>} > }
>} > }
>} > } _______________________________________________
>} > } nfbcs mailing list
>} > } nfbcs at nfbnet.org
>} > } http://nfbnet.org/mailman/listinfo/nfbcs_nfbnet.org
>} > } To unsubscribe, change your list options or get your account info for
>} > nfbcs:
>} > } http://nfbnet.org/mailman/options/nfbcs_nfbnet.org/buhrow%40nfbcal.org
>} >>-- End of excerpt from Tracy Carcione via nfbcs
>} >
>} >
>} >
>} > _______________________________________________
>} > nfbcs mailing list
>} > nfbcs at nfbnet.org
>} > http://nfbnet.org/mailman/listinfo/nfbcs_nfbnet.org
>} > To unsubscribe, change your list options or get your account info for
>} > nfbcs:
>} > http://nfbnet.org/mailman/options/nfbcs_nfbnet.org/carcione%40access.net
>} >
>} 
>} 
>} 
>} _______________________________________________
>} nfbcs mailing list
>} nfbcs at nfbnet.org
>} http://nfbnet.org/mailman/listinfo/nfbcs_nfbnet.org
>} To unsubscribe, change your list options or get your account info for nfbcs:
>} http://nfbnet.org/mailman/options/nfbcs_nfbnet.org/buhrow%40nfbcal.org
>>-- End of excerpt from Tracy Carcione via nfbcs



>_______________________________________________
>nfbcs mailing list
>nfbcs at nfbnet.org
>http://nfbnet.org/mailman/listinfo/nfbcs_nfbnet.org
>To unsubscribe, change your list options or get your account info for nfbcs:
>http://nfbnet.org/mailman/options/nfbcs_nfbnet.org/steve.jacobson%40visi.com








More information about the NFBCS mailing list