题目如下:
请看下面三张关系表:
CARD 借书卡表    CNO借书卡号 NAME名字 CLASS班级
BOOKS 图书记录表  BNO书号 BNAME书名 AUTHOR作者 PRICE单价
BORROW 借书记录表  NO借书号 CNO借书卡号 BNO书号 BDATE借书日期  RDATE还书日期
1,请分别说明每个表主外键,表之间的对应关系。2、找出借书超过5本的读者,输出借书卡号及所借图书册数。3、查询借阅了“水浒”一书的读者,输出姓名及班级。4、建立一个视图,显示“力01”班学生的借书信息(只要求显示姓名和书名)。5、实际上同一个书号(BNO)在同一个时间(BDATE)不应该多次借出,但由于程序设计失误造成表(BORROW)中出现大量的重复数据,现要求用一条SQL语句把重复的数据删除掉(必须保留重复数据中的任意一条)。
求救各位大神,被这三个表搞晕了,望大神解救,不胜感激!!books图书管理系统之间的表的关系

解决方案 »

  1.   

    CARD 借书卡表  
    BOOKS 图书记录表  
    BORROW 借书记录表
    -------------------------------------
    CARD跟BOOKS是多对多的关系、那么BORROW就是一张中间表!
    BORROW中分别对应有CARD跟BOOKS的外键!
    -------------------------------------
    你要做的都是关联查询、最后一个删除重复数据!
    你百度一个、几百页都是......
      

  2.   

    1.请分别说明每个表主外键,表之间的对应关系:2.找出借书超过5本的读者,输出借书卡号及所借图书册数:
    SELECT MAX(countNum),cno FROM (  SELECT row_number() over(partition by cno order by no desc) countNum, cno FROM wf_proc_action )WHERE countNum > 5 GROUP BY cno 3.查询借阅了“水浒”一书的读者,输出姓名及班级:
    select c.cno ,c.name,c.class from card c,books b,borrow bo where c.cno = bo.cno and books.bno = bo.bno and b.bname='水浒'4.建立一个视图,显示“力01”班学生的借书信息(只要求显示姓名和书名):
    CREATE OR REPLACE VIEW V_DOC_GW AS
    select bname,name from card c,books b,borrow bo where c.cno = bo.cno and b.bno = bo.bno and c.class='力01'5.关于第五点lz可以考虑使用一个字段来设置他的是否借出或者归还
    这个日期有点费劲,lz自己想象吧
      

  3.   


    伤心的嫖客请点击:http://bbs.csdn.net/topics/390352555