• TomThomson (3/2/2015)


    ScottPletcher (3/2/2015)


    Codd was working for IBM at the time, and IBM asked him to do it. To be fair, a lot of it was not just "ill-conceived". Computers were vastly less powerful back then, and some compromises had to be made to get any style of relational db functioning. The first one or two SystemR versions were known for horrible performance at times.

    Codd was indeed working for IBM at the time but was denied any influence on the SEQUEL project. Various IBM people have denied that, of course, but Codd made it very clear that SEQUEL was in his opinion nothing like a relational calculus, and he had practically no influence at all on it because he had blotted his copy-book by talking to customers about the relatonal model (which IBM didn't want as a rival to its non-relational DBMS).

    The compromises were needed not because the computers were not sufficiently powerful, but because the team didn't understand the basics of language design and comilation/interpretation. Allowing speculative computation to cause a failure which rolls back lots of work does NOT improve performance - in fact it is fairly unusual for speculative computation to improve performance unless both (a) it isn't allowed to cause unwanted aborts and (b) there is more parallelism available than can be exploited by non-speculative computation; clearly the team disregarded (a) and if you think (b) was satisfied you clearly have an interesting view of the amount of parallelism available on typical IBM hardware in the 1970s.

    Yes, Codd preferred his own language, "ALPHA"(? not sure of the name), and he was locked out of the SysR team.

    But, many of the compromises were indeed due to computer processing speed. In fact, even today, no modern relational implementation satisfies all of Codd's rules, some of them for the same reason.

    SQL DBA,SQL Server MVP(07, 08, 09) A socialist is someone who will give you the shirt off *someone else's* back.