数据库原理与应用课程设计.doc_第1页
数据库原理与应用课程设计.doc_第2页
数据库原理与应用课程设计.doc_第3页
数据库原理与应用课程设计.doc_第4页
数据库原理与应用课程设计.doc_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

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

文档简介

数据库原理与应用课程设计(2011/2012-1第19周)指导教师:刘建平、霍戌文 班级:09计科(1)班学号:Q09620114姓名:陈青云浙江理工大学信息电子学院2011年12月数据库原理与应用课程设计任 务 书一、设计目的:1掌握计算机管理信息系统设计的一般方法,主要包括系统分析、系统设计的组织和实施。2关系型数据库管理系统的编程技术,并能独立完成一般小系统的程序设计、调试运行等工作。3培养把所学知识运用到具体对象,并能求出解决方案的能力。二、任务要求:(任选其一)1运用关系型数据库管理系统,实现本院图书馆管理信息系统。具体要求如下: 图书、资料的登记、注销和查询。 借书证管理,包括申请、注销借书证,查询借书证持有人等。 借还图书、资料的登记、超期处理,超期拒借等。 图书、资料查询,借、还图书和资料情况查询。 图书、资料借阅情况的统计分析,据此作为图书馆图书、资料订够的依据之一(本项不作为基本要求)。2运用关系型数据库管理系统,实现服务电话管理系统。向客户现场派技术人员的服务公司可以用服务电话管理系统跟踪客户、员工、工作订单、发票、付款等等。具体要求如下: 数据库要存储以下信息:客户信息客户工需单信息完成工需单所需人工完成工需单所需部件部件信息付款信息雇员信息 完成的功能:输入/查看 客户工需单信息输入/查看部件、雇员等其它信息付款打印发票等具体要求:1、按照实际项目进行调研,采集数据,提取实体、实体与实体之间的联系,运用数据库设计方法进行数据库的设计,并插入一定量的实验数据。2、根据系统的实际要求,给出一定量的查询功能要求并进行描述,并运用关系代数进行描述,最后给出相应的SQL语句(含插入、删除、修改、查询)并给予实现(查询结果)。三、结果形式:1、设计报告:含E-R图、数据字典、关系模式、关系实例、查询描述、关系代数、SQL实现的查询语言及查询结果。2、数据清单、程序清单以及有关数据字段、程序功能模块、主要变量的说明。3、上机正常运行。四、成绩考核:1课程设计态度(20分)。2递交的书面材料(60分)。具体要求如下:(1) 需求分析:分析应用环境,搞清设计系统的目标、主要解决的问题、边界;标识数据库应用、所使用的数据及其联系,确定数据需求、数据处理、数据存储。应用环境分析:明确应用环境的信息流向。基本数据收集:收集有关数据的各种信息,包括静态和动态两方面的数据,前者是关于数据定义或描述信息,后者是关于数据的使用与操作信息。应用功能分析:在应用环境分析的基本上标识数据的主要应用活动(处理功能),并 进行应用任务的细分,从而建立系统的功能模型。建立数据字典。写出需求分析规范说明报告。(2) 数据分析与建模:完整的E-R图。修改和补充数据字典,必须包含有关数据的标识符、名称、数据元素的类型、长度、完整型约束、安全性限制。 (3) 数据库建立:给出设计的各种关系模式给出数据语言形式的数据库模式。给出数据库定量说明,包括数据存储量和传输量估算说明。提供初始数据加载程序。(4) 数据库应用开发与运行:提交各应用程序的源程序清单。进行数据库维护操作结果的比较,以证明数据库的正确性。 进行应用程序运行结果和性能的分析,以表明数据库的适用性。3、上机运行情况(20分)。(若程序非正常退出,或进入死循环,本项基本不给分)评分按任务项具体要求的基本要求为标准,总分100分。总成绩折合以五级制成绩计(优秀、良好、中、及格、不及格)。要求同学们独立完成,发现抄袭的,经查实后以0分计。说明:数据库平台以及开发平台自选。五、工作进度:(共1周)时 间实 践 内 容授 课 地 点指导教师日期周次星期1.1019一 课程设计题目介绍,实例讲解,讨论10-414刘建平/霍戌文1.1119二数据库逻辑设计10-414刘建平/霍戌文1.1119二数据库建立10-414刘建平/霍戌文1.1219三功能模块设计10-414刘建平/霍戌文1.1219三功能模块编程,调试10-414刘建平/霍戌文1.1319四功能模块编程,调试10-414刘建平/霍戌文1.1319四功能模块集成,系统调试10-414刘建平/霍戌文1.1419五设计结果检查,答辩,成绩评定10-414刘建平/霍戌文数据库原理与应用课程设计设计报告目 录一、题目:6二、目的和要求:6三、需求分析:6四、数据分析与建模:6五、数据库建立:11六、数据库应用开发与运行:(程序代码、界面图、详细功能说明)12七、结果分析、结论与体会:16八、参考文献及资料:24一、题目:运用关系型数据库管理系统,实现本院图书馆管理信息系统。二、目的和要求:1、设计目的:1掌握计算机管理信息系统设计的一般方法,主要包括系统分析、系统设计的组织和实施。2关系型数据库管理系统的编程技术,并能独立完成一般小系统的程序设计、调试运行等工作。3培养把所学知识运用到具体对象,并能求出解决方案的能力。2、任务要求:1运用关系型数据库管理系统,实现本院图书馆管理信息系统。具体要求如下: 图书、资料的登记、注销和查询。 借书证管理,包括申请、注销借书证,查询借书证持有人等。 借还图书、资料的登记、超期处理,超期拒借等。 图书、资料查询,借、还图书和资料情况查询。 图书、资料借阅情况的统计分析,据此作为图书馆图书、资料订够的依据之一(本项不作为基本要求)。三、需求分析: 所要实现的功能设计,可能建立它们之间的关系,进而实现逻辑结构功能。图书管理信息系统可以划分的实体有:书籍类别信息实体、读者信息实体、书籍信息实体、借阅记录信息实体,归还记录信息实体。四、数据分析与建模:E-R图用E-R图一一描述这些实体。类别实体E-R图:书籍类别实体读者姓名类别名称图 类别实体E-R图读者信息实体E-R图:读者信息实体读者借书证编号读者姓名读者性别读者种类e登记时间图 读者信息实体E-R图信息实体E-R图:书籍信息实体书籍编号书籍名称书籍类别编号书籍作者出版时间收录时间是否被借出版社图 信息实体E-R图记录信息实体E-R图:读者借书证编号书籍类别编号借阅时间隔借阅记录信息实体实体图 记录信息实体E-R图记录信息实体E-R图:归还记录信息实体实体读者借书证编号书籍类别编号归还时间隔图 记录信息实体E-R图罚款信息实体E-R图:罚款信息实体实体书籍类别编号罚款金额读者姓名读者借书证编号书籍名称借阅时间隔图 罚款信息实体E-R图总的信息实体E-R图:信息登记读者实体书籍实体书类别实体归还借阅罚款罚款信息实体还书信息实体借阅信息实体实体图 总的信息实体E-R图数据流程图图 系统的数据流程图数据字典book_sytle 书籍类别信息表表中列名数据类型可否为空说明bookstylenovarcharnot null(主键)种类编号bookstyleVarcharnot null种类名称system_readers读者信息表格表中列名数据类型可否为空说明readeridvarcharnot null(主键)读者借书证号readernamevarcharnot null读者姓名readersexvarcharnot null读者性别readertypevarcharnull读者种类regdatedatetimenull登记日期system_book书籍信息表表中列名数据类型可否为空说明bookidVarcharNot null(主键)书籍编号booknameVarcharNot null书籍名称bookstyleVarcharNot null书籍类别bookauthorVarcharNot null书籍作者bookpubVarcharNull出版社名称bookpubdateDatetimeNull出版日期bookindateDatetimeNull登记日期isborrowedVarcharNot Null是否被借出borrow_record 借阅记录信息表表中列名数据类型可否为空说明readeridVarcharNot null(外主键)读者借阅证编号bookidVarcharNot null(外主键)书籍编号borrowdateVarcharNot null读者借书时间return_record 借阅记录信息表表中列名数据类型可否为空说明readernameVarcharNot null(外主键)读者借阅证编号readeridVarcharNot null(外主键)书籍编号returndatedatetimeNot null读者还书时间reader_fee 罚款记录信息表readeridvarcharNot null读者借书证编号readernamevarcharNot null读者姓名bookidvarcharNot null(外主键)书籍编号booknamevarcharNot null书籍名称bookfeevarcharNot Null罚款金额borrowdatedatetimeNot Null借阅时间五、数据库建立:关系图:图 数据库存表关系图六、数据库应用开发与运行:(程序代码、界面图、详细功能说明)1 数据库建立1 创建数据库USE masterGOCREATE 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 )GO2书本类别表建立create table book_style( bookstyleno varchar(30) primary key, bookstyle varchar(30)3创建书库表create table system_books( bookid varchar(20) primary key, bookname varchar(30) Not null, bookstyleno varchar(30) Not null, bookauthor varchar(30), bookpub varchar(30) , bookpubdate datetime, bookindate datetime , isborrowed varchar (2) ,foreign key (bookstyleno) references book_style (bookstyleno),)4借书证表建立create table system_readers ( readerid varchar(9)primary key, readername varchar(9)not null , readersex varchar(2) not null, readertype varchar(10), regdate datetime)5借书记录表建立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),)6还书记录表建立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)7罚款单表建立*/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 varchar(30) , borrowdate datetime, foreign key (bookid) references system_books(bookid), foreign key (readerid) references system_readers(readerid)2数据初始化1将书籍类别加入表book_style中insert into book_style(bookstyleno,bookstyle)values(1,人文艺术类) insert into book_style(bookstyleno,bookstyle)values(2,自然科学类)insert into book_style(bookstyleno,bookstyle)values(3,社会科学类)insert into book_style(bookstyleno,bookstyle)values(4,图片艺术类)insert into book_style(bookstyleno,bookstyle)values(5,政治经济类)insert into book_style(bookstyleno,bookstyle)values(6,工程技术类)insert into book_style(bookstyleno,bookstyle)values(7,语言技能类)2将已有的图书加入system_books表中(定义相同的作者出版社的书本编号不一样)insert into system_books(bookid ,bookname, bookstyleno,bookauthor,bookpub,bookpubdate, bookindate, isborrowed )values(00125415152,计算机组成原理,6,王爱英,清华大学出版社,2001-01-03,2003-11-15,1);insertinto system_books(bookid ,bookname, bookstyleno,bookauthor,bookpub,bookpubdate, bookindate, isborrowed )values(00125415153,计算机组成原理,6,王爱英,清华大学出版社,2001-01-03,2003-11-15,1);insert into system_books(bookid ,bookname, bookstyleno,bookauthor,bookpub, bookpubdate,bookindate, isborrowed )values(00456456,数据库原理,6,萨师煊,高等教育出版社,2007-07-02,2007-09-15,1);insert into system_books(bookid ,bookname, bookstyleno,bookauthor,bookpub,bookpubdate, bookindate, isborrowed )values(12215121,C程序设计,6,谭浩强,清华大学出版社,2002-04-02,2004-03-14,1);insert into system_books(bookid ,bookname, bookstyleno,bookauthor,bookpub, bookpubdate,bookindate, isborrowed )values(9787308020558,计算机体系结构,6,石教英,浙江大学出版社,2004-10-03,2006-11-15,1);insert into system_books(bookid ,bookname, bookstyleno,bookauthor,bookpub, bookpubdate,bookindate, isborrowed )values(45456141414,数据结构(C语言版),6,吴伟民,严蔚敏,清华大学出版社,2002-06-28,2004-01-21,1);insert into system_books(bookid ,bookname, bookstyleno,bookauthor,bookpub, bookpubdate,bookindate, isborrowed )values(5455515,中华历史5000年,1,吴强,北京大学出版社,2005-04-03,2006-05-15,1);insert into system_books(bookid ,bookname, bookstyleno,bookauthor,bookpub, bookpubdate,bookindate, isborrowed )values(015115,古代埃及,3,赵文华,北京大学出版社,2001-02-02,2002-09-15,1);insert into system_books(bookid ,bookname, bookstyleno,bookauthor,bookpub, bookpubdate,bookindate, isborrowed )values(1514514,日本文化,1,吴小鹏,北京大学出版社,2002-04-02,2004-03-14,1);insert into system_books(bookid ,bookname, bookstyleno,bookauthor,bookpub, bookpubdate,bookindate, isborrowed )values(15154656,微观经济学,5,李小刚,北京大学出版社,2000-10-03,2001-11-15,1);insert into system_books(bookid ,bookname, bookstyleno,bookauthor,bookpub, bookpubdate,bookindate, isborrowed )values(5658,影视文学,4,苏庆东,北京大学出版社,1999-02-28,2000-01-21,1);insert into system_books(bookid ,bookname, bookstyleno,bookauthor,bookpub, bookpubdate,bookindate, isborrowed )values(565800020,探索宇宙奥秘,2,苏庆东,北京大学出版社,1999-02-28,2000-01-21,1);3将已有图书证的读者加入system_readers表中*/insert into system_readers(readerid,readername,readersex,readertype,regdate)values(X05620207,陈远鹏,男,学生,2005-9-23 14:23:56)insert into system_readers(readerid,readername,readersex,readertype,regdate)values(X05620206,陈特,男,学生,2005-09-30 13:24:54.623)insert into system_readers(readerid,readername,readersex,readertype,regdate)values(X05620204,赵铭静,女,学生,2005-09-27 11:24:54.123)insert into system_readers(readerid,readername,readersex,readertype,regdate)values(X05620202,潘虹,女,学生,2005-09-30 13:24:54.473)insert into system_readers(readerid,readername,readersex,readertype,regdate)values(008415,蒋伟,男,教师,2004-04-30 09:24:54.478)insert into system_readers(readerid,readername,readersex,readertype,regdate)values(001456,李叶风,女,教师,2004-04-30 09:24:54.478)4添加已借书读者的记录,同时将在已借出的借阅标记置0*/insert into borrow_record(bookid,readerid,borrowdate)values(00125415152,X05620202,2007-09-27 11:24:54.123)update system_booksset isborrowed=0where bookid=00125415152insert into borrow_record(bookid,readerid,borrowdate)values(00125415153,X05620206,2007-12-27 08:26:51.452)update system_booksset isborrowed=0where bookid=00125415153 and isborrowed=1insert into borrow_record(bookid,readerid,borrowdate)values(5455515,X05620207,2007-12-27 08:26:51.452)update system_booksset isborrowed=0where bookid=5455515 and isborrowed=1insert into borrow_record(bookid,readerid,borrowdate)values(015115,X05620204,2007-10-21 12:11:51.452)update system_booksset isborrowed=0where bookid=015115 and isborrowed=1insert into borrow_record(bookid,readerid,borrowdate)values(15154656,001456,2007-12-28 14:11:51.312)update system_booksset isborrowed=0where bookid=15154656 and isborrowed=1insert into borrow_record(bookid,readerid,borrowdate)values(565800020,008415,2007-08-28 15:11:31.512)update system_booksset isborrowed=0where bookid=565800020 and isborrowed=17、 结果分析、结论与体会:1单表查询1表book_style中查询演示:图 表book_style中内容2表system_books中查询演示:图 表system_books中内容3将已有图书证的读者加入system_readers表中结果查询:图 表system_readers中内容4借书纪录表borrow_record结果查询:图 表borrow_record中内容2超期处理1现在对已有借书证的读者进行查询借书是否超期(这里归定30天):说明:当前的getdate()以日期为2008年1月6日计算图 选出借出超过30天的读者2同时也可以用语句超过天数的读者进行罚款,加入到罚款单里面,一天以0.3元扣除计算:SQL语言:insert into reader_fee(readerid,readername,bookid,bookname,bookfee,borrowdate)select system_readers.readerid 读者借书证编号 ,readername 读者姓名,system_books.bookid 书籍编号,bookname 书名,0.3*(Datediff(day,convert(smalldatetime,borrowdate),getdate()-30) 超过时间天数,borrowdate 借书时间 from borrow_record ,system_readers ,system_books where system_readers.readerid=borrow_record.readerid and system_books.bookid=borrow_record.bookidand Datediff(day,convert(smalldatetime,borrowdate),getdate()=30(所影响的行数为 3 行)select readerid 书读者借书证编号,readername 读者姓名,bookid 书籍编号,bookfee 超期罚款from reader_fee形成各本书对应的罚款金额,按0.3元每天算图 查看罚款单3还书操作1现在对某一读者进行还书操作:1首先还书要在还书纪录中添加一条还书纪录2其次删除相应书本的借阅纪录3最后在书库中标记该本书为1,表示归还了未借,可供其他读者借阅说明:学号为X05620207 姓名为陈远鹏 借阅的565800020书籍编号进行归还。SQL语言:insert into return_record(bookid,readerid,returndate)select bookid,readerid,getdate()from borrow_recordwhere bookid=565800020(所影响的行数为 1 行)delete from borrow_recordwhere bookid=565800020(所影响的行数为 1 行)update system_booksset isborrowed=1where bookid=565800020(所影响的行数为 1 行)三个表的结果如图:图 增加了565800020纪录图 565800020这本书在借书纪录里没有了图 标记设为了1说明:这本书重新回到未被借出标记为1(注,相同的书其编号是不同的)其结果为还书成功,相应的各表都有变化,对于罚款单通过借阅记录表borrow_record中更新。4借书操作1查询未被借出的书本:图2查询已被借出的书本:图3申请借书证:SQL语言:Insert in

温馨提示

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

评论

0/150

提交评论