用户表,图书表,
再建立一个借书表,通过用户id与图书id将借书的信息(时间等)保存下来。至于超期借书等功能你完全可以用sql的存储过程自动实现。将这些信息写入View中也可你再好好想想吧,设计远比编程重要 good luck

解决方案 »

  1.   

    谢谢klan帅哥的回复,只是能否讲的再细一点。小弟也明白设计重于编程的道理,可刚出校门不久,对于实际的东西还有点跟不上,特别希望从这种实例中学习开发的过程,还望各位能继续帮助,多讲的细一点,谢谢!!!
      

  2.   

    用户表:用户ID,姓名,。
    图书表:书号,内部编号,书名,数量,价格,出版商,出版日期,库存数量,可借出周期
    借书表:书号,用户ID,借书日期,数量,借出状态(0表示预定,1表示实际借出),距离期满天数
    罚款表:书号,用户ID,罚款原因,罚款金额,交款日期
      

  3.   

    1.身份验证表(等录用)
    usersinfo:userid,username,psw
    2.用户借用信息表
    borrow:userid,bookname,flag(0,1),startdate,enddate,allowreturndate
    3.书籍信息表
    bookinfo:bookid,bookname,totalcount,price,nowcount,allowtime,plush
    4.罚款表:bookid,userid,罚款原因,罚款金额,交款日期
    5.预定表:userid,bookid,bookname,预定时日期,预定日期(先根据request查询bookinfo中是否有存书且未借出,有则插入此表新纪录)
    6.续借可在borrow中在加入子段reborrowflag(0,1)如一个人做,可先实现大的功能,再考虑细节
      

  4.   

    当然是生成多条纪录,不然每本书的归还日期不一样不好处理,可把userid设为自增量
      

  5.   

    可是userid是根据一个组件读出上网人的编号,不是随便定的。那样的话这个表里userid和bookid都不唯一了,没有主键了吗???
      

  6.   

    你可以再加一个上网人的编号的字段,同一个人可以对应多条纪录,他的上网人编号都一样以标识是他,但id不相同
    即:id(不同)   userid(相同)    username    bookname 
            1          0001          张三        book1
            2          0001          张三        book2
            3          0001          张三        book3