Nov 042013
 
select my_thoughts
from   starting_the_db_design_quiz;

As regular readers will know, last month saw the start of the Database Design Quiz on the PL/SQL Challenge. I thought I’d share some of the background on how this came about and my thoughts and feelings on how it’s going, so here goes…

I’ve been player of PL/SQL quiz for a few years now. Writing code is only a small part of my current day job however – as a “Data Architect” more of my time is spent designing data structures (though I still get called on to help coding from time to time!). With this in mind, I’d started drafting up some questions for the challenge that were more related to my work. These didn’t seem to fit with the PL/SQL quizzes though. While there’s clearly some cross-over, it didn’t feel quite to have these in the PL/SQL or SQL quizzes.

So one night the summer while trying to get my daughter to sleep, I had a crazy idea – wouldn’t it be great to have a whole new type of quiz on the PL/SQL Challenge? It could be based around the theme of database design: creating and normalizing data structures and then the physical implementation of these. With this in mind, I drafted up some questions and sent them over to Steven Feuerstein.

Steven really liked the idea, but suggested that we gather feedback from players before going ahead with it. So we put together a post for the PL/SQL Challenge blog including some sample questions. I was amazed by the positive reception it received – clearly this was something many people felt was worth doing.

With this support clearly we needed to go ahead so I set about writing quizzes. I’d been thinking about possible questions for a while, so I had several ideas lined up and submitting questions has been (relatively) easy so far. I suspect generating new ideas will get harder in time though – I’m really impressed that Steven and Kim have been coming up with new questions for as long as they have!

In addition to writing the questions, I needed to find some people to help review them to ensure they’re up to scratch – it’s amazing how easily I’ll manage to miss a bracket or use slighlty confusing language.

I instantly thought of an old colleague of mine, Andy Wilson, who quickly agreed to help :) I also feel privileged that Kent Graziano – an Oracle ACE and published author on Data Warehouse modelling – agreed to help review questions. They have both provided some excellent feedback on the questions so far. I’m sure the improvements they’ve suggested are part of the reason the quizzes are getting good scores in post-quiz surveys. They’ve tidied up the language and pointed out some flaws in the questions.

With Kent and Andy on the job and a batch of quizzes ready, we settled on a launch date of 5th October to coincide with the start of a new quarter in the PL/SQL & SQL quizzes. As the launch date got closer got more excited and nervous. Would it all work out well? Would people play? Being based in the UK, the new quiz would start at midnight my time. I’d love to say I stayed up to see it start, but having a daugher under 1 is taking its toll and I can barely stay up past 9pm these days ;) I was up first thing on the 5th however (only partly becuase Izzy was already awake!), checking that the quiz was working correctly. Other than a slight typo in the question, it was a relief to see it live and functioning as expected.

So we’re now a month into the quiz and I feel like it’s going well – there’s only been one major disagreement so far and around 400 players per quiz, which is great. In all I’m happy with the way it’s going at the moment and feel really honoured that so many people have taken part. Hopefully this will continue you to grow – but for that part I’ll need help from you: by playing, adding your feedback to quizzes and spreading the word about this quiz we can help grow the community (including the PL/SQL, SQL and Logic quizzes too).

For those of you who’ve been taking part in the DB design quiz, I’d love to hear how you think it’s going. Are the questions interesting and varied enough? Are they too easy/hard? What have we not covered (yet) that you think we should? Please share your thoughts in the comments!

  6 Responses to “Reflections on Starting the Database Design Quiz”

  1. Welcome to the world of periodical quiz creation, Chris, you are doing great :-D

    Personally I like your quizzes so far – good topics and decent variation between more “design” quizzes and “implementation” quizzes. I hope you can go on as you started – then I’ll be certain to learn a lot and get good inspiration for my own tasks…

    As for the “major” disagreement I wouldn’t call it that, really, I’d call it teething for the new-born quiz. I am amazed so quickly you got into stride with a distinctly good quiz style with hardly a hickup IMHO – that one little thing where players and you needed to coordinate the “common interface language” was nothing to worry about :-)

    Looking forward to the future of the design quiz. Might also hope for a few player-submitted quizzes from time to time – both for variety and for the inspiration this often can offer the “principal” author ;-)

    • Thanks for your thoughts Kim, glad you’re enjoying it so far! :)

      I agree it would be great to get some user generated quizzes. I think it would be interesting if some of the implementation specific questions were redone using a different db (SQL server, my SQL, …). As an Oracle specialist I could learn from seeing how things are done in other technologies.

  2. I really enjoyed these quizzes. very interesting idea. And i hope that you continue with these. I will definitely play. I want to say one thing, if possible start with basic stuff & gradually go for more complex.

    • Thanks Fahd.

      Fair point that I’ve introduced some complex items already. I’m aiming for there to be a mix of easy & hard as players may come and go at any time. I’ll make sure there’s some easier questions coming though!

  3. Hello Chris,

    First of all, I should witness how much I admire your thinking of Database Design and PL/SQL Challenge quizzes
    while putting your daughter to sleep :) :), something that only a true and great professional is able
    and willing to do :)

    You have a wonderful daughter :)
    I am sure that she will inspire you many nice quizzes, I am very familiar with the feeling of getting the greatest ideas
    in the most unusual places or situations, sometimes these can become very productive.
    Something that looks almost impossible when you sit in front of your computer, may suddenly become possible,
    interesting and challenging when you just think of it without seeing the screen.

    My personal experience with data design is “less developed” and mostly based on common sense,
    though I usually like to study the theory behind this topic and learn interesting implementations.

    I am not familiar with other databases except Oracle, but I think that for both Oracle as probably for the other
    relational databases time has arrived to have native support in the database for some more complex integrity rules
    and relationships than those currently supported.

    In the absence of those, there exists already a set of “generally accepted” techniques for implementing
    various solutions for some standard cases, though, not being a “dedicated” data designer as you are,
    many of us, the players, are probably less familiar with those.

    So, I think that this quiz is a wonderful aid for improving our design knowledge,
    and I wish to thank again both to you, for the great idea of initiating it,
    as well as to your wonderful Victoria Isabelle, your new “dependency” (what a nice term !),
    who will have to share your attention with us.

    Keep up with the excellent work and I am sure you will enjoy a great thanks from all of us :) :)

    Thanks a lot & Best Regards,
    Iudith

 Leave a Reply

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

(required)

(required)