background image

20.6.12  一个完整的网络模型

    第五步:下一步消去冗余的属性和系。记住,我们的目的是将作者、书名和出版社记录输
入到数据库,然后经由系建立的联系从不同的记录中检索数据。因此,必须消去对此目的是
冗余的那些系。在本例中,显而易见作者

—出版社系或作者—书名系是冗余(重复)的,由于

作者与书名相匹配的机会比它与出版社匹配的机会多,因此应该消去作者

—出版社系。图

20.6.12 给出了结果模式。该模式是数据库逻辑结构的一种图式表示。
    现在图书馆馆长可以进行如下的查询:

    ① 列出某作者写的所有书的书名;
    ② 按字母顺序列出由 Pientice-Hall 在 1981 年出版的那些书的书名;

    ③ 列出 1987 年以来至少在三个出版社出版书的那些作者。
    该数据库(正如所设计的那样)很容易实现上述查询及其它类似的查询。对图书馆原有文件
来说,类似的查询不仅要求处理整个文件,而且可能还要处理好几遍。有时,还要求对文件
进行排序和合并。

    如果图书馆馆长在一年之后决定需要另一个记录或属性,那么,数据库管理员 (DBA)可
以重新产生数据库,增加属性,甚至增加系而不影响现在的程序。
    图 20.6.13 表示该模式,而图 20.6.13 表示数据库结构的一个值。模式与值的关系类似于数
据元与数据项的关系。一个是数据的定义,而另一个是实际的值或内容。