《我的作业天啊(共23页).doc》由会员分享,可在线阅读,更多相关《我的作业天啊(共23页).doc(23页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上 图书管理系统系部:计算机工程系班级:姓名:朱静学号:指导教师:赵叶青完成日期:2011-1-1数据库应用与维护课程设计任务书一、 课程设计目的本课程作为独立的教学环节,是学习完高级数据库应用与维护课程后进行的一次全面的综合练习。其目的在于加深对关系数据库理论和基本知识的理解,掌握使用关系数据库为后台数据库设计一个信息管理系统的技术,综合训练学生的分析问题的能力,提高解决实际管理问题的能力,以培养学生的专项技能和职业能力。二、课程设计的内容及要求 参考题目:图书借阅管理系统、人事管理系统、教学管理系统(题目也可自拟)。基本要求:1、上机环节要求:通过调查研究,选择一个
2、数据库系统的课题,并完成全部设计过程。2、报告书要求: 设计报告应按照以下提纲书写: (1)封面(自行设计)(2)任务书(3)教师评语(4)需求分析(2)数据库概念模型设计(3)数据库逻辑模型设计(4)数据库物理结构设计与实现(5)总结(6)参考文献 报告书纸张大小一律设计成B5,除各级标题外,正文字体设计为小四号。三、课程设计完成日期2010年11月8日-2011年1月8日计算机工程系赵叶青2010-11-5教师评语:情况描述分数得分系统实现部分(80分)能按期完成课程设计任务书所规定的任务,综合运用所学知识独立分析问题和解决问题能力较强。提交的设计报告结构严谨,文理通顺,概念清楚,分析透彻
3、。符合规范化要求。图例清楚、齐全,标注正确、符合技术用语要求。设计的数据库结构合理准确,代码正确,功能完善。实验数据充分。7080能按期完成课程设计任务书所规定的任务,综合运用所学知识独立分析问题和解决问题能力较强。提交的设计报告思路清楚,内容组织有序,概念清楚,分析比较详细,图例清楚。设计的数据库结构合理准确,代码基本正确,功能比较完善。有一定的实验数据支持。6069能大致完成课程设计任务书所规定的任务,综合运用所学知识,有一定的独立分析问题和解决问题的能力。提交的设计报告思路比较清楚,内容组织得当,但图例有个别错误或者设计过程分析不够详细。设计的数据库结构合理准确,但代码不够完整或者功能有
4、所欠缺。有一定的实验数据支持。5059能完成课程设计任务书所规定的大部分任务,综合运用所学知识,有一定的独立分析问题和解决问题的能力。提交的设计报告思路比较清楚,内容组织得当,但图例有部分错误或者设计过程分析比较粗糙。设计的数据库结构合理、基本正确,但代码不够完整或者功能有所欠缺。实验数据支持不足。4049抄袭他人程序(0分)对课题理解错误、定位不准;或者未能完成大部分系统功能。报告书内容混乱、过程不清楚、错误太多,离任务书要求差距太大。040学习态度部分(20分)考勤全勤,学习态度端正,能按时按量独立完成课程要求的内容1920考勤全勤,态度比较端正,能按时独立完成课程要求的内容1618考勤良
5、好,能独立完成课程要求的内容1315考勤良好,基本能独立完成课程要求的内容1012有抄袭现象(0分),出勤率低,未完成课程内容09总计100成绩目录任务书2教师评语3需要分析5系统数据库设计7图书管理系统模型E-R图9数据库及表设计10总结23参考文献23一、需求分析:现代生活对管理的需求越来越高,人力资源又十分宝贵,为此人们创建了管理系统,更加快捷有效地检索读者所需要的信息。我们为了提高图书馆的工作效率、提高服务能力,使读者借阅图书更方便、更快捷,我们通过电子信息化的手段为本图书馆设计了一个管理系统,以便于人力资源与设备的减少。本系统旨在实现图书馆图书借阅、返还、读者信息等的管理,并且已经实
6、现了图书管理的核心功能,即图书的信息检索、增加、删除、查询、更改等管理。我们通过对实际项目的调研和充分的需求调查发现读者的一般需求是:图书的信息管理、读者个人信息管理和图书的借阅、返还管理,按类型、按图书名等查询,实现增加和删除的功能。系统性能要求:(1)系统安全、可靠(2)功能齐全;(3)操作方便、界面友好;(4)易于维护和扩充。系统的功能分析:密码设置:每个操作员均有自己的密码,可以防止非本系统人员进入本系统;又因每个人的权限不一致,帮可以防止越权操作。资料维护:为了存放图书、读者档案的全部数据,本系统将每一本图书和每位读者的信息进行管理。系统维护包括对各种表的修改、删除、添加等操作。系统
7、查询:可以按图书编号、借阅证编号等相关信息进行查询。图书管理系统功能模块图:图书管理系统用户个人信息管理信息录入信息查询打印读者信息信息修改与删除图书借阅返还管理出租影碟管理返还影碟管理用户登录界面管理管理员登录模式读者登录模式管理员信息管理信息录入信息查询信息修改与删除图书信息管理信息修改与删除图书清单新进图书图书查询二、系统数据库设计:表及结构1、读者信息表结构列名数据类型长度是否允许为空默认值说明Ridnvarchar50否无主键Rnamenvarchar50无Rsexchar4否男Rtypevarchar10教师Lendnumsmallint4无Limitnumsmallint4无Tr
8、ansactDatesmalldatetime8无2、借阅信息表结构列名数据类型长度是否允许为空默认值说明LendDatesmalldatetime8否无主键Ridnvarchar50否无外键Bidnvarchar50否无外键ReturnDatesmalldatetime8无3、图书信息表结构列名类型长度是否允许为空默认值说明Bidnvarchar50否无主键Bnamenvarchr50无Authorvarchar40无Pricedecimal(7,2)否无PubCompnvarchar50无Inventoriessmallint804、出版社信息表结构列名类型长度是否允许为空默认值说明Pid
9、nvarchar50否无主键Bidnvarchar50无外键Addressnvarchar50否无Telephonevarchar20否无5、管理员信息表结构列名类型长度是否允许为空默认值说明Aidnvarchar50否无主键Bidnvarchar50无外键Ridnvarchar50Anamenvarchar50无Asexchar4否男Passwordvarchar20否三、图书管理系统模型设计E-R图实体(读者)Reader(Rid,Rname,Rtype,Lendnum,Limitnum,TransactDate)PK: RID实体(借阅): borrow(Rid,Bid,LendDate
10、,ReturnDate)PK: LendDate, Rid, BidFK: Rid, Bid实体(图书): book(Bid,Bname,Author,Price,Publishing Company, Inventories)PK: BID联系(出版): publishing(Pid,Bid)PK: PID, BidFK: PID, bid实体(出版社): pub comp(Pid,Pname,Address,Telephone)PK: PID联系(管理): admin(Bid, Aid,Rid)PK: Bid, Aid, RidFK: Bid, Aid, Rid实体(管理员): admin
11、ister(Aid,Asex,Password)PK: Aid四、数据库及表设计1、数据库设计create database Libraryon primary(name=library,filename=E:图书管理系统Library.mdf,size=3,maxsize=100,filegrowth=10%)log on( name=library_log,filename=E:图书管理系统Library_log.ldf,size=1,maxsize=3, filegrowth=10%)2、 表设计Reader表:use librarygocreate table reader( Rid
12、nvarchar(50) not null primary key, Rname nvarchar(50) null, Rsex char(4) not null default(男), Rtype varchar(10) not null default(教师), Lendnum smallint null, Limitnum smallint null, TransactDate smalldatetime null,check (Rsex=男 or Rsex=女)Borrow表:use librarygocreate table borrow( Lenddate smalldatetim
13、e not null primary key, Rid nvarchar(50) not null foreign key references reader(Rid), Bid nvarchar(50) not null foreign key references book(Bid), Returndate smalldatetime null )Book表:use librarygocreate table book( Bid nvarchar(50) not null primary key, Bname nvarchar(50) null, Author varchar(40) nu
14、ll, Price decimal(7,2) null check (price0), PubComp nvarchar(50) null, Inventories smallint default(0))PubComp表:use librarygocreate table pubcomp( Pid nvarchar(50) primary key, Bid nvarchar(50) null foreign key references book(Bid), Pname nvarchar(50) null, Address nvarchar(50) null, Telephone varch
15、ar(20) null)Administor表:use librarygocreate table Administor( Aid nvarchar(50) primary key, Bid nvarchar(50) null foreign key references book(Bid), Rid nvarchar(50) null foreign key references reader(Rid), Aname nvarchar(50) null, Asex char(4) default(男) check (Asex=男 or Asex=女), Password varchar(20
16、) default()3、 视图4、为表插入记录use librarygo insert into bookvalues(,计算机专业英语,贾振华,56.5,北京清华出版社,20)goinsert into bookvalues(,SQL Server 2005,周慧,29.5,人民邮电出版社,20)goinsert into bookvalues(,飘,周阿连,20.00,文化出版社,15)goinsert into bookvalues(,红楼梦,曹雪芹,89.00,文化出版社,10)goinsert into bookvalues(,市场营销,刘元灿,36.9,航天职业技术学院,15)g
17、oinsert into bookvalues(,概率论与数据统计,蔺媛媛,25.7,机械工业出版社,10)goinsert into bookvalues(,商务英语,王静,56.5,水利工程出版社,10)goinsert into bookvalues(,知识产权,周杰,29.5,人民大学出版社,10)goinsert into bookvalues(,西游记,吴承恩,65,清华大学出版社,10)goinsert into bookvalues(,水浒传,施耐奄,89,清华大学出版社,20)goinsert into bookvalues(,中国近现代史,黄荣盛,27.5,人民邮电出版社,
18、10)goinsert into bookvalues(,高等数学,余英,20.4,航天职业技术学院,20)goinsert into readervalues(,王峰,男,教师,4,6,2004-9-2)goinsert into readervalues(,严红,女,学生,3,4,2009-9-3)goinsert into readervalues(,王长林,男,教师,2,6,2004-9-2)goinsert into readervalues(,张晓辉,男,学生,2,4,2209-9-3)goinsert into readervalues(,萧清,女,学生,4,4,2009-9-3
19、)goinsert into readervalues(,刘敏,女,学生,3,4,2009-9-3)goinsert into readervalues(,李明,男,教师,1,6,2004-9-2)goinsert into readervalues(,张琴,女,学生,4,4,2009-9-3)goinsert into readervalues(,刘萌,女,教师,2,6,2004-9-2)goinsert into readervalues(,李卿,男,教师,5,6,2004-9-2)goinsert into borrowvalues(2009-10-1,)goinsert into bo
20、rrowvalues(2009-12-3,)goinsert into borrowvalues(2009-12-4,2009-12-24)goinsert into borrowvalues(2009-11-10,2009-12-5)goinsert into pubcomp values(0101,北京市京华路号,010-)insert into pubcomp values(0210,重庆渝州路号,023-)insert into pubcomp values(0102,四川成福路号,0831-)insert into pubcomp values(0202,重庆江北红石路号,023-)
21、insert into Administor values(001,张三,男,)insert into Administor values(002,李四,男,)insert into Administor values(003,王香,女,)五、各种查询1.根据读者编号查询读者类型、姓名、借阅的图书编号、图书名称、作者、价格及借阅时间use librarygoselectreader.Rid,reader.Rtype,reader.Rname,book.Bid,book.Bname,book.Author,book.Price,borrow.lenddatefrom reader,book,bo
22、rrowwhere reader.Rid=borrow.Rid and book.Bid=borrow.bid and reader.Rid=2.输入读者编号,查询读者的所有信息use librarygoselect *from readerwhere reader.Rid=3.根据图书编号,查询图书的名称、出版社名称、作者、出版社地址以及联系电话use librarygoselect book.Bid,book.Bname,book.PubComp,book.Author,pubcomp.Address,pubcomp.telephonefrom book,pubcompwhere book
23、.bid=pubcomp.Bid and book.Bid=4.查询借书日期超过天,且未还书的读者的信息以及借阅时间use librarygoselect reader.*,borrow.lenddatefrom reader,borrowwhere reader.Rid=borrow.Rid and (getdate()-borrow.lenddate=30)and returndate is null5.查询读者信息表中没有借过书的读者use librarygoselect *from readerwhere Rid not in(select distinct Rid from borr
24、ow)6.对表“reader”的delete操作定义ALTER触发器,检查该读者是否有书没还,若该读者还有书未还则不能被删除use librarygocreate trigger reader_deleteafteron readerfor deleteasbegindeclare data intselect data=lendnumfrom deletedif data0begin print该读者不能删除!还有+convert(char(2),data)+本书没还 rollbackendelse print该读者已被删除endgouse librarygodelete reader wh
25、ere reader.Rid=7.插入新的读者信息前先检查reader表里面是否己存在该项。如果不存在就Insert插入该读者的信息,并打印新读者添加成功!;如果存在就UPDATE用现有读者信息去更新旧的读者信息,并打印读者信息更新成功!。use librarygocreate procedure borrow1_crrid char(8), rid1 char(8) output ,name char(10), name1 char(10) output,type varchar(10),type1 varchar(10) output ,lendnum smallint=0,limitnu
26、m smallint,limitnum1 smallint output,Rsex char(4),Rsex1 char(4) output,Transactdate smalldatetime,transactdate1 smalldatetime outputas beginif exists(select rid from reader where rid=rid )beginupdate reader set rid=rid,rname=name,Rsex=Rsex,Rtype=type,lendnum=lendnum,limitnum=limitnum,Transactdate=Tr
27、ansactdate where rid=ridprint读者信息更新成功!set rid1=ridset name1=nameset type1=typeset Rsex1=Rsexset limitnum1=limitnumset Transactdate1=transactdateendelse insert reader values(rid,name,Rsex,type,lendnum,limitnum,Transactdate)print新读者添加成功!set rid1=ridset name1=nameset type1=typeset Rsex1=Rsexset limitnu
28、m1=limitnumset Transactdate1=Transactdateendgodeclare a varchar(10),b char(4),c smallint,d smallint,e varchar(10),f smalldatetimeexec borrow1_cr , a output,刘燕,b output,女,e output,学生,c output,2,d output,4,f output,2009-9-3print 读者信息更新为:+a+b+e+char(c)+char(d)+convert(char(20),f)总结:经过本次实验,让我们对SQL Serve
29、r有了更深层的了解,我们知道了怎样做需求分析;怎样画功能模块图;怎样画ER图。这次实验用到了很多查询语句、触发器、存储过程,还涉及到一点点的事务处理。我们在做需求分析时,首先要了解我们为什么要做这样一个系统,用这样一个系统对用户和操作员有什么好处,系统的功能是什么。我们只有了解了这些后才能设计出一个理想的系统。所以我们在做需求分析时,必须对系统的功能有详细的介绍。为了让大家一看就能明白系统的基本结构,包括有些什么表、表的结构是什么,这里还将表的基本结构用表格一一表述出来。本次实验做了几个简单的查询语句、还用到触发器来判断用户是否能删除自己的信息、最后用到存储过程来更新用户输入的记录。而这些简单的句子都让我们深刻的体会到它们的实用性,感觉这些都是真真实实的存在的。这次实验,又让我真真切切的上了一课。参考文献1 周慧 数据库应用技术(SQL SERVER 2005) 北京:人民邮电出版社2 李晓洁 (SQL SERVER 2000)管理及应用系统开发 北京:人民邮电出版社专心-专注-专业
限制150内