《数据库系统原理课程设计内容.doc》由会员分享,可在线阅读,更多相关《数据库系统原理课程设计内容.doc(25页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、数据库系统原理课 程 设 计题 目 图书管理系统 班 级 学 号 姓 名 指导老师 2012年 12 月 20 日目 录一、概述11.1 课程设计的目的11.2 课程设计的内容11.3 课程设计的要求1二、需求分析22.1 系统需求2 2.1.1、 数据需求.2 2.1.2、事务需求.32.2 数据字典4三、系统总体设计53.1系统总体设计思路53.2 概念模型设计63.2.1 局部E-R图73.2.2 全局E-R图93.3 逻辑结构设计93.4 数据库建立实施93.4.1 建立数据库93.4.2建立关系表.103.4.3连接数据库.10四、系统实现104.1主窗体设计.104.1.1设计登录
2、界面.104.1.2添加数据组件.104.1.3生成数据集.114.1.4设计代码.114.2 读者信息.124.2.1设计显示界面.124.2.2添加数据组件.124.2.3功能实现.124.3 显示报表.134.3.1添加读者信息报表.134.3.2添加借阅情况报表.144.4 综合查询的实现.144.4.1添加数据组件.144.4.2窗体功能实现.154.5系统流程图.164.6程序调试情况.164.7 功能显示.16五、系统评价20六、课程设计心得、总结21参考文献:21附录:源代码:.22 一、概述1.1课程设计目的数据库系统原理课程设计是本专业的重要实践性教学环节,是数据库系统原理
3、课程的后续辅助教学课程。通过该课程设计,使学生掌握数据库的基本概念,结合实际的操作和设计,巩固课堂教学内容,使学生掌握数据库系统的基本概念、原理和技术,将理论与实际相结合,应用现有的数据建模工具和数据库管理系统软件,规范、科学地完成一个小型数据库的设计与实现,把理论课与实验课所学内容做一综合,并在此基础上强化学生的实践意识、提高其实际动手能力和创新能力。具体掌握的基本能力有以下几个方面:1. 学习和巩固数据库系统原理的基本知识。2. 关系数据库管理系统的基本使用方法。3. 熟悉SQL语言的主要功能及SQL语句的使用操作。4. 熟悉数据库管理系统的设计过程,培养解决实际问题的能力。5. 小型数据
4、库应用系统的设计方法。1.2课程设计内容: (1)主要的数据表图书基本信息表,借书卡信息表,借阅信息表,图书分类信息表等等。(2)主要功能模块1) 图书基本情况的录入、修改、删除等基本操作。2) 办理借书卡模块。3) 实现借书功能。4) 实现还书功能。5) 能方便的对图书进行查询。6) 对超期的情况能自动给出提示信息。7) 具有数据备份和数据恢复功能。2、系统要求:图书编号可参考国家统一的图书编码方法,在完成基本功能模块的情况下,尽量使系统能具有通用性。1.3课程设计的基本要求1. 根据题目查找资料及调研,写出数据库系统的需求分析报告;2. 根据需求分析,设计系统的功能结构,画出系统的功能结构
5、图,设计的功能要全面、正确,能解决现实世界各类用户的实际需要;3. 根据需求分析,确定所设计的系统涉及到的实体、各实体的属性以及各实体之间的联系,用E-R图完成系统的概念模型设计,设计的概念模型要能全面、真实的反应现实世界,能满足系统功能的需要;4. 根据E-R图转换为DBMS支持的关系模型,作出数据库系统的逻辑模型:1)数据库的关系模式(使用关系模型规范化理论进行优化,要求各关系至少达到3NF);2)确定各关系属性的域;3)确定各关系的主码、必要的约束、关系之间的参照完整性等。5. 适当的选择设计各类用户的子模式;6. 根据逻辑模型、系统环境和用户需求,设计数据库的物理结构。7. 使用PB、
6、VFP、VB、VC、VB.NET、C#、Java、DELPHI、ASP、JSP、PHP或ASP.NET等程序设计语言,进行相应前台主要模块和菜单的设计,采用B/S或C/S模式,数据库作为后台服务器。8. 设计一组数据库表的测试实例,对各项功能进行简单的测试并写出测试结果。 二、需求分析2.1、系统需求 2.1.1、 数据需求根据系统的需求,首先将要记录的信息分类,要记录的信息如下。读者信息:包括证号、姓名、联系方式、已借书数目、读者类别和能否借书等。出版社信息:包括名称、地址、网址、E-mail等。书籍信息:包括书号、丛书系列、作者、责任编辑、字数、定价、出版时间、主题分类、二级分类、馆内借阅
7、分类、总册数、库存量、出版社和书名等。借阅信息:包括借阅日期、应归还日期、实际归还日期、能否续借、书号和证号等。管理者信息:包括管理者名称、对应密码和对应权限等。根据这些需要,本系统需要“读者信息”表,“出版社信息”表,“书籍信息”表,“借阅信息”表和“管理者信息”表。2.1.2、事务需求经过实际考察、咨询和分析,高等院校图书管理系统主要应该具有以下功能模块,如1.1图。在读者信息管理部分,要求如下。l 可以浏览读者信息。l 可以对读者信息进行维护,包括添加及删除等操作。在出版社信息管理部分,要求如下。l 可以浏览出版社信息。l 可以对出版社信息进行维护,包括添加及删除等操作。在书籍信息管理部
8、分,要求如下。l 可以浏览书籍信息。l 可以对书籍信息进行维护,包括添加及删除等操作。在借阅信息管理部分,要求如下。l 可以浏览借阅信息。l 可以对借阅信息进行维护操作。在管理者信息管理部分,要求如下。l 显示当前数据库中管理者情况。l 对管理者信息维护操作。用户登录读者信息管理出版社信息管理书籍信息管理借阅信息管理管理者信息管理注 销图1.1 系统业务逻辑关系2.2数据字典表 名列 名数据类型长 度主 键出版社信息出版社名称varchar50Yes出版社地址varchar50网址char50E-mailchar50读者信息证号int4Yes姓名varchar20联系方式varchar50已借
9、书数目int4读者类别int4能否借书bit1密码varchar6借阅信息书号char10Yes证号int4Yes借阅日期datetime8应归还日期datetime8实际归还日期datetime8续借bit1书籍信息书号char10Yes丛书系列nchar50作者nchar50责任编辑nchar50字数int4定价money8出版时间datetime8主题分类nchar50二级分类char50馆内借阅分类int4总册数int4库存量int4出版社varchar50书名varchar50管理者信息用户名称char20Yes密码char20权限int4 三、系统总体设计3.1系统总体设计思路图书
10、管理系统主要实现以下七方面的功能:a.用户登陆 b. 查询书籍的详细信息 c. 图书借还 d. 超级管理员 e. 图书修改和删除 f. 权限管理 g.查询用户借阅的信息功能描述:图书管理包括用户登陆、查询书籍的详细信息、借还、入库、维护、超期提示、和查询用户借阅的信息七方面功能。用户登陆,用户必须使用正确的用户名和密码才能访问。查询书籍的详细信息:输入书籍名字或者编号即可查询书籍的信息。图书借阅,进行借书登记;当用户要查询自己的借阅情况时,可进行借阅查询。图书修改和删除,实现对某些书籍的信息的修改和删除的功能。图书超期提示,当借阅者在已到借书期限时未归还图书,提示其尽快办理归还手续。查询用户借
11、阅的信息,可以查询用户的借阅的书籍的信息3.2概念模型设计名称地址3.2.1、局部E-R图E-mail网址出版社出版社书号出版书籍书名库存量馆内借阅分类总册数二级分类主题分类出版时间定价字数责任编辑丛书系列作者二级分类主题分类馆内借阅分类出版时间字数书籍借阅总册数库存量书号定价作者责任编辑书名丛书系列书号证号借阅日期应归还日期应归还日期读者证书姓名能否借书读者类别联系方式已借书书目出版社实际归还日期3.2.2全局E-R图3.3逻辑结构设计 逻辑结构设计的任务就是把概念结构设计阶段设计好的基本E-R图,转换为与选用的具体机器上的DBMS产品所支持的数据模型转换如下所示: 读者信息表:(证号、姓名
12、、已借书书目、联系方式、读者类别、能否借书) 书籍信息表:(书号、书名、丛书系列、作者、责任编辑、字数、定价、出版日期、主题分类、二级分类、馆内借阅分类、总册数、库存量、出版社) 出版社信息表:(网址、地址、名称、E-mail) 借阅信息表:(实际归还日期、应归还日期、证号、书号、借阅日期、能否续借)3.4数据库建立实施 3.4.1、 创建数据库(1)在服务器资源管理器中的任一节点右击。(2)执行快捷菜单中的“新建数据库”命令,并在打开的“创建数据库”对话框中输入数据库名Library,选中“使用WindowsNT集成安全性”单选按钮。(3)单击“确定”按钮,则新建的数据库就会出现在服务器上。
13、3.4.2创建数据表创建数据库后,为Library数据库添加数据表,步骤如下。(1)在服务器资源管理器中右击数据库Library下的“表”文件夹。在弹出的快捷菜单中执行“新建表”命令,出现表设计器。3.4.3连接数据库为数据库Library和本系统之间建立一个数据连接。(1)在服务器资源管理器中右击“数据连接”节点。在弹出的快捷菜单中执行“添加连接”命令,打开Data Link Properties对话框。切换到Provider选项卡,选中列表框中的Microsoft OLE DB Provider for SQL Server项。单击“下一步”切换到Connection选项卡。(2)在其中的
14、第一个下拉列表框中选择数据库所在服务器名称。输入登录服务器信息后选择数据库Library,然后单击Test Connection按钮。如果测试成功,单击“确定”按钮。 四、系统实现4.1主窗体设计创建一个新的“Windows应用程序”类型的项目,名为“图书馆管理”。将默认创建的窗体命名为“主窗体”,把“主窗体”作为本系统中的主界面。在窗体中添加两个Pannel控件,7个Button控件和7个Linklabel控件。4.1.1设计登录界面设计登录界面,创建一个新的”Windows窗体”,名为登录,作为本系统的登录界面.在登录窗体上添加两个Label控件,两个Button控件和两个TextBox控
15、件,添加控件后的窗体如图所示。4.1.2添加数据组件在工具箱中单击“数据”选项卡,添加OleDbDataAdapter组件。(1)在工具箱中单击OleDbDataAdapter组件,在窗体任意位置拖动出一个虚框矩形后释放左键弹出“数据适配器配置向导”对话框。(2) 单击“下一步”,在打开的对话框中选择前面建好的数据连接,然后单击“下一步”。(3)选中“使用SQL语句”,然后单击“下一步”进入“生成SQL语句”对话框。(4)在其中的多行文本框直接输入SQL语句“SELECT 管理者信息.* FROM 管理者信息”。(5)单击“下一步”按钮,进入“查看向导结果”,单击“完成”按钮完成数据适配器配置
16、。配置数据适配器后,在主窗体上就会自动添加一个OleDbConnection控件。4.1.3生成数据集生成数据集的步骤如下:(1)单击OleDbDataAdapter控件“属性”对话框中的“生成数据集”链接,打开“生成数据集”对话框。(2)在其中选中“新建”单选按钮,并在其后面的文本框中输入“Lib管理者信息”。(3)在“选择要添加到数据集中的表”列表框中列出了前面添加的OleDbDataAdapter组件所连接的表,选中该表名前面的复选框。(4)选中“将此数据集添加到设计器”复选框,单击“确定”按钮这样,将生成一个名称为“Lib管理者信息”的数据集,该数据集以文件形式存储,文件名为“Lib管
17、理者信息.xsd”。而在项目中,添加了一个DataSet组件,名为“objLib管理者信息”。在解决方案资源管理器中右击该项目,在弹出快捷菜单中单击“属性”菜单项。在打开的“属性页”对话框中的“启动对象”下拉列表框中选择“主窗体”选项。单击“确定”按钮,这样该项目启动时,就会从主窗体开始启动。4.1.4设计代码在程序运行过程中,如果想通过单击LinkLabel控件或Button控件进入系统中的各个功能模块(如显示读者信息等),就会弹出一个对话框要求输入用户名和密码.单击确认按钮,程序就会到数据库的管理者信息表中查找该用户名和密码是否存在.如果存在,允许进入功能模块.完成登录功能的主要代码集中在
18、UserCheck函数中.在程序运行过程中,在登录窗体的用户姓名和用户密码文本框中输入用户名和密码后,单击确认按钮就会触发UserCheck函数并执行其中的代码.如果UserCheck函数返回True,那么允许用户的操作;否则拒绝用户的操作请求.在UserCheck函数中首先定义Login类型的变量dlg_Login,然后通过ShowDialog方法来显示登录窗体.如果用户在登录窗体中输入用户姓名和密码,并且单击了确认按钮,那么自动调用一个自定义函数LoadDataSet(),由此函数进行数据加载.如果出错,显示错误信息,回滚整个事务.具体设计代码见附录1.1。4.2 读者信息在当前项目中添加
19、一个“Windows窗体”,将窗体命名为“读者信息”。4.2.1设计显示界面在窗体上添加1个GroupBox控件,9个Button控件,5个TextBox控件,1个CheckBox控件和7个Label控件。各按钮控件是为了执行相应的操作。各TextBox控件和CheckBox控件用来显示数据集中的数据,这个功能通过设置DataBindings属性来实现。4.2.2添加数据组件向窗体添加OleDbConnection组件,命名为OleDbConnection1后将其选中,在“属性”对话框的ConnectionString栏单击,选择所建数据库Library。添加OleDbDataAdapter组
20、件和生成数据集的方法步骤如2.3.2及2.3.3。设置各TextBox控件的DataBinding属性来实现对数据集中数据的显示(以Edit证号为例)。(1)选中“Edit证号”控件单击“属性”对话框。(2)单击DataBinding属性前面的+号打开该属性的详细列表。(3)设置Text属性:在该属性后面栏中单击并选择所对应字段。(4)设置其他TextBox控件的DataBinding属性。4.2.3功能实现显示数据,添加读者,保存更改,记录定位的实现。具体实现代码见附1.2。“管理者信息”,“出版社信息”,“书籍信息”,“借阅信息”和该模块的设计思路及方法步骤完全一致,在此从略。4.3 显示
21、报表在当前项目中添加一个“Windows窗体”,命名为“报表窗体”,该模块显示当前数据库中读者信息和借阅信息的报表。在窗体上添加一个CrystalReportViewer1,它充当报表显示的窗体,然后在窗体中添加一个菜单,菜单中包括两个子菜单项“读者信息”和“借阅信息”。 在程序运行中,如果单击“读者信息”菜单项,就会自动在窗体上显示“读者信息报表.rpt”:如果单击“借阅信息”命令就会自动在窗体上显示“借阅信息报表.rpt”报表。4.3.1添加读者信息报表(1)在开发环境中选择菜单“项目”中的“添加新项”对话框中选择Crystal Report选项。(2)在“名称”文本框中输入报表名“读者信
22、息报表.rpt”,单击“打开”按钮,就会弹出入图所示的“Crystal Report库”对话框。(3)在其对话框中选择“使用报表专家”单选按钮,在“选择专家”列表框中选择“标准”选项,单击“确定”按钮,进入下一步。(4)在弹出的“标准报表专家”对话框中,选择“可用的数据源”列表框中的OLB DB(ADO)选项,就会弹“OLE DB(ADO)”对话框。选择OLB DB提供程序为Microsoft OLE DB Provider for SQL Server,单击“下一步”按钮,显示 “连接信息”对话框。(5)在其中设置连接信息,单击“完成”按钮,返回“标准报表专家”对话框。(6)选择数据源为OL
23、E DB(ADO)中的Library数据库,并且选中其中的“读者信息”表。单击“插入表”按钮,把“读者信息”表插入到报表中,单击“下一步”按钮。(7)在“字段”选项卡中单击“全部添加”按钮,把“读者信息”表中的所有字段添加到报表中,单击“完成”按钮就完成报表的设计。设计完成的“读者信息报表”如图所示。图2.1 读者信息报表效果图4.3.2添加借阅情况报表添加借阅情况报表的过程与添加读者信息报表过程大致相同,不同之处在于插入到报表中的数据表为“读者信息”。4.4 综合查询的实现在程序运行过程中,单击主窗体的“综合查询”按钮,就会弹出一个对话框。在其中设置查询条件,根据查询条件从记录集中筛选出所需
24、记录。为此需要在项目中添加一个窗体“综合查询”。还需要设置“CmbBox运算符”控件的Items属性。单击窗体上“CmbBox运算符”控件,然后在“属性”对话框中单击Items栏,就会出现一个按钮,单击按钮,在打开的窗口中如图2.2所示设置字符串集合编辑器字符串。图2.2 所示设置字符串集合编辑器设置完毕,单击确定按钮。4.4.1添加数据组件在窗体上添加一个OleDbDataAdapter组件,使用数据适配器配置向导对其进行配置。选择数据连接后输入SQL语句“SELECT出版社信息.* FROM 出版社信息”。同样再为窗体添加四个OleDbDataAdapter组件,在生成SQL语句对话框的多
25、行文本框中分别输入SQL语句“SELECT读者信息.* FROM 读者信息”, “SELECT管理者信息.* FROM 管理者信息” ,“SELECT借阅信息.* FROM 借阅信息”, “SELECT书籍信息.* FROM 书籍信息” ,然后单击“完成”按钮,Name属性分别设置为OleDbDataAdapter2,OleDbDataAdapter3,OleDbDataAdapter4,OleDbDataAdapter5完成数据适配器的配置。生成数据集的步骤如下。(1)在OleDbDataAdapter1组件的“属性”对话框中单击“生成数据集”超链接,打开“生成数据集”对话框,选中“新建”按
26、钮并在后面文本框中输入“Lib综合查询”。(2)在“选择要添加到数据集中的表”列表框中,选中5个表前面的复选框。(3)选中“将此数据集添加到设计器”复选框,单击“确定”按钮。这样,将生成一个名称为“Lib综合查询”的数据集,该数据集以文件的形式存储,文件名为“Lib综合查询.xsd”。而在项目中,添加一个DataSet组件,名称为“objLib综合查询”。设计完成的数据集如图2.4所示。4.4.2窗体功能实现具体功能实现代码见附1.7。 4.5系统流程图在本系统中准备通过如下窗体来实现数据维护的功能。(1) 主窗体:管理着各个子窗体。(2)“读者信息”子窗体:管理读者信息。(3)“管理者信息”
27、子窗体:管理用户信息。(4)“出版社信息”子窗体:管理出版社信息。(5)“书籍信息”子窗体:管理书籍信息。(6)“借阅信息”子窗体:管理借阅信息。(7)“报表窗体”子窗体:显示数据报表。(8)“综合查询”子窗体:执行用户自定义的查询。系统流程图如图3.1所示:图3.1 系统流程图4.6程序调试情况在数据连接时一定要注意窗体和相应显示控件的绑定关系。在把系统从一台计算机移植到另一台计算机时一定要把数据文件library.mdf和library_log.LDF同时移植,并对相应的提供服务的SQL Server服务器进行相应的修改,否则数据正确连接并显示。4.7 功能显示运行程序后首先显示主窗体,如
28、图3.2所示。图3.2 主界面单击“输入/查看读者信息”,就会弹出如图3.3所示登录框。图3.3 登录界面在登录对话框中输入用户姓名和密码,单击“确认”按钮,就会对用户身份进行认证,如果认证通过,那么就会弹出如图3.4所示的读者信息管理窗体。图3.4 读者信息管理窗体在“读者信息”窗体中可以对读者信息进行维护操作,例如浏览读者信息,添加记录和删除记录等。单击“输入/查看书籍信息”,就会显示“书籍信息”窗体,在该窗体中可以对书籍信息进行维护操作。书籍信息维护窗体如图3.5所示。图3.5 书籍信息窗体单击“输入/查看借阅信息”,就会显示“借阅信息”窗体,在该窗体中可以对出版社信息进行维护操作。出版
29、社信息维护窗体如图所示。图3.6 借阅信息窗体单击“输入/查看出版社信息”,就会显示“出版社信息”窗体,在该窗体中可以对借阅信息进行维护操作。借阅信息维护窗体如图3.7所示。图3.7 出版社信息窗体单击“输入/查看管理者信息”,结果如图3.8所示。图3.8 管理者信息窗体在主窗体上单击“显示报表”,那么就可以查看反映读者信息和借阅信息的报表,借阅信息的报表如图所示。图3.9 报表窗体如果用户在运行的主窗体上单击“综合查询”,那么就可以查看针对不同的数据表进行查询操作。选择查询依据为“出版社信息”表查看其中的所有信息,结果如图3.10所示。 五、系统评价 在这个系统的开发过程中,值得注意的几点有
30、:(1)数据报表的实现.报表是数据库应用程序的重要组成部分,通过报表,可以把数据库中内容经过组织以后生动地展示给用户,VB.NET提供的Crystal Report可以大大提高报表的设计效率。(2)复杂查询的实现。在程序运行过程中,单击窗体中的“综合查询”按钮,就会弹出一个对话框,在该对话框中设置查询条件,根据查询条件从记录集中筛选出所需记录,所指定的查询条件包括查询的依据,排序的依据,运算符等等。 六、课程设计心得与总结 通过做课程设计,有几点感想,归纳如下。1. 扎实的理论基础。如果不掌握它们,很难写出高水平的程序。而这一点又是我们所缺乏的。 2. 不钻牛角尖。当遇到障碍的时候,暂时远离电
31、脑,当重新开始工作的时候,也许会发现那些难题现在竟然可以迎刃而解。3. 多与别人交流。三人行必有我师。4. 良好的编程风格。注意养成良好的习惯,代码的缩进编排,变量的命名规则要始终保持一致。如果注释和代码不一致,那就更加糟糕。最后,特别要感谢史开宗老师在软件工程和数据库课程中认真负责的教学,才使得我能结合所学的知识完成这一课程设计。 参考文献1 萨师煊,王珊,数据库系统概论(第三版). 北京:高等教育出版社,20002 齐治昌,谭庆平,宁洪,软件工程(第二版).北京:高等教育出版社,20043 David I.Schneider,Visual Basic.NET编程导论. 电子工业出版社,20034.钱雪忠,罗海驰,陈国俊,数据库原理及技术课程设计,清华大学出版社