现有某图书销售数据库,其关系表结构如下: 图书表(图书编号,图书名称,出版社编号,出版社名称,出版时间,出版数量,版次) 图书销售表(图书编号,销售日期,销售数量,书店编号,读者编号,读者姓名,读者电话) 书店表(书店编号,联系电话,所在城市编号,城市名称) 该系统所涉及的数据存在以下约束: Ⅰ.出版社可以出版多本图书,一本图书只能在一个出版社出版,在该系统的记录的图书出版信息包括出版时间、版次及出版数量信息; Ⅱ.一个书店可以出售多本图书给多个读者,每位读者可以从多个书店购买多本图书,一本图书可以通过多个书店出售给读者,书店把图书出售给读者后会在系统中记录售书日期和售书数量信息; Ⅲ.每个书店只能位于一个城市,一个城市可以有多个书店。 ①以图书销售表为例说明原数据库设计的不合理之处。 ②给出该数据库符合3NF要求的全部关系模式,并指出关系模式中的全部主码和外码。
参考答案:
①图书销售表中,读者信息应该单独新建一张表,否则就会造成大量的数据冗余。 ②关系模式如下: 出版社表(出版社编号,出版社名称)主码:出版社编号 出版表(出版社编号,图书编号,出版时间,出版数量,版次)主码:(出版社编号,图书编号) 图书表(图书编号,图书名称)主码:图书编号 书店表(书店编号,联系电话,所在城市编号)主码:书店编号 城市表(所在城市编号,城市名称)主码:所在城市编号 读者表(读者编号,读者姓名,读者电话)主码:读者编号图书销售表(图书编号,读者编号,销售日期,销售数量,书店编号)主码:(图书编号,读者编号)
解析:
本题考查的主要是数据库设计优化,关系数据模型转换及规范化处理。