in

The ORM Foundation

Get the facts!

Why should people use / teach ORM (instead)?

Last post 10-02-2009 2:49 by Anonymous. 3 replies.
Page 1 of 1 (4 items)
Sort Posts: Previous Next
  • 02-16-2009 16:22

    Why should people use / teach ORM (instead)?

    Today in the NORMA forum, Ken Evans responded to Andy Reiser regarding (among other things) a wish which he had expressed, that NORMA would get "picked up by universities". Ken answered with the below three questions about how we could argue for ORM being taught at universities:

    " It would help us to help you if you could post your answers to the following questions:

    ...<snip> 

    Getting "picked up" at Universities: My recent experience shows that this is easier said than done.
    On 5 January this year, I joined the University of Lincoln http://www.lincoln.ac.uk/home as a Senior Fellow.
    For the last few weeks I have been discussing ORM with people in the University who I think "should" be interested.

    Teaching ORM: I explained ORM to the instructor who teaches database management. But he seems to be wedded to teaching ER modeling and manual normalization. What would you say to him to change his mind?

    Using ORM: The IT Director is also wedded to ER modeling and does not think that ORM has a role to play.
    What would you say to him to change his mind?

    Promoting ORM: On 3 March I will be giving a presentation about ORM to the whole of the 3rd year (all disciplines).
    If you were giving this presentation, what are the key points that you would make to the students? "
     

    I thought maybe this forum might be a good place to pursue these three questions. I also wanted to respond a bit to the first one:

    To a teacher wedded to teaching ER and manual normalization. I'd say that manual normalization simply doesn't work: Not only does it make it "too hard" to carry normalization through to 5NF (5th Normal Form); the theory of 4NF and 5NF are actually wrong (see Terry Halpin's and my EMMSAD '08 paper on "Atomicity and Normalization", http://sunsite.informatik.rwth-aachen.de/Publications/CEUR-WS/Vol-337/paper4.pdf).

    So Normalization Theory cannot actually take you beyond BCNF (Boyce-Codd Normal Form); only ORM will get you there, unless the schema you're working on happens to be already in some higher Normal Form. The normalization theory he's teaching is simply false, as well as ineffective.

     

  • 02-16-2009 18:22 In reply to

    Re: Why should people use / teach ORM (instead)?

    Hi Andy,

    Thanks for your post. It's about time that we had an informed discussion on the relative merits of ORM and other approaches.

    Recently, I explained the advantages of ORM to a database instructor at a UK University. I also gave a demonstration of NORMA where I showed how easy it is to make a change in the object-role model and have the change instantly reflected in the verbaliser and in the relational windows. 

    I was trying to make the point that the ER based manual normalization approach might take hours or even days whilst with NORMA it takes a few milliseconds and is guaranteed to be an accurate transform from the Universe of Discourse that is described by the object-role model.

    I don't know what I said wrong, but for reasons that I find hard to understand – the instructor in question is still teaching the ER modeling + manual normalization approach.

    I'd be interested to hear about the experiences of anyone who has tried to convert those who teach ER to ORM.

    Ken

  • 08-14-2009 13:04 In reply to

    Re: Why should people use / teach ORM (instead)?

    On using ORM: I have a very experienced colleague who is a SQL expert. He is very comfortable at the physical layer. Yet when confronted with a legacy application his first move is to the users to determine the conceptual data required by their business. This colleague has the skill to model the concepts in E-R.

    Few of us are so blessed. ORM is the only method I've seen that enables me to communicate with business users in their terms, yet derive a valid relational model by simply following the method - no hocus-pocus or special art required. It takes special training to read an E-R diagram. It takes a fifth grade education to read the output of the verbalizer in NORMA.

    Misunderstanding client requirements is the biggest reason for project failure. ORM goes a long way to clarifying client requirements.

    - Jim

  • 10-02-2009 2:49 In reply to

    Re: Why should people use / teach ORM (instead)?

    Andy Carver:
    Teaching ORM: I explained ORM to the instructor who teaches database management. But he seems to be wedded to teaching ER modeling and manual normalization. What would you say to him to change his mind?

    With the push to produce graduates that have directly-applicable skills (but see *), I think I'd need to be able to tell him that there is a significant move towards industrial adoption of ORM-based tooling (but see &), and that learning SQL is like learning COBOL.

    Andy Carver:
    Using ORM: The IT Director is also wedded to ER modeling and does not think that ORM has a role to play.
    What would you say to him to change his mind?

     (&) I believe that the only thing that could convince him is the ready availability of a mature ORM-based toolset (from a stable company) that covers not just modelling, but the whole application lifecycle. To my mind that means fact-oriented requirements management, reverse-engineering existing databases, solid and productive programming environments with vendor IDE integration that don't require any knowledge of SQL (a fact-oriented query language is needed instead), automated or semi-automated database migration tools, and end-user query facilities for ad-hoc queries.

    We're a long way from there. Without the full-lifecycle ORM framework, ORM can only fit in a niche in an enterprise, sad to say. IT managers are rightly skeptical of any one-time design and modeling tools, and in any case more and more organisations aren't doing any modeling, or are doing incremental modeling as part of an Agile process, so you get the full lifecycle on a weekly basis. It's not a problem you can ignore.

    Andy Carver:
    Promoting ORM: On 3 March I will be giving a presentation about ORM to the whole of the 3rd year (all disciplines).
    If you were giving this presentation, what are the key points that you would make to the students? "

    (*) I believe that ORM should be one of the first things that new graduates learn. Instead we start by teaching algorithms, which is totally wrong. The left-brain people who predominate in IT need to be strongly encouraged and taught to think what, not how (which is their natural inclination), and fact orientation is the right way to do that. The fact that ORM can also be used to design databases can be left to a more advanced course; it's important but not half as important as learning to think logically about models of the problem domains... and to come full circle, perhaps that how I'd answer the first question, in the absence of my preferred answer.

Page 1 of 1 (4 items)
© 2008-2014 The ORM Foundation: A UK not-for-profit organisation -------------- Terms of Service