最新VB数据库-报告-旅店管理系统.doc
Four short words sum up what has lifted most successful individuals above the crowd: a little bit more.-author-dateVB数据库-报告-旅店管理系统目录课程设计任务书学 院信息科学与工程学院专 业计算机科学与技术学 生 姓 名黄淑兰学 号0803050407设 计 题 目旅店管理系统内容及要求:旅店接待旅客,这是人人皆知的事实。旅客入住前必须登记基本信息,然后开始住宿,并交纳一定的押金。等到旅客结算时,形成旅客的帐单,根据押金和消费总额,多退少补。房间按着档次分成“一人间”、“二人间”,“三人间”,“四人间”,“多人间”,当然价格也不同,可以设置。必须提供复杂的查询功能,包括:l 目前有哪些旅客在住?住在哪些房间?l 在某时间段内统计旅店收入总额。l 按姓名、性别、年龄段组合查询旅客(只含已结算旅客)。l 形成某月各天的旅客人数和收入统计图。进度安排:第16周:系统需求分析,设计E-R图数据库设计和模块设计进行软件编码设计,实现各模块功能第17周:继续完成软件设计,调试与完善系统的各项功能书写课程设计报告。验收程序,答辩。指导教师(签字):年 月 日学院院长(签字):年 月 日目录第一章. 系统功能概述31.1背景31.2系统功能设计31.3系统模块设计4第二章. 数据库设计52.1数据流图52.2数据字典62.3概念结构设计72.4逻辑结构设计72.5物理结构设计8第三章. 系统各功能模块详细设计93.1详细设计用户登录93.2主菜单93.3入住登记123.4退房结算133.5入住率143.6 SQL代码设计15.实验总结19参考文献19第一章. 系统功能概述1.1背景在当今经济和商务交往日益频繁的状况下,宾馆服务行业正面临客流量骤增的压力。越来越多的宾馆饭店都认识到传统的管理方法已经不能适合当今社会的需要,必须借助先进的计算机信息技术对宾馆服务进行管理。“客房管理系统”可以说是整个宾馆计算机信息系统的中心子系统,因为宾馆最主要的功能就是为旅客提供客房。设计客房管理这样一个系统,可以涉及到大多数SQLServer数据库的重要数据库对象、重要功能和特性,比如:视图、触发器和存储过程等。由此,通过这个课程设计可以加深对这些SQLServer数据库知识的学习、理解,积累在实际工程应用中运用各种数据库对象的经验,使学生掌握使用应用软件开发工具开发数据库管理系统的基本方法。在实用性方面,客房管理系统是很普遍的一种应用,选择该系统作为课程设计也可以为学生以后可能遇到的实际开发提供借鉴。本课程设计的主要目的是学习和练习SQLServer数据库的实际应用,所以选择SQLServer2000作为数据库服务器。开发与运行环境本高校学籍管理系统的开发与运行环境如下:开发环境:WindowsXP开发工具:VisualBasic6.0数据库管理系统:SQLServer2000运行环境:Windows2000/XP/20031.2系统功能设计系统主要实现对客房的管理功能。主要有入住登记、房间查询、客户查询、数据统计、房间管理、用户管理。系统总体设计图如下: 图1功能模块结构图 1.3系统模块设计系统模块设计根据系统功能分析和高等院校学籍管理的特点,经过模块化的分析得到如下图所示的系统功能模块结构图。本系统的主要功能包括:入住登记:包括住房登记、退房结算的功能房间管理:包括添加房间、删除房间的功能客户查询:包括精确查询、概况查询的功能房间查询:包括显示所有空房、显示所有已住房的功能数据统计:包括收入统计的功能用户管理:包括添加管理员、删除管理员、修改密码的功能图2功能模块结构图第二章. 数据库设计2.1数据流图下面给出顶层数据流图和第0层数据流图2.2数据字典根据系统功能模块结构图及典型房间管理系统的需求,总结出来如下的数据字典:数据项名称:客户含义说明:惟一标识一个客户别名:客户编号类型:整型数据项名称:管理员含义说明:管理房间的出租,查询,统计各项操作别名:管理员编号类型:整型数据项说明:房间含义说明:唯一标识房间是否有住人别名:房间编号类型:字符型大小:102.3概念结构设计图3概念结构设计图2.4逻辑结构设计按照E-R图转换规则,可以得到如下的关系模式:客户(客户编号、客户姓名、性别、年龄、身份证号码、家庭住址、工作单位、来自地的地名、入住时间、预住天数、客房类别、客房号、离店时间、押金)管理员(管理员编号、管理员账号、管理员密码、管理员权限)房间(房间编号、房间类型、房间价格、房间状态、房间入住客户编号)2.5物理结构设计根据E-R图及数据字典,设计出高校学籍管理系统数据库中的各个数据表,包括系统用户表、客户信息表、房间信息表共3个数据表。本系统数据库命名为“房间管理”,数据库中的各个数据表名称和结构分别如下所示,为便于说明,各个数据表的结构使用该表在SQLServer企业管理器中的设计视图表示。系统用户表:图4系统用户表结构图客户信息表:图5客户信息表结构图房间信息表:图6房间信息表结构图三. 系统各功能模块详细设计3.1详细设计用户登录用户登录界面:用于管理员登陆进入管理系统。用户登录界面如下:图7用户登录界面图3.2主菜单主菜单包含住房的六大功能,分别为:有入住登记、房间查询、客户查询、数据统计、房间管理、用户管理,方便管理者的操作,构造清楚,所包含记录的内容全面,是整个房间管理系统的核心部分。主菜单界面:图8主菜单界面图(入住登记)图9主菜单界面图(房间查询)图10主菜单界面图(客户查询)图11主菜单界面图(数据统计)图12主菜单界面图(房间管理)图13主菜单界面图(用户管理)3.3入住登记入住登记界面是为了让客户填写详细的个人资料,方便查询。图14客户入住界面图3.4退房结算退房结算界面是为了实现退房所对应的房间号这一工作。退房结算界面如下:图10退房结算界面图3.5入住率入住率界面是为了更清楚的了解各类房间的入住情况,有利于经营者以后的经营方式的调整。入住率界面如下:图12入住率界面图3.6 SQL代码设计1.1.1. 创建数据库1.1.2. 创建表、约束1.1.3. 建立guest表1.1.4. 建立adminifo表1.1.5. 建立room表1.1.6. 创建视图1.1.7. 用户视图1.1.8. 数据库的连接方式1.1.9. 总入住视图1.1.10. 标准单人房入住视图1.1.11. 标准双人房入住视图1.1.12. 豪华单人房入住视图1.1.13. 豪华双人房入住视图1.1.14. 月份收入视图1.1.15. 建立默认值1.1.16. 把默认值链接到表中1.1.17. 建立触发器1.1.18. 标准房收入视图CREATEVIEWdbo.VIEW_BDcostASSELECTa.g_costASBDcost,a.g_outtimeFROMdbo.guestaINNERJOINdbo.roombONa.r_num=b.r_numWHERE(b.r_type='标准单人房')GROUPBYa.g_cost,a.g_outtime1.1.19. 标准双人房视图CREATEVIEWdbo.VIEW_BScostASSELECTa.g_costASBScost,a.g_outtimeFROMdbo.guestaINNERJOINdbo.roombONa.r_num=b.r_numWHERE(b.r_type='标准双人房')GROUPBYa.g_outtime,a.g_cost1.1.20. 所有类型花费视图CREATEVIEWdbo.VIEW_costASSELECTdbo.VIEW_Allcost.Allcost,dbo.VIEW_BDcost.BDcost,dbo.VIEW_BScost.BScost,dbo.VIEW_HDcost.HDcost,dbo.VIEW_HScost.HScostFROMdbo.VIEW_AllcostCROSSJOINdbo.VIEW_BDcostCROSSJOINdbo.VIEW_BScostCROSSJOINdbo.VIEW_HDcostCROSSJOINdbo.VIEW_HScost1.1.21. 空房间视图CREATEVIEWdbo.VIEWASSELECTr_num,r_type,r_price,r_stateFROMdbo.roomWHERE(r_state='空')1.1.22. 满房视图CREATEVIEWdbo.VIEW_fullroomASSELECTdbo.room.*FROMdbo.roomWHERE(r_state='满')1.1.23. 客人视图CREATEVIEWdbo.VIEW_guestASSELECTdbo.guest.*FROMdbo.guest1.1.24. 豪华单人房花费视图CREATEVIEWdbo.VIEW_HDcostASSELECTa.g_costASHDcost,a.g_outtimeFROMdbo.guestaINNERJOINdbo.roombONa.r_num=b.r_numWHERE(b.r_type='豪华单人房')GROUPBYa.g_cost,a.g_outtime1.1.24.1. 豪华双人房花费视图CREATEVIEWdbo.VIEW_HScostASSELECTa.g_costASHScost,a.g_outtimeFROMdbo.guestaINNERJOINdbo.roombONa.r_num=b.r_numWHERE(b.r_type='豪华双人房')GROUPBYa.g_outtime,a.g_cost1.1.25. 房间视图CREATEVIEWdbo.VIEW_roomASSELECTdbo.room.*FROMdbo.room1.1.26. 数据库的连接方式该程序是理由VisualBasic6.0和SQLserver2000联合制作而成,SQLserver负责存放数据,而VisualBasic6.0用来设计外观界面,VisualBasic6.0利用ADO数据控件与数据库进行连接,再将相应的数据一一对应,就实现了数据库和VB的链接使用。使用过程中基本功能都能够实现,外表感觉比较舒服,但是局部的一些细节仍无法很好的运行投入使用,而且缺少一些想要的功能,还需再进行加工改造,才能更好的满足使用者。四. 设计过程中遇到的问题及解决方法刚开始界面做的不叫粗糙,没有美感,经过小组队员的讨论和修改,慢慢的将其完善。数据库连接问题比较多的就是T-SQL语句出现问题,比如前台的文本框没有对应后台的数据,数据类型不正确,解决方法是将代码贴到查询分析器中调试。在测试程序的时候会出现一些错误,导致运行不畅,后来看过书上的实例以及上网查询后发现了错误的原因并改正。五. 实验总结经过了几天的努力,我们终于制作出了这个房间管理系统,在制作过程中,我们对课本中的知识有了更多的实际操作,使我们因此更加了解书本的知识,对如何设计数据库、添加数据表、创建视图、触发器、数据库备份恢复等知识有了新的认识和更深的理解;对如何制作一个完整系统的前提准备、实施过程、运行以及调试也有了初步了解,并且增加了我们对这门课的兴趣以及,对学习有更大的动力,我们将继续研究和深造,学习好SQL数据库,同时在这次实训过程中,由于必须和VB联合应用,也是我们拓展了知识尤其是用ADO控件连接SQL数据库的应用。六. 参考文献1 郁春兰.VisualBasic程序设计.中国水利水电出版社2 刘志成.数据库系统原理与应用.机械工业出版社3 4 赵强. SQL Server 数据库编程技法范例.清华大学出版社,2005.35 龚小勇. 关系数据库与SQL Server 2000. 机械工业出版社, 2004-