• TheKnownSelf (unregistered)

    There is one very well known and every expensive piece of software that still doesn't use constraints in the DB, preferring the apps and app servers to control it. I think that is so the vendor can hire out consultants ( at $3000/day ) to maintain and fix the DB structures when some muppet decides to perform a manual update without going via the app!

  • (cs)

    I would disagree than an ORM eliminates the need for database administration.

    ORMs aren't a panacea. Inevitably, you fall to complex query logic that you design keeping in mind the limitations of generated SQL. I often found myself writing an SQL query for the exact configuration we had and essentially backporting it to JPQL (so it could be processed and turned into SQL again).

    You still need to optimize queries, and thus, have someone with knowledge about the DBMS you are using.

    Furthermore, at least for a production database you would want to disable automatic DDL execution, because it's very dangerous - and a surest way to lose your data.

  • Anonymous coward (unregistered)

    high five Gerald Totally the kind of shit i do when i am about to leave the boat, just don't you guys tell anyone.

  • Richard (unregistered)

    Could be far worse. I once worked with a designer/spec person who insisted that database primary keys not be unique. It got to the point where I raised this in meetings as a problem I was just told to shut up - I was being silly again. We must set XYZ as the primary key on the database, and the system must accept duplicate values.

    The person no longer works with us. I think he became a data warehouse architect elsewhere.

  • Richard (unregistered) in reply to QJo

    A nice thing I remember about Oracle is that you could configure when the constraints run - so you could temporarily allow a bad situation as long as you put it right before you committed. This made programming a lot easier.

  • Cbuttius (unregistered)

    Yeah, common case of good developer becomes bad manager.

    They might have been a bit more lenient with Gerald and simply restored him to his old position where he had excelled for so many years, but I guess he deserved what he got for abuse of power.

  • lfernigrini (unregistered) in reply to Richard

    Yes, you can set "deferrable" contraints, and when you defer them, they are checked at commit time. Basically, you can change the value of the PK of a table (this is not an usual activity on DB, but if you are using natural keys instead of surrogate ones it mey be needed from time to time), then update all of their child records, and at commit time this would be OK.

  • Andreas (unregistered)

    Directive 595, Part 5:

    "Normalized relational tables give lack of flexibility, more costly evolution, inhibit the use of the database acting as a service to applications and make it an inhibitor to evolution."

    As such, please change all data storage to use key/value pairs and NoSQL.

  • Laurent F. (unregistered)

    Directive 595 Part 4

    NoSQL! we'll have the next 20 years to realize relational mathematical fondation and ACID transaction meant something

  • TheThirdRail (unregistered) in reply to method1

    Almost every question on Tom Kyte's website resulted from someone's inane Directive.

    http://thedailywtf.com/Articles/Tom_Kyte_on_The_Ultimate_Extensibility.aspx

    Obviously, there are way more than 666 Directives!

  • (cs) in reply to QJo
    QJo:
    method1:
    Thomas Kyte:
    Funny - here is evidence that this is pretty much a verbatim true story:

    http://asktom.oracle.com/pls/apex/f?p=100:11:0::::P11_QUESTION_ID:2143974700346554115#2970874300346318049

    One in the eye for those who said it was obviously made up etc. I'd love to have a complete set of Directives. They could be released in book form as a database horror story.

    You'd probably find that the pre-Gerald directives were boring sensible. "In order to improve database security, no SQL script is to be allowed to run with scissors" sort of thing.

    If there were a significant number of pre-Gerald directives, I'd think there would've been one in there that would've been a great response to directive 595 - the prior directive that required all of that stuff. After all, running without not null constraints, sequences, and keys is running with scissors. Either directive 1 is bunk, or directive 595 is, since the prior directive indicates all discussion had been done a long time prior.

  • Mullet (unregistered)

    Seems like Gerald didn't really understand SQL, and was on a crusade to essentially turn the database into a giant CSV file.

  • Atwater (unregistered)

    asdsadad

Leave a comment on “Directive 595”

Log In or post as a guest

Replying to comment #:

« Return to Article