• Codd's 1985 rule 6 (view updatability) is, according to his rules index at the back of the 1990 book, replaced by RV-4 and RV-5; but according to the main text RV-6 is the modified rule 6. So all three are given below.

    They refer to Algorithm VU-1 which is an algorithm which tries to determine from a view definition whether the view is updatable but can deliver a "don't know" answer as well as "yes" and "no".

    --------------------------------------------------------------------------------

    RV-4 Retrieval Using Views

    Neither the DBMS nor its principal relational language, RL, makes any user-visible distinctions between base R-tables and views with respect to retrieval operations. Moreover, any query can be used to define a view by simply prefixing the query with a phrase such as CREATE VIEW.

    ---------------------------------------------------------------------------------

    RV-5 Manipulation Using Views

    Neither the DBMS nor its principal relational language, RL, makes any user-visible manipulative distinctions between base R-tables and views, except that (1) some views cannot accept row insertions, and/ or row deletions, and/or updates acting on certain columns (Algorithm VU-1 or some stronger algorithm fails to support such action), and (2) some views do not have primary keys and therefore will not accept those manipulative operators that require primary keys to exist in their operands.

    -----------------------------------------------------------------------------------

    RV-6 View Updating

    To evaluate the updatability of views at view-definition time, the DBMS includes an implementation of Algorithm VU-1 or some stronger algorithm. Neither the DBMS nor its principal relational language, RL, makes any user-visible manipulative distinctions between base relations and views, except that:

    some views cannot accept row insertions, and/or row deletions, and/or updates acting on certain columns because Algorithm VU-1 or some stronger algorithm fails to support such action;

    and

    some views do not have primary keys (they have weak identifiers only) and therefore will not accept those manipulative operators that require primary keys to exist in their operands.

    (This feature is a slightly modified version of Rule 6 in the 1985

    set.)

    -----------------------------------------------------------------------------------

    I think that in his RV-6 Codd understated the extent of the modification from the old rule 6. Further on in the book he states

    Unfortunately, the general problem of determining whether or not a view is theoretically updatable cannot be decided logically [Buff 1986].

    and that's why he had to change the rule.

    Tom