1 实验八:数据库完整性1.1 实验背景“存储在数据库中的所有数据值均是正确的状态。如果数据库中存储有不正确的数据值,则该数据库称为已丧失数据完整性。”这是SQL Server2000中给出数据库完整性的解释,但是我们要问两个问题:l 什么是数据正确的状态?l 如何确保数据是正确的?对于第一个问题,确实很难回答,因为:“世界上所有事物本无正确与错误”,但是一些不符合逻辑的、前后矛盾的、没有满足人们需求的,可以说是“不正确的”。如:一个人的年龄是“-20岁”,这就是不符合逻辑的;在一个地方,这个人叫“张三”,但是换了个地方却记成“张山”,这就是矛盾;如果一笔订单金额没有达到1万元,却给记成打了8折,实际只能打9折,这就是不满足需求。造成上述各种不正确的原因是什么呢?无外乎是人们输入错误、业务不熟悉、或者是捣乱分子故意为之。那么关键问题是我们如何在数据库中预防这种不正确的情况呢?这就是要问的第二个问题。这需要靠数据库管理系统(DBMS)提供一套完整性约束机制来预防这种情况的发生。但是人们常说一句话“人无完人,金无足赤”,同样,要完全靠DBMS帮我们防住所有的