数据库SQL课程设计 14.docx
《数据库SQL课程设计 14.docx》由会员分享,可在线阅读,更多相关《数据库SQL课程设计 14.docx(29页珍藏版)》请在冰豆网上搜索。
数据库SQL课程设计14
辽宁工业大学
数据库应用技术课程设计说明书
题目:
北京洗浴管理信息系统
学院(系):
软件学院
专业班级:
软件工程113班
学号:
111301064
学生姓名:
安凯辰
指导教师:
佟玉军
教师职称:
副教授
起止时间:
2011.12.19-2012.12.31
辽宁工业大学课程设计(论文)任务书
院(系):
软件学院教研室:
软件工程
学号
111301064
学生姓名
安凯辰
专业班级
软件工程113班
设计题目
北京洗浴管理信息系统
设计技术
参数
1.题目要达到的目标:
完成系统的登陆、数据的插入删除修改统计等基本操作。
2.数据库:
SQLSERVER2000。
3.所使用的语言、工具:
VB6.0+SQLSERVER2000+WINDOWSXP。
4.所采用的技术、系统结构:
ADO数据库联接技术,系统结构为C/S结构。
设
计
要
求
1.教师布置实习任务和要求时,不得缺席,并做好记录。
2.上机前预先把所有的源程序编写好。
3.上机时不得迟到,不得缺席,爱护设备,认真调试程序。
4.仔细查阅相关资料,认真完成思考题。
5.按要求书写设计任务书,并按要求按版打印,不得雷同。
工作量
二周
工
作
计
划
周一听取教师布置设计的任务及要求。
周二学生查阅相关资料,进行数据库设计。
周三至周五:
详细设计与界面设计。
周一至周四程序设计与上机,调试源程序。
周五书写课程设计任务书。
参考资料
《数据库应用技术》
《数据库应用技术实验指导书》自编
《数据库应用技术课程设计指导书》等自编
指导教师评语
教师:
学生:
说明:
此表一式四份,学生、指导教师、教研室、系部各一份。
可加附页。
2011年12月31
目录
第一章概述1
第二章问题定义2
第三章需求分析3
第四章数据库设计5
第五章界面设计10
第六章代码与注释12
参考文献19
第一章概述
在现实的社会中,小型洗浴公司或企业的管理还大多停留在人工管理日常业务运作的水平上,人们使用传统人工的方式管理业务文档,这种管理方式存在着许多缺点,如:
效率低、易出错,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。
企业开发洗浴管理系统,不仅能提高管理水平,给管理者提供一个企业运作的信息平台还能提升企业的形象及增强竞争力。
使用该洗浴管理系统能将洗浴业务管理和收银结算管理信息化,使企业从服务项目入库到客人点单消费再到消费结算都由计算机管理并记录,可随时掌握房间的使用状况,客人点单,结帐等情况,并能尽可能的降低使用者的劳动强度,同时提高工作质量和效率。
在竞争越来越激烈的洗浴业中取得优势。
根据洗浴企业的特点和实际情况,该系统以消费结算业务为基础,主要突出点单、结账。
点单方面主要采取图形加数据的方式使用户能直观的管理数据信息,并能有效的管理各个包房与箱包,箱号点单信息也让用户一目了然;这里突出了重要的两点:
一是:
操作管理的信息准确无误,可让用户放心。
二是:
操作管理的速度快、管理方便、实用性高。
这里还提供了特殊的选项功能。
服务项目与结算管理的有机结合,可为该经营方提供依据,为洗浴企业的发展提供保证
第二章问题定义
本系统主要使用VB语言开发系统,VB语言具有简单易学的特性,把设计人员从繁琐复杂的界面设计中解脱出来。
强大的多媒体功能可以轻而易举地开发出集声音、动画、和图像于一体的多媒体应用程序。
数据库服务器选用SQLServer2000数据库,它能够处理大量数据,同时保持数据的完整性并提供许多高级管理功能。
它的灵活性、安全性和易用性为数据库编程提供了良好的条件。
而且VB语言与SQLServer2000对系统的软硬件环境要求并不高。
因此,系统的软件开发平台已成熟可行。
主要是对项目的经济效益进行评价,本系统的开发不需要额外的硬件设备,经费对于本学院是可以接受的,并且本系统实施后可以显著提高工作效率,有助于学院完全实现信息化管理。
所以本系统开发在经济上是可行的。
采用此系统,可以减轻管理人员的工作量,使管理人员从大量繁琐的添表、查表、手工制表中解放出来。
能够节省大量的人力、物力,工作效率大大提高,预计查询速度可以比原人工查询提高几倍以上,并且可以大大提高准确性和精确性,而且可以安全地、完整地保存大量的设备记录。
使设备的管理更加规范化,系统化。
此项目虽然经济效益不是太大,但可以减轻工作人员的劳动强度,并可以促进企业对洗浴管理的规范化和自动化,而且价格低廉,所以是有应用价值的,而且在技术上完全是可行的,可以马上进行开发工作。
第三章需求分析
一、数据库需求分析
北京洗浴管理信息系统内容涉及:
箱号信息表、权限信息表、月消费信息表、日消费信息表、单据号表、包房信息表等。
通过系统的设计使洗浴行业的管理人员方便、快速、准确的管理整个洗浴情况,减少手工管理的复杂性和易错性。
本系统操作方便,有强大的提示功能。
即使非计算机专业人员只要经过简单培训就能掌握系统的使用方法,减少培训和管理开支。
而且系统具有智能化、可扩展性、集成有效性。
本软件适合各种洗浴中心的管理工作提高洗浴管理工作的效率,减少不必要的开支。
针对一般洗浴管理系统的需求,通过对客户洗浴过程的服务和数据流程分析,设计数据项和数据结构。
二、数据库概念的结构设计
得到上面的数据想和数据结构以后,就可以设计出能满足用户需求的各种实体,以及它们之间的关系,为后面的逻辑结构设计打下基础。
这些实体包含各种具体信息,通过相互之间的作用形成数据的流动。
我所设计的实体有:
包房信息实体、包房消费临时信息实体、单据号信息实体、员工信息实体、日消费信息实体、月消费信息实体、箱号信息实体。
三、数据库的逻辑结构设计
将概念转化为SQLSever2000数据库系统。
本系统采用SQLServer2000建立数据库,包括表:
包房信息表、包房消费临时表、单据号表、员工信息表、日消费信息表、月消费信息表、箱号信息表等。
四、数据字典(DD)
包房信息实体=编号+楼层+房间号+包房名称+包房说明+所属部门+包房类型+容纳人数+状态+包房价格+消费单位+分钟描述
包房消费信息实体=记录号+房间号+包房名称+包房价格+分钟描述+箱号+所
在大厅+进入时间
单据号信息实体=单据编号+单据名称
员工信息实体=员工编号+员工姓名+性别+出生日期+文化程度+所属部门+职务+身份证号+电话+薪金
日消费信息实体=记录号+箱号+所在大厅+项目编号+名称+单位+单价+数量
+简称+金额小计
月消费信息实体=记录号+箱号+所在大厅+项目编号+名称+单位+单价+数量+简称+金额小计
箱号信息实体=记录号+箱号+所在大厅+状态
五、数据流图
数据流图就是采用图形方式来表达系统的逻辑功能、数据在系统内部的逻辑流向和逻辑变换过程,是结构化系统分析方法的主要表达工具及用于表示软件模型的一种图示方法。
建立洗浴信息管理系统的数据流图。
事务处理
图3.1顶层数据流图
D1统计消费信息
图3.2总台服务据流图
六、功能结构图
系统功能结构图主要从功能的角度描述了系统的结构,但并未表达各功能之间的数据传送关系。
图3.3系统功能结构图
第四章数据库设计
一、概念设计
E-R图也即实体-联系图(EntityRelationshipDiagram),提供了表示实体型、属性和联系的方法,用来描述现实世界的概念模型。
我所设计的实体有:
包房信息实体、包房消费临时信息实体、单据号信息实体、历史消费信息实体、员工信息实体、日消费信息实体、月消费信息实体、箱号信息实体。
图4.1包房信息实体E-R图
图4.2库存实体E-R图
图4.3包房临时消费实体E-R图
图4.4客户信息实体E-R图
图4.5箱号信息实体E-R图
图4.6日消费实体E-R图
图4.7月消费实体E-R图
二、逻辑设计
本系统采用SQLServer2000建立数据库,包括表:
临时消费信息表、包房信息表、包房消费临时表、单据号表、历史消费信息表、员工信息表、日消费信息表、月消费信息表、箱号信息表。
下面列出几个主要的数据库表设计:
1.包房信息表主要记录了房间的容纳人数和名称,以便对各房间的管理。
表4.1包房信息表
列名
数据类型
长度
允许空
编号
varchar
3
主键
楼层
varchar
10
不允许空
房间号
varchar
10
不允许空
包房名称
varchar
30
不允许空
包房说明
varchar
50
不允许空
所属部门
varchar
30
不允许空
包房类型
varchar
30
不允许空
容纳人数
Int
4
不允许空
状态
varchar
20
不允许空
现容纳人数
Int
4
不允许空
包房单价
Money
8
不允许空
消费单位
varchar
10
不允许空
分钟描述
int
4
不允许空
2.包房临时消费信息表记录了各包房的临时消费信息。
表4.2包房临时消费信息表
列名
数据类型
长度
允许空
记录号
int
4
主键
房间号
varchar
10
不允许空
包房名称
varchar
50
不允许空
包房价格
Money
8
不允许空
分钟描述
Char
10
不允许空
箱号
varchar
10
不允许空
所在大厅
varchar
30
不允许空
进入时间
Datetime
10
不允许空
结束时间
Datetime
10
不允许空
消费时间
Datetime
10
不允许空
消费金额
money
8
不允许空
3.单据号信息表记录了单据的编号和名称信息。
表4.3单据号信息表
列名
数据类型
长度
允许空
单据编号
char
10
主键
单据名称
char
20
不允许空
4.日消费信息表主要记录人员日消费的相应信息。
表4.4日消费信息表
列名
数据类型
长度
允许空
记录号
int
8
主键
箱号
varchar
10
不允许空
所在大厅
varchar
6
不允许空
项目编号
varchar
8
不允许空
名称
varchar
50
不允许空
单位
varchar
8
不允许空
单价
money
50
不允许空
数量
int
10
不允许空
简称
varchar
25
不允许空
消费状态
varchar
10
不允许空
隐藏状态
varchar
8
不允许空
登记时间
Datetime
8
不允许空
折扣
float
8
不允许空
金额小计
money
8
不允许空
消费单据号
varchar
30
不允许空
5.日消费信息表主要记录人员日消费的相应信息。
表4.5月消费信息表
列名
数据类型
长度
允许空
记录号
int
8
主键
箱号
varchar
10
不允许空
所在大厅
varchar
6
不允许空
项目编号
varchar
8
不允许空
名称
varchar
50
不允许空
单位
varchar
8
不允许空
单价
money
50
不允许空
数量
int
10
不允许空
简称
varchar
25
不允许空
消费状态
varchar
10
不允许空
隐藏状态
varchar
8
不允许空
登记时间
Datetime
8
不允许空
折扣
float
8
不允许空
金额小计
money
8
不允许空
消费单据号
varchar
30
不允许空
6.员工信息表记录了各员工的基本信息。
表4.6员工信息表
列名
数据类型
长度
允许空
员工编号
Char
10
主键
员工姓名
Char
16
不允许空
性别
Char
10
不允许空
出生日期
Datetime
8
不允许空
文化程度
Char
20
不允许空
所属部门
Char
10
不允许空
职务
Char
30
不允许空
身份证号
varchar
30
不允许空
联系电话
varchar
10
不允许空
联系地址
Char
30
不允许空
聘用日期
datetime
30
不允许空
薪金
money
20
不允许空
7.箱号信息表记录了箱号的编号和所在大厅等信息。
表4.7箱号信息表
列名
数据类型
长度
允许空
记录号
Int
4
主键
箱号
varchar
10
不允许空
所在大厅
varchar
30
不允许空
状态
varchar
10
不允许空
三、物理设计
要确定数据库的物理结构。
确定数据库存储结构时要综合考虑存取时间、存储空间利用率和维护代价三方面的因素。
这三个方面常常是相互矛盾的,例如消除一切冗余数据虽然能够节约存储空间,但往往会导致检索代价的增加,因此必须进行权衡,选择一个折中方案。
在关系数据库中,选择存取路径主要是指确定如何建立索引。
例如,应把哪些域作为次码的建立次索引,建立单码索引还是组合索引,建立多少个为合适,是否建立聚集索引等。
为了提高系统性能,数据应该根据应用情况将易变部分与稳定部分、经常存取部分和存取频率较低部分分开存放。
数据库物理设计过程中需要对时间效率、空间效率、维护代价和各种用户要求进行权衡,其结果可以产生多种方案,数据库设计人员必须对这些方案进行细致的评价,从中选择一个较优的方案作为数据库的物理结构。
评价物理数据库的方法完全依赖于所选用的DBMS,主要是从定量估算各种方案的存储空间、存取时间和维护代价入手,对估算结果进行权衡、比较,选择出一个较优的合理的物理结构。
如果该结构不符合用户需求,则需要修改设计。
第五章界面设计
一、登陆窗口如下所示
当输入用户名和密码以后,点击“确认”键,如果用户名和密码都正确就可以顺利进入主窗体,如果输入错误,那么就有相应的提示信息。
如图7.2所示。
图5.1登陆界面
二、主界面
单击主界面上的各个按钮,可以进入相应的界面中。
图5.2主程序界面
三、权限界面设计
图5.3权限管理界面
四、包房信息管理界面
此界面对包房信息的添加、删除、修改和查询等操作。
图5.4包房信息管理界面
第六章代码与注释
一、登录代码
所编代码如下:
DimMESSAGEAsString'定义一个字符串变量
'按操作员名称查询权限信息
Adodc1.RecordSource="select*from权限信息表where操作员名称='"+Trim(czy.Caption)+"'"
Adodc1.Refresh
'假如czy.caption不等于空并且text1.text等于数据库中的密码,那么
Ifczy.Caption<>""AndText1.Text=Trim(Adodc1.Recordset.Fields("密码"))Then
'设置操作员权限
IfAdodc1.Recordset.Fields("基本信息管理")=0Thenfrm_main.jbxxgl.Enabled=TrueElsefrm_main.jbxxgl.Enabled=False
IfAdodc1.Recordset.Fields("前台信息管理")=0Then
frm_main.qtxxgl.Enabled=True
'frm_main.Toolbar1.Buttons
(1).Enabled=True
'frm_main.Toolbar1.Buttons(3).Enabled=True
'frm_main.Toolbar1.Buttons(5).Enabled=True
Else
frm_main.qtxxgl.Enabled=False
'frm_main.Toolbar1.Buttons
(1).Enabled=False
'frm_main.Toolbar1.Buttons(3).Enabled=False
'frm_main.Toolbar1.Buttons(5).Enabled=False
EndIf
IfAdodc1.Recordset.Fields("后台信息管理")=0Then
frm_main.htxxgl.Enabled=True
'frm_main.Toolbar1.Buttons(7).Enabled=True
Else
frm_main.htxxgl.Enabled=False
'frm_main.Toolbar1.Buttons(7).Enabled=False
EndIf
IfAdodc1.Recordset.Fields("经理查询系统")=0Then
frm_main.jlcxxt.Enabled=True
'frm_main.Toolbar1.Buttons(9).Enabled=True
'frm_main.Toolbar1.Buttons(11).Enabled=True
Else
frm_main.jlcxxt.Enabled=False
'frm_main.Toolbar1.Buttons(9).Enabled=False
'frm_main.Toolbar1.Buttons(11).Enabled=False
EndIf
IfAdodc1.Recordset.Fields("系统维护")=0Then
frm_main.xtwh.Enabled=True
'frm_main.Toolbar1.Buttons(13).Enabled=True
Else
frm_main.xtwh.Enabled=False
'frm_main.Toolbar1.Buttons(13).Enabled=False
EndIf
'调入frm_main主窗体
Loadfrm_main
frm_main.Show
frm_main.St1.Panels(3).Text=czy.Caption
frm_main.St1.Panels(3).Text
UnloadMe
Else
'输入三次错误的密码,系统自动退出
IfTIM=3Then
MESSAGE=MsgBox("密码输入错误,请向系统管理员查询!
",0,"系统提示")
IfMESSAGE=vbOKThenEnd
EndIf
Ifczy.Caption=""Then
MsgBox"请选择操作员!
",,"系统提示"
ListView1.SetFocus'ListView1获得焦点
Else
IfText1.Text<>Adodc1.Recordset.Fields("密码")Then
MsgBox"密码错误,请重新输入密码!
",,"系统提示"
TIM=TIM+1'记录输入次数
Text1.SetFocus'text1获得焦点
EndIf
EndIf
EndIf
EndSub
二、主界面代码
'PrivateSubForm_Load()
'在标题栏上显示软件名称与版本
'Me.Caption=App.Title&"版本:
V"&App.Major&"."&App.Minor&"."&App.Revision
'EndSub
PrivateSubbfxxgl_Click()'调入包房信息管理窗口
Loadmain_jbxx_bfxxgl
main_jbxx_bfxxgl.Show
frm_main.Enabled=False
EndSub
PrivateSubxhxxgl_Click()'调入箱号信息管理窗口
Loadmain_jbxx_xhxxgl
main_jbxx_xhxxgl.Show
frm_main.Enabled=False
EndSub
PrivateSubfwxmgl_Click()'调入服务项目管理窗口
Loadmain_jbxx_fwxmgl
main_jbxx_fwxmgl.Show
frm_main.Enabled=False
EndSub
PrivateSubygxxgl_Click()'调入员工信息管理窗口
Loadmain_jbxx_yginf
main_jbxx_yginf.Show
frm_main.Enabled=False
EndSub
PrivateSubztfwgl_Click()'调入总台服务管理窗口
Loadmain_qtgl_ztfwgl
main_qtgl_ztfwgl.Show
frm_main.Enabled=False
EndSub
PrivateSubjzsygl_Click()'调入结帐收银管理窗口
Loadmain_qtgl_jzgl
main_qtgl_jzgl.Show
frm_main.Enabled=False
EndSub
PrivateSubdrxfcx_Click()'调入当日消费查询窗口
Loadmain_qtgl_drxfcx
main_qtgl_drxfcx.Show
frm_main.Enabled=False
EndSub
PrivateSubrjsgl_Click()'调入日结算管理窗口
Loadmain_qtgl_rjgl
main_qtgl_rjgl.Show
frm_main.Enabled=False
EndSub
PrivateSubyjsgl_Click()'调入月结算管理窗口
Loadmain_htgl_yjgl
main_htgl_yjgl.Show
frm_main.Enabled=False
EndSub
PrivateSubztfwcx_Click()'调入总台服务查询窗口
Loadmain_jlcx_ztfwcx
main_jlcx_ztfwcx.Show
frm_main.Enabled=False
EndSub
PrivateSu