资源预览内容
第1页 / 共16页
第2页 / 共16页
第3页 / 共16页
第4页 / 共16页
第5页 / 共16页
第6页 / 共16页
第7页 / 共16页
第8页 / 共16页
第9页 / 共16页
第10页 / 共16页
亲,该文档总共16页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
2008级数据库课程设计任务书 【设计目的】 数据库课程设计是在学生系统地学习了数据库系统原理课程后,按照关系型数据库的基本远离,综合运用所学的知识,设计开发一个小型的数据库管理信息系统,通过对一个实际问题的分析、设计与实现,将原理与应用相结合,使学生学会如何把书本上学到的知识用于解决世界问题,培养学生的动手能力;另一方面,使学生能深入理解和灵活掌握教学内容。【设计要求】1、 课程设计题目自信填充,独立完成;2、 课程设计时间为1.5周;3、 数据库管理系统不限(OracleSQL ServerMySQLAccess)、开发语言不限(VCVC C+BuilderDelphiC#.netASP),避免把学习语言的时间放在设计期间;4、 从开始的系统雪球分析到最后的软件测试,都要有详细的计划,设计文档应按照数据库设计的要求书写;5、 系统中的数据表设计合理、高效、尽量减少数据冗余,软件界面友好、健壮性强;6、 上机时间:上午8:20-11:50 ,下午 2:10-5:40;7、 无论在校外、校内,都要严格最受学校和所在单位的学习和劳动纪律、规章制度,学生有事离校必须请假。课程设计期间,无故缺席按旷课处理;缺席时间达四分之一以上者,其成绩按不及格处理。 【题目】 图书馆进销存系统一、 设计目的学生根据所学的数据库原理与程序设计的知识,能够针对一个小型的数据库管理信息系统,进行系统的需求分析,系统设计,数据库设计,编码,测试等完成题目要求的功能,从而达到掌握开发一个小型数据库管理信息系统的目的。二、 设计内容1) 新书的入库。2) 新用户的注册3) 藏书的搜索4) 用户密码的找回5) 对藏书的借还状态的查询6) 用户的书籍借阅记录7) 管理员对图书借还的管理8) 用户对个人信息的管理【一】 需求分析作者出版社【二】 概念结构设计书名编号状态单价藏书编号书名编号管理姓名书名预约学号学号借出时间账户姓名专业管理员学号密码密码学院姓名用户【三】 逻辑结构设计【四】 物理设计因为一个用户可以借阅多本图书,所以用户表对借阅表和管理表为一对多的关系,因此为了保证查询的唯一性和减少冗余,又因为书的编号唯一,所以以书的编号建立索引 【五】数据库的实施和维护 用户手册: 进入本系统首先会进入初始界面新用户点击用户注册先输入自己的详细信息和密码注册即可注册完毕后返回点击用户登陆,输入学号和密码进行登陆如果忘记密码,点击找回密码,输入个人信息即会显示密码登陆成功后,会进入个人界面,全部的图书信息均会显示出来,用户可以根据书名进行查询,若图书状态为可借,则可以进行预约点击个人信息,可以查看用户目前所借阅的书用户找到书后,前往管理员出进行借书,管理员通过管理员登陆可以进行新书添加,书籍借出和书籍归还工作新书添加可以进行书籍入库工作点击借书输入用户和书籍信息,并查询书籍的预约情况可以进行借书工作用户进行还书时,输入书籍的编号既可以清除用户的借书记录总结: 系统优缺点:本系统是在学习过数据库系统原理后用MFC语言所做的一款系统,具有简易的图书馆信息管理功能,但是对于惩罚系统和对借阅时间的管理上做的不够完善和智能,操作界面略显简陋,不够优美赏心悦目,但是对于一个图书馆系统所应该具有基本功能都具备。 个人感想:通过这次的数据库系统课程设计,本人熟悉了对SQL Server 2000,2005,Oracle ,VS2008,vc+6.0等软件的应用,但因为实现准备工作不够充分,因此,在进行编写时略微仓促了些,也暴露和许多的问题,比如对MFC语言不够精通等,不过最终许多问题都通过网上查找资料解决了,也从中学到了许多,不管怎么说,这是本人设计的第一款具有数据库管理功能的可视化软件,整个编写代码的过程大概用了一个下午,三个星期大部分时间都浪费了,在下次进行课程设计的时候,本人将吸取经验,充分利用好所有的时间,争取将课程设计做的更加完善完美。附录:ADOConn:ADOConn()ADOConn:ADOConn()/ 初始化连接数据库void ADOConn:OnInitADOConn()/ 初始化OLE/COM库环境 :CoInitialize(NULL);try/ 创建Connection对象m_pConnection.CreateInstance(ADODB.Connection);/ 设置连接字符串,必须是BSTR型或者_bstr_t类型 m_pConnection-Open(FILEDSN=f:WYF.dsn;PageTimeout=5,uid=administrator, pwd=wyf890722,adModeUnknown);/ 捕捉异常catch(_com_error e)/ 显示错误信息AfxMessageBox(e.Description();/ 执行查询_RecordsetPtr& ADOConn:GetRecordSet(_bstr_t bstrSQL)try/ 连接数据库,如果Connection对象为空,则重新连接数据库if(m_pConnection=NULL)OnInitADOConn();/ 创建记录集对象m_pRecordset.CreateInstance(_uuidof(Recordset);/ 取得表中的记录m_pRecordset-Open(bstrSQL,m_pConnection.GetInterfacePtr(),adOpenDynamic,adLockOptimistic,adCmdText);/ 捕捉异常catch(_com_error e)/ 显示错误信息AfxMessageBox(e.Description();/ 返回记录集return m_pRecordset; / 执行SQL语句,Insert Update _variant_tBOOL ADOConn:ExecuteSQL(_bstr_t bstrSQL)/_variant_t RecordsAffected;try/ 是否已经连接数据库if(m_pConnection = NULL)OnInitADOConn();/ Connection对象的Execute方法:(_bstr_t CommandText, / VARIANT * RecordsAffected, long Options ) / 其中CommandText是命令字串,通常是SQL命令。/ 参数RecordsAffected是操作完成后所影响的行数, / 参数Options表示CommandText的类型:adCmdText-文本命令;adCmdTable-表名/ adCmdProc-存储过程;adCmdUnknown-未知m_pConnection-Execute(bstrSQL,NULL,adCmdText);return true;catch(_com_error e)AfxMessageBox(e.Description();return false;void ADOConn:ExitConnect()/ 关闭记录集和连接if (m_pRecordset != NULL)m_pRecordset-Close();m_pConnection-Close();/ 释放环境:CoUninitialize();void login:OnOK() / TODO: Add extra validation hereUpdateData();if(m_id=)MessageBox(帐号不能为空!);return;ADOConn m_AdoConn;m_AdoConn.OnInitADOConn();CString str;str.Format(SELECT * From 管理员 Where 帐号=%s,m_id);_bstr_t vSQL;vSQL=_bstr_t(str);_RecordsetPtr m_pRecordset;m_pRecordset=m_AdoConn.GetRecordSet(vSQL);if(m_code!=(LPCTSTR)(_bstr_t)m_pRecordset-GetCollect(密码)MessageBox(密码错误!);return;elsechoice dlg;dlg.DoModal();CDialog:OnOK();void code:OnOK() / TODO: Add extra validation here UpdateData();ADOConn m_AdoConn;m_AdoConn.OnInitADOConn();CString str;str.Format(SELECT * From 学生 Where 学号=%s and 姓名=%s and 学院=%sand 专业=%s,m_id,m_name,m_xueyuan,m_zhuanye);_bstr_t vSQL;vSQL=_bstr_t(str);_RecordsetPtr m_pRecordset;m_pRecordset=m_AdoConn.GetRecordSet(vSQL);str=(LPCTSTR)(_bstr_t)m_pRecordset-GetCollect(密码);MessageBox(你的密码为+str);CDialog:OnOK();ook:look(CWnd* pParent /*=NULL*/): CDialog(look:IDD, pParent)/AFX_DATA_INIT(look)/ NOTE: the ClassWizard will add member initialization here/AFX_DATA_INITid=;void look:DoDataExchange(CDataExchange* pDX)CDialog:DoDataExc
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号