图
20.6.12 一个完整的网络模型
第五步:下一步消去冗余的属性和系。记住,我们的目的是将作者、书名和出版社记录输
入到数据库,然后经由系建立的联系从不同的记录中检索数据。因此,必须消去对此目的是
冗余的那些系。在本例中,显而易见作者
—出版社系或作者—书名系是冗余(重复)的,由于
作者与书名相匹配的机会比它与出版社匹配的机会多,因此应该消去作者
—出版社系。图
20.6.12 给出了结果模式。该模式是数据库逻辑结构的一种图式表示。
现在图书馆馆长可以进行如下的查询:
① 列出某作者写的所有书的书名;
② 按字母顺序列出由 Pientice-Hall 在 1981 年出版的那些书的书名;
③ 列出 1987 年以来至少在三个出版社出版书的那些作者。
该数据库(正如所设计的那样)很容易实现上述查询及其它类似的查询。对图书馆原有文件
来说,类似的查询不仅要求处理整个文件,而且可能还要处理好几遍。有时,还要求对文件
进行排序和合并。
如果图书馆馆长在一年之后决定需要另一个记录或属性,那么,数据库管理员 (DBA)可
以重新产生数据库,增加属性,甚至增加系而不影响现在的程序。
图 20.6.13 表示该模式,而图 20.6.13 表示数据库结构的一个值。模式与值的关系类似于数
据元与数据项的关系。一个是数据的定义,而另一个是实际的值或内容。