• Frank Kalis, article


    Updateable views are not always possible. For example there is a problem when a view addresses only that part of a table that includes no candidate key. This could mean that updates could cause entity integrity violations. Some sources on the internet state that 'Codd himself did not fully understand this'. I haven't found any rationale for this.

    I know it's more than 7 years on, but the article raises a particular question/issue that has not been resolved in the comments so far so thios comment, although very late, may still be useful.

    I think that the thing that people (including Codd himself) didn't understand (in 1985: he did understand it later) in respect of updateable views wasn't that not all views were updateable (he certainly understood that, else he would not have talked about theoretically updateable views) but that there is no effectively computable algorithm which is guaranteed, given a view definition and the definitions of the underlying tables (assumed to be in 5NF, using NF definitions which allow non-key columns to be nullable - as did all the original definitions), to terminate after finite time and indicate whether the view is theoretically updateable or not. He mentions this in the RM 2 book you reference (the solution was to have some algorithms that were pessimistic - sometimes they would say something was not updateable when it was, but they were guaranteed always to terminate) and chage the updateable view requirement to say only that views updateable according to whatever algorithm the system used would be updateable instead of saying that all theoretically updateable views would be updateable - the trade-off here was that this slight loss of generality for view updateableness made the rule possible to implement (or another way of looking at it was that he introduced a meta-rule that all the rules had to be effectively computable, and this forced a change in the view update rule).

    The lack of an effectively computable algorithm to decide view updateability was not discovered until after the two 1985 articles had been published, so Codd's failure to recognise that issue is not in any way remarkable or surprising, nor does it indicate any kind of careless or failure of competence on Codd's part. He did of course recognise the issue with his updatability rule as soon as this lack was discovered and he was informed of it.

    Tom