Pointless Database Class…

I’d like to take a moment to make a recommendation to Mark Krawzyck, head of the Networking department at Greenville Tech: For the love of God, reform IST 272, Relational Databases! Why you ask? Oh, I’m so glad you did…

Chapter 1 was a basic introduction to the ideas behind relational databases: How they work, brief historical developments, types, brands, etc. Run of the mill stuff for any class in the first chapter.

Chapter 2 dove right into all the commands you could use in a SQL statement. From SELECT to WHERE, everything including AVG, SUM, MIN, MAX, BETWEEN and HAVING were included in this one chapter. Sure we could have spread this out into a few chapters, focusing on the different parts of a SQL query, but why bother? Waste not, want not!

Chapter 3 dealt entirely with crap. 30 pages of 100% grade A steaming piles of crap. By comparison, we only spent 40 pages talking about the entirety of a SQL query. From concept to perfection in only 10 more pages! We start out by defining 11 seperate terms, including 2 types of dependencies and 5 types of keys, but that’s fine by me. Hey, a class needs vocabulary to confuse you, right? Then we start to get a tad out of hand by setting up a table of alternative terminology, because tables, columns and rows were too easy. No, we’ll call them too… mmm, apples! Wait, that’s it… TUPLES! No one will have a clue what the hell we’re talking about! That’ll sure wow those guys at the job interview, and words they’ve never heard of that I say with confidence are bound to bump up my base salary!

From there, we waste time figuring out which fields determine which other fields in a table. Of course that sounds far too easy, so we’ll call them determinants and functional dependencies to make ourselves sound even smarter! We’ll also use this cool little arrow symbol to indicate this relationship that I found in the Wingdings font and which doesn’t exist on any computer keyboard know to man… Oh, and we’ll go on and on with it for half a dozen pages before we throw in some more confusing terms: keys!

We won’t just have one key, and we certainly can’t pick names for them that anyone with half a brain would be able to understand, because we want to make being a DBA a high-paying specialized career! So we’ll throw out candidate, primary, surrogate and foreign keys… Combine some of them, and it unlocks the secret level where you can open the golden chest and turn yourself into a composite key! We’ll also randomly underline keys when we’re talking about table structures, because we’re anti-plain text!

After that, we’ll kick our students in the balls while they’re down! Let’s talk about “Normal Forms”… I know no one’s ever heard of them, and will never actually use them in the real fucking world, but we’ll randomly spit out monologues about our tables being in “Boyce-Codd Normal Form” and people will think we’re magical! And because that wasn’t nearly enough, we’ll call one of these “Normal Forms” that no one is ever going to use a “domain key normal form” (which we’ll also spell “from”, just to make people wonder if it’s really a typo or not!)… Hehe, it’s funny because it’s not a key at all!

We’ll then spend 20 pages talking about how to normalize our tables and remove anomolies! Because if people aren’t intelligent and logical enough to realize what the problem is when we put it in simple Excel-spreadsheet examples, they’re not too stupid to be in this profession! Noooo, there is no barrier level for entry! We’ll just flood the entire market with complete and utter morons who have never touched a computer in their lives, but have read about them in countless totally pointless classes and gotten a certification because they’re experts at taking worthless tests! Thus, we’ll keep real networking nerds from getting decent jobs because their reputations as database administrators have been so badly damaged that the entire industry thinks they’re all worthless morons!

As if all this weren’t enough, now we’ll throw in multivalued dependencies, and we’ll use those annoying ass little arrows TWICE for these, because they’re really pretty and make our textbook look so 90’s!

Chapter 4 will beat the same common-sense logic into the heads that aren’t large enough to accomodate it! We’ll give them examples like this:

PT_SESSION(Trainer, Phone, Email, Fee, ClientName, ClientPhone, CLientEmail, Date, Time)

Then we’ll ask them which fields determine other fields. But since we didn’t actually tell them anything else about the structure and use of the system, they won’t have a clue and will spend 2 hours spitting out 20 different possible dependencies based on various assumptions. Sure “Trainer” could determine all the other fields in the table if they were unique, but it could also determine only Phone and Email if there were: Different Fees per Client, multiple lients per Trainer, multiple Trainers per Client, multiple Dates and Times per Trainer and Client, etc. Nevermind that! No one needs to know how a system is intended to function when they’re designing it. No, we’ll just spit out random meaningless terms and spend hours writing SQL statements that spell out our names in cool ways!

To top everything else off, we’ll tell them “Classify each table according to whether it is in BCNF or 4NF. State your assumptions.” What now? What assumptions? Didn’t anyone ever tell you what assumptions make? Well I already know you’re an ass, but as for the ‘me’, I’m just along for this miserable ride…

So you see Mark, there’s something badly wrong with this class. We’re far emphasizing memorization and common sense logic over actual use and application. I understand not wanting to leave anyone out, but don’t we need to set a point and simply say ‘If you can’t grasp THIS, maybe this job isn’t for you.”? And please for the love of Pete, find a different textbook. Prentice Hall may make some great english and history books, but their technical line needs serious help. The Thomson line of tech-related textbooks is far superior in virtually every aspect I have seen. From logical examples to basic structure and order, they’re 100% better than this Prentice Hall book of toilet paper.

</rant>


5 Responses to Pointless Database Class...

  1. 194 Anon 09/27/2005 4:47pm

    Thanks for explaining why I barely passed Databases 101 at uni (or whatever it was called - I forget). I thought it was just me who had no idea what was being said and could not relate it to the real world.

    I think the whole experience scarred me for life as I still refuse to touch any DB program (Access et.al.) and get an immediate glazed look in my eyes when someone starts talking about them. In fact my CD collection is still catalogued on those old 4x3 library cards!

  2. 196 Chris Meller 09/27/2005 5:49pm

    It most certainly was not just you. If I know what data fields I want out of any of the databases I manage or use (including several gigs of claim data at work), I can query it 6 ways from Sunday (whatever that means)… I still don’t have a freaking clue what they meant with half that stuff.

    On the Chapter 3 lab assignment, I actually wrote the following note:

    After spending approximately 2 hours reading all this material, I determined that it was meaningless background theory information intended to stimulate thought and provoke the intelligent design practices in database work. Not once has one of our DBAs at work turned to the other and asked them for a table in BCNF format… No, in real life you don’t have time to waste worrying what normal form your table is going to take on, nor time to sit and ponder what exactly your primary key is a determinate of. Unfortunately, neither do I, particularly in hypothetical scenarios. Therefore, I’ve decided to forgo the conclusion of this chapter and await relevant material.

    Thank you, have a lovely week.

    - Chris

    I never got any kind of response… I know I’ve learned some valuable information. For instance, I never knew there was even a “HAVING” clause you could add to a query. I’m also looking forward to learning about views and stored procedures, but all this crap in the middle is totally useless to me. Once I pass the class (which I hope I do), I’ll never once think about it again.

  3. 215 Incoherent Babble » Blog Archive » Ajax SQL Designer 10/07/2005 7:14pm

    […] I’d like to give this link to the dick that teaches my pointless database class, but god knows I’ve probably done enough to hurt my grade in there already… He really is an asshole though. I’ll have to post his response to the note I added to my pointless homework assignment at some point. I think you’d all agree with me that it was totally uncalled for and personally insulting. Hell, maybe I’ll file a formal complaint against him and see if I can get the jerk fired… God knows it’d be doing a favor for any future shmucks that get stuck in his class. […]

  4. 217 Incoherent Babble » Blog Archive » The Asshole Database Instructor 10/08/2005 4:30pm

    […] As I mentioned in my last post, I find the instructor of my pointless database class, Bob Whaite, to be an asshole. […]

  5. 886 Uachtarain 12/12/2007 4:26pm

    Excellent comments. I have spent many hours over the last few years and have never found an example of a simple database that anyone could understand not to mention actually put into real life. I like to get he Basics right before I try to pretend I know somethng but Microsoft Access is a complete load of Sh@#e. If there is a hard way to define tables and set up relationships they will have it as a tutorial somewhere.

Leave a Reply



About

User