( 2 )现 有某图书销售数据库,其关系表结构如下:图书表(图书编号,图书名称,出版社编号,出版社名称,出版时间,出版数量,版次)图书销售表(图书编号,销售日期,销售数量,书店编号,读者编号,读者姓名,读者电话)书店表(书店编号,联系电话,所在城市编号,城市名称)该系统所涉及的数据存在如下约束:I. 一个出版社可以出版多本图书,一本图书只能在一个出版社出版,在该系统中记录的图书出版信息包括出版时间、版次及出版数量信息;II. 一个书店可以出售多本图书给多个读者 , 每位读者可以从多个书店购买多本图书 ,

题目

( 2 )现 有某图书销售数据库,其关系表结构如下:

图书表(图书编号,图书名称,出版社编号,出版社名称,出版时间,出版数量,版次)

图书销售表(图书编号,销售日期,销售数量,书店编号,读者编号,读者姓名,读者电话)

书店表(书店编号,联系电话,所在城市编号,城市名称)

该系统所涉及的数据存在如下约束:

I. 一个出版社可以出版多本图书,一本图书只能在一个出版社出版,在该系统中记录的图书出版信息包括出版时间、版次及出版数量信息;

II. 一个书店可以出售多本图书给多个读者 , 每位读者可以从多个书店购买多本图书 , 一本图书可以通过多个书店出售给读者,书店把图书出售给读者后会在系统中记录售书日期和售书数量信息;

III. 每个书店只能位于一个城市,一个城市可以有多个书店。

① 请根据以上信息画出合理的图书销售数据库的概念模型(用 ER 图表示)。( 8 分)

② 以图书销售表为例说明原数据库设计的不合理之处。( 4 分)

③ 给出该数据库符合 3NF 要求的全部关系模式,并指出关系模式中的全部主码和外码。( 8 分)


相似考题
参考答案和解析
正确答案:

1

2

3
更多“( 2 )现 有某图书销售数据库,其关系表结构如下:图书表(图书编号,图书名称,出版社编号,出版社名称 ”相关问题
  • 第1题:

    ● 已知关系模式:图书(图书编号,图书类型,图书名称,作者,出版社,出版日期,ISBN),图书编号唯一识别一本图书。建立“计算机”类图书的视图Computer-BOOK,并要求进行修改、插入操作时保证该视图只有计算机类的图书。实现上述要求的SQL语句如下: CREATE (56)。 AS SELECT图书编号,图书名称,作者,出版社,出版日期 FROM图书 WHERE图书类型='计算机' with check option; A.TABLE Computer-BOOK B.VIEWComputer-BOOK C.Computer-BOOK TABLE D.Computer-BOOKVIEW


    正确答案:B
    试题56分析本题主要考查视图的创建。创建视图的基本语法如下:CREATEVIEW[<database_name>][<owner>.]view_name[(column[,...n])][WITH<view_attribute>[,...n]]其中中括号里面的内容是可选项。在本题中,很显然,第55空的答案应该是VIEWComputer-BOOK,其中Computer-BOOK是视图名,而这个视图包含了图书编号,图书名称,作者,出版社,出版日期这些属性。而加入withcheckoption,这样就可以保证通过视图进行的修改,必须也能通过该视图看到修改后的结果。比如你插入,那么插入的这条记录在刷新视图后必须可以看到;如果是修改,那么修改完的结果也必须能通过该视图看到。参考答案(56)B

  • 第2题:

    设教师表保存的是教师信息,教师表的表结构为(教师编号,姓名,职称)i图书出版表保存的是教师出版图书的情况,图书出版表的表结构为(ISBN号,教师编号,图书名,出版社,出版年份)。如果希望查询从来没有出版过图书的教师编号和姓名,正确的SQL语句是( )。

    A.SELECT教师表.教师编号,姓名FROM教师表JOIN图书出版表; 0N教师表.教师编号一图书出版表.教师编号WHERE教师表.教师编号IS NULL

    B.SELECT教师表.教师编号,姓名FROM教师表LEFT JOIN图书出版表; ON教师表.教师编号一图书出版表.教师编号WHERE图书出版表.教师编号IS NULL

    C.SELECT教师表.教师编号,姓名FROM教师表INNER JOIN图书出版表; ON教师表.教师编号一图书出版表.教师编号WHERE图书出版表.教师编号IS NULL

    D.SELECT教师表.教师编号,姓名FROM教师表RIGHT JOIN图书出版表; ON教师表.教师编号一图书出版表.教师编号WHERE图书出版表.教师编号IS NULL


    正确答案:B
    本题考查超连接查询,在一般的SQL中,超连接运算符是“*=”(左连接)和“=*”(右连接)。超连接查询有四种连接方式,其基本格式为SELECT……FROM左表INNER|LEFT|RIGHT|FULLJOIN右表ON连接条件WHERE其它条件。其中:·INNERJOIN等价于JOIN,为普通连接(也称为内部连接),普通连接只有满足连接条件的记录才出现在查询结果中;·LEFTJOIN为左连接,左连接除满足连接条件的记录出现在查询结果中外,第一个表中不满足连接条件的记录也出现在查询结果中,不满足连接条件的记录的对应部分为.NULL.:·RIGHTJOIN为右连接,除满足连接条件的记录出现在查询结果中外,第二个表中不满足连接条件的记录也出现在查询结果中,不满足连接条件的记录的对应部分为.NULL.;·FULLJOIN称为全连接除满足连接条件的记录出现在查询结果中外,两个表中不满足连接条件的记录也出现在查询结果中,即两个表中的内容都会显示在结果中,不满足连接条件的记录的对应部分为.NULL.。查询从来没有出版过图书的教师编号和姓名,B为正确选项。

  • 第3题:

    已知关系模式:图书(图书编号,图书类型,图书名称,作者,出版社,出版日期,ISBN),图书编号唯一识别一本图书。建立“计算机”类图书的视图Computer-BOOK,并要求进行修改、插入操作时保证该视图叧有计算机类的图书。CREATE(请作答此空)AS SELECT图书编号,图书名称,作者,出版社,出版日期FROM图书WHERE图书类型=计算机'( );

    A.TABLE Computer-BOOK
    B.VIEW Computer-BOOK
    C.Computer-BOOK TABLE
    D.Computer-BOOK VIEW

    答案:B
    解析:

  • 第4题:

    已知关系模式:图书(图书编号,图书类型,图书名称,作者,出版社,出版日期,ISBN),图书编号唯一识别一本图书。建立“计算机”类图书的视图Computer-BOOK,并要求进行修改、插入操作时保证该视图只有计算机类的图书。实现上述要求的SQL语句如下: CREATE (56)。 AS SELECT图书编号,图书名称,作者,出版社,出版日期 FROM图书 WHERE图书类型='计算机' with check option;

    A.TABLE Computer-BOOK

    B.VIEWComputer-BOOK

    C.Computer-BOOK TABLE

    D.Computer-BOOKVIEW


    正确答案:B
    本题主要考查视图的创建。创建视图的基本语法如下:CREATEVIEW[database_name>][owner>.]view_name[(column[,...n])][WITHview_attribute>[,...n]]其中中括号里面的内容是可选项。在本题中,很显然,第55空的答案应该是VIEWComputer-BOOK,其中Computer-BOOK是视图名,而这个视图包含了图书编号,图书名称,作者,出版社,出版日期这些属性。而加入withcheckoption,这样就可以保证通过视图进行的修改,必须也能通过该视图看到修改后的结果。比如你插入,那么插入的这条记录在刷新视图后必须可以看到;如果是修改,那么修改完的结果也必须能通过该视图看到。

  • 第5题:

    已知关系模式:图书(图书编号,图书类型,图书名称,作者,出版社,出版日期,ISBN),图书编号唯一识别一本图书。建立“计算机”类图书的视图Computer-BOOK,并要求进行修改、插入操作时保证该视图叧有计算机类的图书。CREATE( )AS SELECT图书编号,图书名称,作者,出版社,出版日期FROM图书WHERE图书类型=计算机'(请作答此空);

    A.FORALL
    B.PUBLIC
    C.WITH CHECK OPTION
    D.WITH GRANT OPTION

    答案:C
    解析: