[comp.specification] Database correctness

jwb@cepmax.ncsu.edu (John W. Baugh Jr.) (03/04/91)

I'd like some references on what it means for a database (e.g., the
relational kind) to be "correct", the role of "integrity constraints",
and so forth.  Obviously, if one treats a dbms as just an
implementation of a data type then one can define an abstraction
function and do Hoare-style verification.  Otherwise, general dbms
queries may be thought to compromise abstraction by directly accessing
the internal representation (i.e., the database itself).  So what does
one do, just enforce a representation invariant?  Is this what some
call "integrity constraints"?

John Baugh
jwb@cepmax.ncsu.edu

straub@jogger.cs.umd.edu (Pablo A. Straub) (03/05/91)

In article <1991Mar4.155552.27494@ncsu.edu> jwb@cepmax.ncsu.edu writes:
>I'd like some references on what it means for a database (e.g., the
>relational kind) to be "correct", the role of "integrity constraints",
>and so forth. [...]  Is this what some
>call "integrity constraints"?
>
>John Baugh
>jwb@cepmax.ncsu.edu

For a good and readable treatment of integrity constraints see

    C.J. Date, An introduction to database systems, volume 1, Fourth Ed.,
    Addison Wesley, 1986.

Integrity constraints are covered in chap. 12, section 15.4, chapter 17
and sections 19.5 and 19.6.

The second volume (1983) has a chapter devoted to integrity (chapter 2).

Pablo Straub
straub@cs.umd.edu