数据库 图书管理系统课程设计.doc_第1页
数据库 图书管理系统课程设计.doc_第2页
数据库 图书管理系统课程设计.doc_第3页
数据库 图书管理系统课程设计.doc_第4页
数据库 图书管理系统课程设计.doc_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

课程设计报告课程设计题目:图书借阅管理系统的设计与实现 专 业:信息工程班 级:1122301姓 名:胡慧斌学 号: 201120230105指导教师: 罗亚宾 2013年1月 4日一实验题目 图书借阅管理系统数据库的设计与实现二. 实验时间.地点 软件楼601,2013年1月56号三. 实验目的通过本次课程设计让学生能够综合运用所学的关系数据库原理知识解决并能设计一个实际问题,进一步掌握数据库原理的相关理论和数据库的设计实现过程,进一步提高学生的分析问题和解决问题的能力以及学生的动手能力。四. 实验要求1对各个系统进行系统功能需求分析2. 数据库设计分析阶段,进行详细的数据库需求分析,进行概念数据库的设计,画出数据库的E-R图(局部和整体E-R图)3. 设计出详细的逻辑数据库结构,将各个实体和联系转化为相应的二维表即关系模式,指定各个关系的主关键字和外部关键字,并对各个关系的约束加以限定4. 通过企业管理器或是查询分析器实现各个二维关系(建议最好用SQL代码实现),要求建立相关的索引5. 根据系统功能需求设计相应的查询视图6. 要求根据系统功能需求建立存储过程7. 根据功能需求建立相应的触发器以保证数据的一致性8. 通过建立用户和权限分配实现数据库一定的安全性,考虑数据库的备份与恢复(此内容选作)五. 实验思路1系统需求分析: A. 系统目标:本系统将实现用计算机管理图书借阅的功能。具体完成图书信息管理、读者信息管理、及图书借阅管理等功能。B. 系统的功能需求:本系统用户分为读者用户和管理员用户两类,包括对图书信息、读者信息、借阅信息的录入、修改、查询、删除等。读者用户只具有查询书籍和自己信息的权限。C. 系统功能描述:系统开发的主要目的是实现图书馆信息管理的系统化、规范化和自动化。图书馆信息管理系统主要提供对图书信息的管理及读者信息的管理。需要完成的主要功能有:1、 有关读者信息的输入、修改和查询;2、 图书信息的输入、修改和查询; 3、 借阅信息的维护(包括借,还信息录入,修改和删除);2实体图及ER图 读者信息实体表可借书数已借书数逾期未还书数读者读者姓名读者性别读者种类e登记时间读者借书证编号书籍实体图 书籍收录时间书籍作者是否被借书籍编号书籍名称出版时间出版社借阅记录实体图读者借书证编号书籍类别编号借阅时间隔借阅记录信息归还记录实体图归还信息记录读者借书证号书籍类别编号归还时间罚款信息实体图书籍类别编号罚款信息实体实体罚款金额读者姓名读者借书证编号书籍名称借阅时间隔信息实体E-R图还书信息读者归还书籍罚款借阅罚款信息借阅信息mnmnmn3.二维关系表 表3-1system_readers读者信息表格表中列名数据类型可否为空说明readeridvarcharnot null(主键)读者借书证号readernamevarcharnot null读者姓名readersexvarcharnot null读者性别readertypevarcharnot null读者种类regdatedatetimenull登记日期booktotalintnull可借书数borrowednumintnull已借书数overduenoreturnnumintnull逾期未还书数表中列名数据类型可否为空说明bookidVarcharNot null(主键)书籍编号booknameVarcharNot null书籍名称 表3-2system_book书籍信息表bookstyleVarcharNot null书籍类别bookauthorVarcharNot null书籍作者bookpubVarcharNull出版社名称bookpubdateDatetimeNull出版日期bookindateDatetimeNull登记日期isborrowedBitNot Null是否被借出 表3-3borrow_record 借阅记录信息表表中列名数据类型可否为空说明readeridVarcharNot null(外主键)读者借阅证编号bookidVarcharNot null(外主键)书籍编号borrowdateDatetimeNot null读者借书时间表3-4return_record 借阅记录信息表表中列名数据类型可否为空说明readernameVarcharNot null(外主键)读者借阅证编号readeridVarcharNot null(外主键)书籍编号returndatedatetimeNot null读者还书时间表3-5reader_fee 罚款记录信息表表中列名数据类型可否为空说明readeridvarcharNot null读者借书证编号readernamevarcharNot null读者姓名bookidvarcharNot null(外主键)书籍编号booknamevarcharNot null书籍名称bookfeeSmallmoneyNot Null罚款金额borrowdatedatetimeNot Null借阅时间4.关系模式(1)读者(借书证编号,读者姓名,读者性别,读者种类,登记时期,可借书数 , 已借书数,逾期未还书数)(2)书籍(书籍编号,书籍名称,书籍类别,书记作者,出版社名称,出版日期,登记日期)(3)借阅(借书证编号,书籍编号,读者借书时间)(4)还书(借书证编号,书籍编号,读者还书时间)(5)罚款(借书证编号,读者姓名,借书证编号,书籍编号,读者借书时间)5.系统功能模块图图书借阅系统查询子系统管理子系统借还书子系统查询图书直接查询图书管理读者管理罚款管理借书还书六实验过程-创建代码建立数据库create database librarysystemon ( name = librarysystem, filename = d:librarysystem.mdf, size = 10, maxsize = 50, filegrowth = 5 )log on-指明事务日志文件( name = library, filename = d:librarysystem.ldf,-指定存储的路径名和文件名 size = 5mb, maxsize = 25mb, filegrowth = 5mb )建立图书信息表create table system_books (bookid varchar(20)primary key , -书籍编号为主键bookname varchar(30) Not null, -图书名称bookstyle varchar(30) Not null,-图书类型bookauthor varchar(30), -图书作者bookpub varchar(30) , -出版社bookpubdate datetime, -出版时间bookindate datetime , -收录时间isborrowed bit, -是否被借)建立读者信息表create table system_readers (readerid varchar(9)primary key,-借书证号为主键readername varchar(10) not null,-读者姓名readersex char(2)not null,-性别readertype varchar(20)not null,-读者类型regdate datetime,-登记时间booktotal int,-可借书数borrowednum int,-已借书数overduenoreturnnum int-过期末还书数)建立借书记录表create table borrow_record( bookid varchar(20) primary key,-书籍编号 readerid varchar(9),-借书证号 borrowdate datetime,-借书时间 foreign key (bookid) references system_books(bookid),-定义书籍编号为借书表的外键 foreign key (readerid) references system_readers(readerid),-定义借书证号为借书表的外键)建立还书记录表create table return_record( bookid varchar(20) primary key,-书籍编号为主键 readerid varchar(9),-借书证号 returndate datetime,-归还时间 foreign key (bookid) references system_books(bookid),-定义书籍编号外键 foreign key (readerid) references system_readers(readerid)-定义借书证号为外键) 建立罚款单表create table reader_fee( readerid varchar(9)not null,-借书证号 readername varchar(9)not null ,-读者姓名 bookid varchar(20) primary key,-借书证号 bookname varchar(30) Not null, -书籍名称 bookfee smallmoney,-罚款金额 borrowdate datetime,-借阅时间 foreign key (bookid) references system_books(bookid),- 定义书籍编号外键 foreign key (readerid) references system_readers(readerid)- 定义借书证号为外键)索引的创建create index borrow_record_index_readerid on borrow_record(readerid)为借阅表在借书证号上建索引create index reader_fee_index_readerid on reader_fee (readerid)为罚款表在借书证号上建索引create index return_record_index_readerid on return_record(readerid)- 为归还表在借书证号上建索引create index system_books_index_bookname on system_books(bookname)为图书信息表在书籍编号上建索引create index system_books_index_bookauthor on system_books(bookauthor)-为图书信息表在作者上建索引创建视图create view b1_system_booksas select bookid,bookstyle,bookpub,booknamefrom system_bookscreate view r1_system_readersas select readerid,readername,readertypefrom system_readerscreate view b2_borrow_recordas select bookid, readeridfrom borrow_record建立借书记录存贮过程create procedure sp_borrowbook bookid char(20), readerid char(9) asinsert into borrow_record (bookid,readerid,borrowdate)values(bookid,readerid,getdate()go-建立还书记录存贮过程create procedure sp_returnbook bookid char(20),readerid char(9)asdelete from retun_recordwhere bookid=bookid and readerid=readeridgo-建立罚款单存贮过程create procedure sp_ readerfee readerid char(9), borrowdate datetimeasupdate reader_feeset bookfee=0.1*(day(getdate()-day(borrowdate)where reader=readeridand borrowdate=borrowdate-建立借书记录表增加触发器create trigger tr_addlend on borrow_recordfor insertasupdate system_booksset isborrowed =1where bookid in (select bookid from inserted)update readerset borrowednum = borrowednum +1where readerid in (select readerid from inserted)-建立还书记录删除触发器create trigger tr_dellend on return_recordfor deleteasupdate system_booksset isborrowed =0where bookid in (select bookid from deleted)update system_readersset borrowednum = borrowednum -1where readerid in (select readerid from deleted)-建立删除图书触发器create trigger tr_dellendbook on system_booksfor deleteasdelete reader_feewhere bookid in (select bookid from deleted)delete return _recordwhere bookid in (select bookid from deleted)-信息的录入insert into system_books(bookid ,bookname,bookstyle,bookauthor,bookpub,bookpubdate, bookindate, isborrowed )values(00125415152,计算机组成原理,王爱英, 工科类,清华大学出版社,2001-01-03,2003-11-15,1)insert into system_readers(readerid,readername,readersex,readertype,regdate,booktotal,borrowednum,overduenoreturnnum)values(201120130105,张三,男,学生,2013-1-6,8,2,0)insert into borrow_record(bookid,readerid,borrowdate)values (00125415152,201120230105,2012-12-18)insert into return_record (bookid,readerid,returndate)values (00125415152,201120230105,2012-1-18)-信息的修改update system_booksset bookname=王

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论