资源描述
数据库课程设计报告学校图书借阅管理系统 学生姓名: 郭 晓 东 学 号: 2010508033 专业年级: 计算机科学与技术10级 指导教师: 朱 东 芹 目录一、结构设计31、逻辑结构设计32、 关系图53、物理结构设计54、 关系模式7二、存储过程7三、触发器9四、视图脚本12五、数据库恢复与备份12数据库设计说明书一、结构设计1、逻辑结构设计(1) 总体E-R图如图1图1读者E-R图如图2图2图书E-R图如图3图3权限设置E-R图如图4图4权限设置E-R图如图5图5权限设置E-R图如图6图62、 关系图关系图如图7图73、物理结构设计Tb_reader读者表:属性名类型备注说明readeridVarchar(10)主键读者idrnameVarchar(20)不允许空姓名sexVarchar(2)不允许空(男 or 女)性别gradeVarchar(1)不允许空年级ProfessionVarchar(20)不允许空专业ifeffectivetinyint不允许空(1 of 0)是否有效emailVarchar(20)允许空邮箱Tb_manager管理员表:属性名类型备注说明manageridVarchar(10)主键管理员idloginnaneVarchar(20)不允许空登录名passwordVarchar(20)不允许空密码Tb_borrow借阅表:属性名类型备注说明borrowidint主键(自增)idbookidVarchar(10)不允许空书号readeridVarchar(10)不允许空读者号manageridVarchar(10)不允许空管理员号borrowTimeSmalldatetime不允许空借书时间backTimeSmalldatetime允许空(backTime=borrowtime)还书时间ifreborrowtinyint不允许空(1 or 0)是否续借Tb_book图书表:属性名类型备注说明bookidVarchar(10)主键书号bnameVarchar(20)不允许空书名typeVarchar(20)允许空类型authorVarchar(20)允许空作者pricefloat允许空价格publishVarchar(20)允许空出版社quantityTinyint不允许空总数remainTinyint不允许空(remain30beginif ifreborrow=1beginif days60beginselect days1=days-60select bmoney=days1*0.1insert into tb_punishment(readerid,bookid,days,bmoney) values(readerid,bookid,days1,bmoney)update tb_reader set ifeffective=0 where readerid=readeridendendif ifreborrow=0beginselect days1=days-30select bmoney=days1*0.1insert into tb_punishment(readerid,bookid,days,bmoney) values(readerid,bookid,days1,bmoney)update tb_reader set ifeffective=0 where readerid=readeridendendend4、 读者是否有效触发器,当读者借书时,检查reader表中的ifeffective属性,若为0则说明有超期罚款,不能借书。create trigger t_ifcanborrowon tb_borrow for insertas declare readerid varchar(10),ifeffective tinyintselect readerid=readerid from insertedselect ifeffective=ifeffective from tb_reader where readerid=readeridif ifeffective=0beginprint 您有超期罚款!rollback transactionend四、视图脚本1、 创建视图查询各种图书的书号、书名、总数和在册数。create view view_queryas select bookid,bname,quantity,remain from tb_book2、 创建视图查询读者的超期罚款情况,其中包括读者号,读者姓名,罚款书名,罚款金额。create view view_readeras select tb_punishment.readerid,rname,bname,bmoney from tb_punishment,tb_book,tb_reader where tb_punishment.bookid=tb_book.bookid and tb_punishment.readerid=tb_reader.readerid五、数据库恢复与备份数据库的完全备份use db_librarygobackup database db_library to disk=H:LibarySystembackupf_db_librarywith initGo数据库的恢复use db_librarygobackup database db_library to disk=H:LibarySystembackupf_db_librarywith initGo数据库差异备份use db_librarygobackup database db_library to disk=H:LibarySystembackupd_db_librarywith differentialGo数据库的恢复use mastergorestore database db_library from disk=H:LibarySystembackupf_db_librarywith norecoverygorestore database db_library from disk=H:LibarySystembackupd_db_librarywith replacego
展开阅读全文