推荐-sqlserver酒店客房管理系统设计说明书数据库大作业课程设计说明书含源文件 精品
- 格式:doc
- 大小:504.12 KB
- 文档页数:26
★新浪微博名:99加油站★绝密课程设计说明书课程设计名称:数据库系统概论课程设计题目:客房信息管理子系统学院名称:信息工程学院专业:班级:学号:姓名:评分:教师:20 13 年 1 月 14 日引言本次数据库实习不要求界面和外部应用程序的设计,只设计数据库部分。
客房管理系统采用SQL server 2005作为数据库后台。
客房管理系统可以实现对客房的科学化、规范化、查询顾客情况、订房信息、以及结算信息等。
有助于提高管理的效率,客房管理系统是根据某宾馆对客房的实际情况进行集中的查询与管理工作,以及提高整个客房管理的工作效率。
数据库设计1.需求分析随着时代的发展,建立客房管理信息系统的必要性已越来越被广大的宾馆管理人员所接受和认可,建立客房管理信息系统是为宾馆的管理服务的,其根本目的是要提高客房管理效率,增加客房的经济效益。
因此,我根据一般宾馆的工作流程及环境,以及顾客的要求设计了这个客房管理系统。
这个数据库主要完成如下功能:1.实现客房信息、顾客信息的添加、删除、修改和查询等功能2.实现顾客预订或入住等信息的添加、删除、修改等功能3.实现统计各类信息并能合理安排住房的决策等问题4.实现查询某位顾客的消费情况,并拥有完善的结账报表系统5.实现完整性约束:每位顾客只能预订和入住一间客房,客房已满时提示顾客无法入住,规定预订客房的超出期限为3个小时,超期则取消本次预订。
2.系统功能需求分析客房信息管理子系统根据系统需求分析设计功能,管理功能功能是比较简单的。
主要实现了对客房信息、顾客信息、顾客预订、顾客入住和结账报表信息等的管理,具体管理功能有添加、修改、删除、查询和统计等。
系统的功能模块图如下图所示,其中的“信息管理”板块中的每一功能管理项都包括查看、添加、删除、修改等功能。
3. 数据库概念结构设计3.1 数据流程图根据了解到的情况,了解到了顾客住房的基本流程,结合宾馆实际管理过程和各种操作,由了解到的业务画出业务流程图,本系统的业务流程图如下所示:3.2 系统E-R图经调研分析后得简化客房信息管理子系统整体的基本功能,设计了如下E-R 图:4. 数据库逻辑结构设计4.1 关系模式按照E-R图到逻辑关系模式的转换规则,可将上面E-R图转换成如下5个关系:1.Room(rno,rsize,rprice,rstatus)2.Client(cnum,rno,cname,csex,cage,cphone,eorb)3.Book(cnum,rno,booktime,bookday,maxtime,bookway)4.Inhotel(cnum,rno,daynum,cost,paid,unpaid,cometime,paidtime)5.Account(cnum,rno,cost,paid,paidtime)其中带下划线的为关系的主码,既带下划线又加波浪线的为外码4.2 数据项定义根据关系模式中的各属性,定义数据项及其说明如下5. 数据库物理结构设计本系统数据库表的物理设计通过创建表的SQL命令及数据关系图来呈现,下面列出SQL创建表的命令和数据库关系图:5.1 创建表的命令创建客房信息表room:create table room(rno char(10) primary key,rsize char(10),rprice int,rstatus char(2)check(rstatus in('满','空')),)创建顾客信息表client:create table client(cnum char(18) primary key,rno char(10),cname char(10),csex char(2)check(csex in('男','女')),cage int,cphone char(11),foreign key(rno)references room(rno))创建顾客入住信息表inhotel:create table inhotel(cnum char(18),rno char(10),cometime datetime,paidtime datetime,days int,cost int,paid int,unpaid int,primary key(cnum,rno),foreign key(rno)references room(rno), foreign key(cnum)references client(cnum), )创建顾客预订信息表book:create table book(cnum char(18),rno char(10),booktime datetime,bookdays int,bookway char(20),maxtime datetime,primary key(cnum,rno),foreign key(rno)references room(rno), foreign key(cnum)references client(cnum), )创建结账报表account:create table account(cnum char(18),rno char(10),cost money,paid money,paidtime datetime,primary key(cnum,rno),foreign key(rno)references room(rno))5.2 数据库关系图根据数据库中表的创建命令,在SQL sever 2000的企业管理器中生成的数据库关系图如下:6. 系统功能的实现6.1 建立触发器这个系统为数据表的更新建立了三个触发器,一个是在有新的客人入住时,插入客人入住信息,触发触发器,使房间信息得到更新;一个是在有客人入住之后,使触发器触发,更新入住信息表;另外一个是顾客预订时,触发触发器,更新预订信息。
★新浪微博名:99加油站★绝密课程设计说明书课程设计名称:数据库系统概论课程设计题目:客房信息管理子系统学院名称:信息工程学院专业:班级:学号:姓名:评分:教师:20 13 年 1 月 14 日引言本次数据库实习不要求界面和外部应用程序的设计,只设计数据库部分。
客房管理系统采用SQL server 2005作为数据库后台。
客房管理系统可以实现对客房的科学化、规范化、查询顾客情况、订房信息、以及结算信息等。
有助于提高管理的效率,客房管理系统是根据某宾馆对客房的实际情况进行集中的查询与管理工作,以及提高整个客房管理的工作效率。
数据库设计1.需求分析随着时代的发展,建立客房管理信息系统的必要性已越来越被广大的宾馆管理人员所接受和认可,建立客房管理信息系统是为宾馆的管理服务的,其根本目的是要提高客房管理效率,增加客房的经济效益。
因此,我根据一般宾馆的工作流程及环境,以及顾客的要求设计了这个客房管理系统。
这个数据库主要完成如下功能:1.实现客房信息、顾客信息的添加、删除、修改和查询等功能2.实现顾客预订或入住等信息的添加、删除、修改等功能3.实现统计各类信息并能合理安排住房的决策等问题4.实现查询某位顾客的消费情况,并拥有完善的结账报表系统5.实现完整性约束:每位顾客只能预订和入住一间客房,客房已满时提示顾客无法入住,规定预订客房的超出期限为3个小时,超期则取消本次预订。
2.系统功能需求分析客房信息管理子系统根据系统需求分析设计功能,管理功能功能是比较简单的。
主要实现了对客房信息、顾客信息、顾客预订、顾客入住和结账报表信息等的管理,具体管理功能有添加、修改、删除、查询和统计等。
系统的功能模块图如下图所示,其中的“信息管理”板块中的每一功能管理项都包括查看、添加、删除、修改等功能。
3. 数据库概念结构设计3.1 数据流程图根据了解到的情况,了解到了顾客住房的基本流程,结合宾馆实际管理过程和各种操作,由了解到的业务画出业务流程图,本系统的业务流程图如下所示:3.2 系统E-R图经调研分析后得简化客房信息管理子系统整体的基本功能,设计了如下E-R 图:4. 数据库逻辑结构设计4.1 关系模式按照E-R图到逻辑关系模式的转换规则,可将上面E-R图转换成如下5个关系:1.Room(rno,rsize,rprice,rstatus)2.Client(cnum,rno,cname,csex,cage,cphone,eorb)3.Book(cnum,rno,booktime,bookday,maxtime,bookway)4.Inhotel(cnum,rno,daynum,cost,paid,unpaid,cometime,paidtime)5.Account(cnum,rno,cost,paid,paidtime)其中带下划线的为关系的主码,既带下划线又加波浪线的为外码4.2 数据项定义根据关系模式中的各属性,定义数据项及其说明如下5. 数据库物理结构设计本系统数据库表的物理设计通过创建表的SQL命令及数据关系图来呈现,下面列出SQL创建表的命令和数据库关系图:5.1 创建表的命令创建客房信息表room:create table room(rno char(10) primary key,rsize char(10),rprice int,rstatus char(2)check(rstatus in('满','空')),)创建顾客信息表client:create table client(cnum char(18) primary key,rno char(10),cname char(10),csex char(2)check(csex in('男','女')),cage int,cphone char(11),foreign key(rno)references room(rno))创建顾客入住信息表inhotel:create table inhotel(cnum char(18),rno char(10),cometime datetime,paidtime datetime,days int,cost int,paid int,unpaid int,primary key(cnum,rno),foreign key(rno)references room(rno), foreign key(cnum)references client(cnum), )创建顾客预订信息表book:create table book(cnum char(18),rno char(10),booktime datetime,bookdays int,bookway char(20),maxtime datetime,primary key(cnum,rno),foreign key(rno)references room(rno), foreign key(cnum)references client(cnum), )创建结账报表account:create table account(cnum char(18),rno char(10),cost money,paid money,paidtime datetime,primary key(cnum,rno),foreign key(rno)references room(rno))5.2 数据库关系图根据数据库中表的创建命令,在SQL sever 2000的企业管理器中生成的数据库关系图如下:6. 系统功能的实现6.1 建立触发器这个系统为数据表的更新建立了三个触发器,一个是在有新的客人入住时,插入客人入住信息,触发触发器,使房间信息得到更新;一个是在有客人入住之后,使触发器触发,更新入住信息表;另外一个是顾客预订时,触发触发器,更新预订信息。
课程设计(论文)书题目酒店客房管理系统学生姓名饶丽丽学院名称管理学院专业11信管1班学号1110831138指导教师方芳第一章系统分析一、需求分析某某酒店是一家综合的大型酒店,设施齐全,该酒店设有餐饮卖场,KTV包房,各种娱乐设施,桑拿洗浴和各种标准客房。
随着信息技术的发展和人们对酒店的要求越来越高,该酒店已明显觉得手工管理已不能适应当前酒店高速发展的需要。
在意识到使用计算机的重要性后,决定首先在客房部采用酒店客房管理系统。
二、系统目标面对酒店行业的高速发展和酒店行业信息化发展的过程中出现的各种情况,酒店客房管理系统在实施后,应能够达到以下目标:✓实现多点操作的信息共享,相互之间的信息传递准确、快捷、顺畅。
✓服务管理信息化,课随时掌握客人住宿、客房状态、客人挂账等情况。
✓系统界面友好本酒店客房管理系统面向的用户是酒店内工作人员,所以系统操作上要求简单、方便、快捷,便于用户使用。
✓通过酒店客房管理系统的实施,可逐步提高酒店客房的管理水平,提升员工素质。
三、可行性分析1、开发背景酒店是一个服务至上的行业,从客人的预定开始,到入住登记直至最后退房结账,每一步骤都要保持一致性的服务水准,错失一步, 会令其辛苦经营的形象功亏一篑。
要成为一间成功的酒店,就必须作到宾至如归,面对酒店业内激烈的竞争形势,各酒店均在努力拓展其服务领域的广度和深度。
虽然计算机并不是酒店走向成功的关键元素,但它可以帮助那些真正影响成败的要素发挥更大的效用。
因此,采用全新的计算机网络和管理系统,将成为提高酒店的管理效率,改善服务水准的重要手段之一。
2、经济可行性使用本酒店客房管理系统可提高酒店客房管理水平,把大量繁琐的工作简单化,能够有效地节省人力物力,并能够准确地进行统计和计算,避免人工统计或计算所带来的差错,保证酒店客房管理高效而有序地进行。
3、技术可行性本系统前台采用Microsoft公司的Visual Basic 6.0作为主要的开发工具;数据库选择MicrosoftAccess数据库系统,该系统在安全性、准确性和运行速度方面都占有一定的优势。
苏州市职业大学课程设计任务书课程名称:《计算机语言C》起讫时间:2007—12—31至2008—1-4 院系:计算机工程系班级:07软件测试指导教师:李金祥顾小晶系主任: 宣仲良苏州市职业大学课程设计说明书名称:《计算机语言C》课程设计图书登记管理程序2007年12 月31 日至2008年1 月4 日共1周院系计算机工程系班级07软件测试姓名马宝珠系主任宣仲良教研室主任叶良指导教师李金祥顾小晶1。
需求分析图书登记管理系统作为一个应用软件将为学校的老师和学生提供一个对学校图书馆深入了解并借阅、还书的平台。
拥护根据系统界面的提示信息对图书馆信息进行查询、初始化等操作系统功能需求分析描述如下:(1)查询图书:根据图书编号进行查询,读者可以浏览或查询相关图书.(2)系统主菜单:若未找到相应的书籍返回到上一级目录。
(3)图书登记:读者输入要查询的编号、出版社、作者姓名等信息,系统将进行处理。
(4)初始化:输入书号、书名、书籍的数量以空格隔开,建立新文件写入数据否则初始化失败。
(5)新书入库:可读入新书名称、编号、数量以空格隔开看是否有此类书籍。
(6)借书菜单:可输入读者编号和所借书编号或调用借书函数执行借书功能。
(7)还书菜单:可输入读者编号和所还书的编号执行还书功能,还书后修改图书库存量。
(8)保存连接数据:方便读者了解图书登记的相关信息,为图书管理人员和读者带来便利。
2.总体设计下面从系统的整体流程的功能模块系统界面及数据结构进行总体设计。
(1)总体思想本系统主要设计思想是实现图书馆的功能机管理系统信息的查询、初始化、添加新书、借书、还书等主要功能.图书登记管理情况以文件的形式储存,系统的人机接口系用简单的字符界面进行交互,系统的设计方法是结构化实际方法,系统用C语言进行开发用户可以清晰的了解图书馆内的情况。
(2)系统模块结构图根据需求分析结果,图书登记管理系统可以分为三大模块:查询图书模块、图书登记管理模块、系统控制平台。
酒店管理系统需求说明书班级计算111组长组员酒店管理系统详细设计说明书1 引言随着计算机的普及、网络信息技术的发展,电子商务模式已渐入各行各业,它改变了许多行业传统的经营模式。
这同样也为酒店业提供了新的竞争手段。
目前许多酒店运用电子商务模式建立新型业务系统,系统充分发挥其信息交流的优势,将酒店内各个部门组成一个大的信息网,建立统一的管理制度和经营标准,以达到信息共享、各部门协同发展的目的。
并且,系统通过互联网在酒店外部开展各种营销活动,采购经营必需品,提供相关服务信息,收集顾客信息以,达到扩大市场、提高酒店形象的目的。
酒店电子商务系统不但可以提高酒店的形象,加速工作效率,加强管理水平,还加快了酒店在现代市场中的适应能力。
总之,电子商务在酒店业的应用越来越广泛,它为酒店的管理现代化、智能化、信息化起到了不可或缺的作用。
1.1 编写目的本系统的开发目的在于更好的管理和经营酒店餐饮行业。
本文档的预期读者是酒店管理系统软件开发有关的开发人员1.2 背景本项目的名称:酒店管理系统。
随着国民经济的发展,酒店餐饮行业的队伍在全国范围(尤其是在经济发达地区)不断壮大,从事酒店餐饮行业的单位之间竞争愈加激烈。
为了提升自身的竞争能力,各酒店餐饮单位都在尽量定制或购买各项业务的应用软件,运用高科技手段进行经营和管理。
为了让酒店更好的经营,我们组织开发了本软件。
本项目的任务提出者及开发者是酒店管理系统软件开发小组,主要是面向酒店餐饮服务行业。
1.3 定义酒店管理系统是帮助酒店自身管理和服务酒店客户的软件。
1.4 参考资料①《现代软件工程》北京希望电子出版社孙涌等编著②《Delphi住宿餐饮管理系统开发实例导航》人民邮电出版社刘敬严东明马刚编著③《软件需求说明书(GB856T——88).doc》④《iso标准之需求分析说明书.doc》2 程序系统结构本系统的软件结构图如下:3 数据库物理结构设计本系统采用 SQL Server 2005 数据库,系统数据库名为酒店管理,其中包含一些表格、触发器、约束条件。
学号数据库应用技术课程设计设计说明书中环酒店仓库管理系统起止日期:20XX 年12 月27日至20XX 年12 月31 日学生姓名班级成绩指导教师(签字)计算机工程系20XX年12月27日课程设计任务书20XX—20XX学年第1 学期计算机工程系专业班级课程设计名称:数据库应用技术课程设设计题目:中环酒店仓库管理系统完成期限:自20XX 年12 月27 日至20XX 年12 月31 日共 1 周设计依据、要求及主要内容(可另加附页):设计依据:根据《数据库应用技术课程设计大纲》。
要求:(1)、掌握数据库设计(包括六个阶段)的基本方法(2)、熟练掌握SQL Server数据库管理系统(3)、了解MIS系统的常用的开发模式(4)、掌握一种MIS开发工具(ASP,PB,VC++,Delphi,,C#等)(5)、具体设计与实现一个管理信息系统(MIS)主要内容:严格遵循软件开发的规范与信息系统的开发规程,整个设计过程严格按如下的几个阶段要求执行:(1)、需求分析阶段(2)、数据库概念结构设计阶段(3)、数据库逻辑结构设计阶段(4)、数据库物理设计阶段(5)、数据库应用系统的开发(数据库前端应用开发)(6)、数据库的实施与维护指导教师(签字):教研室主任(签字):批准日期:年月日课程设计进度计划表摘要仓库管理系统是针对社会中一些大中型仓库管理使用,从消费者的角度来说,结账时应该准确和快速,毕竟时间就金钱。
由于传统的仓库管理给管理员带来很多不便,针对这方面的缺陷,开发这个系统可以方便快捷查出商品信息情况,每天的售货情况。
方便了经营方的商品管理、人员管理。
大大提高了仓库管理水平。
进而加速了社会的发展速度,提高了人民的生活水平。
本系统还可以给仓库和顾客节约更多时间,加快了酒店的运转速度。
关键词:VB;小型超市收银管理系统;SQL Server 2000摘要 (1)第一章产品开发背景 (3)第二章系统需求分析 (3)第三章系统总体设计 (3)第四章数据库设计 (4)1数据库概念结构设计及E-R图 (4)2登录表E-R图 (4)3商品表E-R图 (4)4各实体E-R图 (4)5逻辑结构设计 (5)6 商品表中的实时数据 (5)7登陆表中的实时数据 (5)8物理设计 (5)第五章系统详细设计 (6)1 功能需要 (6)2数据库中存储过程源码 (6)3 VB前台程序设计源码 (7)第六章系统使用说明 (12)第七章 (14)第一章产品开发背景当今,酒店、饭店已经随处可见,而且集中众多的公共厂所,酒店仓库管理问题也成为了酒店管理者劳心费事的重要内容,为了方便酒店管理者使用,提高办事效率,就设计出一套应用简单,易于操作的后台管理系统,实现对酒店每日进货的管理。
《sqlserver数据库》课程设计范例一、教学目标本课程的教学目标是使学生掌握SQL Server数据库的基本理论、操作方法和应用技巧。
通过本课程的学习,学生将能够:1.知识目标:理解数据库的基本概念、原理和SQL Server数据库的特点;掌握SQL语言的基本语法和用法,包括数据定义、数据查询、数据更新和数据控制;了解数据库设计和建立的基本步骤。
2.技能目标:能够使用SQL Server数据库管理系统进行数据库的创建、维护和管理;能够编写简单的SQL查询语句进行数据的增、删、改、查操作;能够进行数据库的安全性和完整性设置。
3.情感态度价值观目标:培养学生对数据库技术的兴趣和好奇心,提高学生的问题解决能力和创新意识;培养学生的团队协作精神和良好的编程习惯。
二、教学内容本课程的教学内容主要包括以下几个部分:1.SQL Server数据库的基本概念和特点:数据库的概念、发展历程、数据模型、SQL Server的特点。
2.SQL语言的基本语法和用法:数据定义语言(DDL)、数据查询语言(DQL)、数据更新语言(DML)、数据控制语言(DCL)。
3.数据库的创建和管理:数据库的创建、维护、备份和恢复。
4.数据的增、删、改、查操作:使用SQL语句进行数据的添加、删除、修改和查询。
5.数据库的安全性和完整性设置:用户管理、权限分配、约束设置等。
三、教学方法本课程采用多种教学方法相结合的方式,以激发学生的学习兴趣和主动性:1.讲授法:讲解SQL Server数据库的基本概念、原理和SQL语言的语法。
2.案例分析法:通过实际案例让学生掌握数据库的创建、维护和管理方法。
3.实验法:让学生动手实践,进行数据库的创建、数据的增、删、改、查操作以及安全性和完整性设置。
4.讨论法:学生进行小组讨论,分享学习心得和经验,提高团队协作能力。
四、教学资源本课程所需的教学资源包括:1.教材:《SQL Server数据库教程》。
Sql Server 数据库开发课程设计课程设计总体任务:独立完成一个具体应用环境(学生管理系统、教务管理系统、超市管理系统等)的数据库设计,并在SQL SERVER2000中实现数据库。
任务说明:1、每个学生独立完成自己的课程设计。
2、每个学生根据自己所了解的行业、应用环境选取一个数据库设计选题。
3、选题范围适中,满足独立可完成的要求,但最终数据库所管理数据表不少于5个。
4、要求分析用户对数据的查询要求,设计不少于十个的能够满足用户需求的查询程序。
5、在SQL SERVER2000中实现数据库。
设计步骤:一、数据库设计阶段(40分)1、需求分析阶段通过各种手段(跟班作业、开调查会、询问等方式)了解用户需求,需求包括:用户需存储和处理的数据,对数据的约束条件,对数据的查询要求。
完成文档:a、用户需求调查的原始资料,包含询问记录、回收调查问卷、调查会记录等。
(10分)b、总结文档:通过分析得到的用户需处理的数据、数据上的限制条件、用户个的查询要求、数据库的用户种类和权限。
(10分)2、概念设计阶段通过需求分析的结果,完成e-r图设计。
完成文档:E-R图。
(10分)3、逻辑设计阶段对概念设计的结果进行处理,将E-R图转换成表。
处理的手段包括E-R图中的实体集转换成表的方法,关系转换成表的方法,关系规范化方法等。
完成文档:表结构设计文档,包含每个数据表的名称、字段名称、字段数据类型、数据长度、约束、索引、视图等。
(10分)注意:该文档中的字段数据类型及数据长度定义必须说明依据,不可随便定义。
约束包含主键、外键、默认、CHECK、为空性等,也要有设计依据,不可随便定义。
二、数据库实现阶段(35分)1、数据库实现。
通过SQL语言实现数据库的创建,包括数据库名称的定义、数据库文件、日志文件的名称等各中属性的设置、文件组的配置等。
完成文档:创建数据库的源代码。
(5分)2、数据表实现。
根据逻辑设计的结果在数据库中创建数据表。
数据库原理课程设计报告设计题目某宾馆客房管理系统专业班级学号学生姓名同组人起止日期年月日至月1 日摘要宾馆管理系统是对宾馆管理系统的现代化、网络化;逐步摆脱当前宾馆管理的人工管理方式;拓展经营空间;降低运营成本;提高管理和决策效率而开发的..传统的宾馆计算机管理系统主要包括前台管理系统和后台管理系统两大部分;基本包含了宾馆主要业务部门;初步实现了对顾客服务和进行财务核算所需要的各个功能..它包括客户信息管理、客房信息管理、入住和退房管理、客房类型管理、费用管理、价目信息管理等6大功能模块;并提供了对各功能模块的查询和更新功能..其中客户信息管理、入住和退房管理是系统开发的重点..本文讲述的是基于客户/服务器的宾馆管理系统;实现了宾馆管理的信息化..本系统涉及数据库方面的技术;采用SQL语言来实现..本系统由系统需求分析、概念设计、逻辑设计、物理结构设计、触发器设计、数据库实施和维护组成..目录1.问题描述 (1)1.1背景 (1)1.2功能要求 (1)2.需求分析 (1)2.1需求分析 (1)2.2系统功能模块图 (3)2.3数据流图 (3)2.4数据字典 (6)3.概念结构设计 (7)3.1E-R图 (7)3.2实体及属性的定义 (7)4.逻辑结构设计 (8)5.物理结构设计 (9)6.触发器设计 (10)7.数据库的实施和维护 (10)8.结束语 (12)8.答辩与成绩考核 (13)1.问题描述1.1背景随着宾馆业竞争的加剧;宾馆之间客源的争夺越来越激烈;宾馆需要使用更有效的信息化手段;拓展经营空间;降低运营成本;提高管理和决策效率..传统的宾馆计算机管理系统主要包括前台管理系统和后台管理系统两大部分;基本包含了宾馆主要业务部门;初步实现了对顾客服务和进行财务核算所需要的各个功能..但传统的宾馆管理基于财务管理为主线的设计理念;无法满足宾馆全面信息化管理的需要..现代宾馆酒店业迅速发展;新的管理观念与模式层出不穷..宾馆客房管理系统亦随着宾馆管理理念的发展而发展..宾馆客房管理系统依旧采用了先进的数据库理论;多媒体技术;软件工程理念等;从基层;中层;高层三个管理者层次为切入点;以成本分析;预测;控制为一线;形成一套上下贯通;操作便捷的酒店系统解决方案;科学地将宾馆各种日常业务完美的结合在一起;为管理及决策提供了强有力的支持..其对客人个性化服务及全面彻底的信息化;使企业电算化水平提升到一个新的更高层次;提供大量丰富的基于企业管理经营过程中实际的数据..1.2功能要求1客人基本信息的录入;2客人基本信息的查询、修改、增加、删除等;3客房相关信息的录入;包括房间号、收费标准、床位、类别等;4客房类别标准的制定、类别信息的输入;5客房基本信息的查询、修改、删除等;6住房信息的录入;包括房间号、客人姓名等;7退房信息的更新;2.需求分析2.1需求分析1. 处理对象系统要处理的对象包括信息管理、客户信息管理、客房信息管理、入住和退房管理、客房类型管理、费用管理、价目信息管理等7个方面;各个对象包含的信息如下所示:1信息管理:可以对于各种信息的查询;个人信息可以查看自己的私人信息;还可以对自己的私人信息进行修改..用户信息查看用户的个人信息;对用户的信息进行增、删、查、改..2客户信息管理:可以新建客户;输入客户的身份证号码、姓名、性别、出生日期和地址等信息;可以对于客户的信息进行相应的修改;还可以对客户的消费信息进行统计..3客房信息管理:可以在相应的房间类型下面进行添加相应的房间;对相应的房间进行删除;查看空房以及客房的情况..4入住和退房管理:客户可以入住相应的类型房型下的空房;然后可以退房;系统自动将相应的订单状态置为失效;入住状态置为已退房;将相应房间的状态置为空房..5客房类型管理:管理员可以对相应的房型进行各种属性的修改;可以按照需求添加相应的房型;管理员、工作人员都可以查看相应的房型信息;管理员有需要时可以删除相应的房型;系统自动将该房型下的房间删除..6费用管理:管理员、工作人员都可以查看相应的费用信息;管理员有需要时可以对宾馆的收入与支出进行查询或修改..7价目信息管理:可以查看客房的收费标准;管理员可以对客房价格进行查询与修改;工作人员可以查看可风的价目信息..2. 系统功能分析某宾馆需要建立一个住房管理系统;需求分析结果如下:1宾馆要求该系统能实现住房信息管理、客户信息管理等功能;2一个房间有多个床位;同一房间内的床位具有相同的收费标准..不同类型的房间的床位收费标准可能不同;3每个房间有房间号、收费标准、床位数目等信息;4每位客人有身份证号码、姓名、性别、出生日期和地址等信息;5对每位客人的每次住宿;应该记录其入住日期、退房日期和预付款额信息;6管理系统可查询出客人住宿相关信息、房间信息..3.安全性和完整性要求安全性先通过试图机制;不同的用户只能访问系统授权的视图;这样可以满足系统数据一定程度上的安全性;在通过用户授权机制;用户登录来识别用户级别;根据这个级别来分配用户权限;达到数据更高层次的安全保密功能..系统完整性要求系统中数据的正确性以及相容性..可以通过建立主、外键;使用check约束;或者通过使用触发器和级联更新..2.2系统功能模块图系统功能模块图;如图2.2所示..图2.2 系统的功能模块图2.3数据流图1.业务流程图;如图2.3.1所示..图2.3.1 客房管理业务流程图1顶层数据流程图;如图2.3.2所示..客人入住、图2.3.2 顶层数据流程图2第二层数据流图;如图2.3.3所示..图2.3.3 第二层数据流图3宾馆开房数据流程图;如图2.3.4所示..缴费单图2.3.4 宾馆开房数据流程图4客户续房数据流程图;如图2.3.5所示..补交费用图2.3.5 客户续房数据流程图5客人退房数据流程图;如图2.3.6所示..图2.3.6 客人退房数据流程图2.4数据字典表2-5. 客户住宿Living信息:表2-6. 客房物品Roomitem信息:3.概念结构设计3.1 E-R图各实体之间的E-R图;如图3-1所示..图3-1 实体之间的E-R图3.2实体及属性的定义3.2.1类别实体E-R图:客户信息实体的E-R图;如图3-2所示..图3—2 客户信息实体的E—R图客房信息实体的E-R图;如图3-3所示..图3—3 客房信息实体的E—R图客户住宿实体的E-R图;如图3-4所示..图3—4 客户住宿实体的E—R图客房物品信息实体的E-R图;如图3-5所示..图3—5 客房物品实体的E—R图4.逻辑结构设计具体的基本E-R图向关系模型的转化结果如下:客户Travellers Tno;Tname;Tsex;Tid客房Rooms Rno;Rstyle;Rprice;Rstate;Rtel客户住宿Living Tno;Rno;Tcomedate;Tleftdate;Ttime;Tamount客房物品RoomitemRno;Ritemno;Ritemname;Ritemprice;Ritemstate;Ritemnum数据库模式定义表4-2 客房基本信息表Rooms表4-3 客房物品信息表Roomitem表4-4 客户住宿信息Living5.物理结构设计数据库的物理设计就是为逻辑数据模型选取一个最合适应用要求的物理结构的过程;在这个阶段要完成两大任务..(1)确定数据库的物理结构;在关系数据库中主要是存储方法和存储结构..(2)对物理结构进行评价;评价的重点是时间和空间效率..CREATE UNIQUE INDEX Travno ON TravellersTnoCREATE UNIQUE INDEX Roomno ON RoomsRnoCREATE UNIQUE INDEX Ritemno ON RoomitemRitemnoCREATE UNIQUE INDEX Livno ON LivingTno6.触发器设计触发器C1的功能为当有一条信息插入Living表中时;触发Rooms表中的Rstate='满'.. 代码如下:create trigger c1on tb_Living for insertasif existsselect from tb_Living;tb_Rooms where tb_Living.Rno=tb_Rooms.Rnobeginupdate tb_Roomsset Rstate='满'where Rno=select Rnofrom insertedEnd触发器C2的功能为当从Living表中删除一条信息时;触发Rooms表中的Rstate='空'.. 代码如下:create trigger c2on tb_Living for deleteasif existsselect from tb_Living;tb_Rooms where tb_Living.Rno=tb_Rooms.Rno beginupdate tb_Roomsset Rstate='空'where Rno=select Rnofrom deletedEnd7.数据库的实施和维护7.1 建立数据库、数据表、索引1.建立数据库Create database db_hotel;2.建立数据表1客户基本信息表Travellers的建立..Create table tb_TravellersTno int CheckTno>=0 and Tno<=9999;Tname char10 not null;Tsex char2 CheckTsex in ‘男’;’女’;Tid char20 not null;Primary key Tno;2 客房基本信息表Rooms的建立..Create table tb_RoomsRno int not null;Rstyle char10 not null;Rprice intRstate char 10Rtel char15PRIMARY KEY Rno;3客房物品信息表Roomitem的建立..Create table tb_RoomitemRitemno int not null;Rno int not null;Ritemname char20 not null;Ritemprice intRitemstate char10Ritemnum intPrimary key RitemnoForeign key Rno references tb_RoomsRno;4 客户住宿信息Living的建立..Create table tb_LivingTno int not null;Rno int not null;Tcomedate datetime not null;Tleftdate datetime not null;Ttime intTamount intPrimary key Tno;Rno;Foreign key Tno references tb_TravellersTno; Foreign key Rno references tb_RoomsRno;3.建立视图1查询客户Travellers信息的视图定义如下..Create view view_Travellers 客户编号;客户姓名;客户性别;客户身份证号As select Tno;Tname;Tsex;TidFrom tb_Travellers2查询客房Rooms信息的视图定义如下..Create view view_Rooms 客房号;客房类型;客房单价;客房状态;客房As select Rno; Rstyle; Rprice; Rstate; RtelFrom tb_Rooms3查询客户住宿Living信息的视图如下..Create view view_Living 客房编号;客房号;入住日期;结算日期;住宿时间;房费As select Tno;Rno;Tcomedate;Tleftdate;Ttime;TamountFrom tb_Living4查询客房物品Roomitem信息的视图定义如下..Create view view_Roomitem客房号;客房物品编号;客房物品名称;物品状态;客房物品单价;物品数量As select Rno;;Ritemno;Ritemname;Ritemstate;Ritemprice;RitemnumFrom tb_Roomitem4.建立索引CREATE UNIQUE INDEX Travno ON tb_TravellersTnoCREATE UNIQUE INDEX Roomno ON tb_RoomsRnoCREATE UNIQUE INDEX Ritemno ON tb_RoomitemRitemnoCREATE UNIQUE INDEX Livno ON tb_LivingTno8.结束语通过此次数据库的课程设计;真正达到了学与用的结合;增强了对数据库方面应用的理解;对自己今后参与开发数据库系统积累了不少经验;在实验过程中;从建立数据开始;对数据库设计理念及思想上有更高的认识;从需求分析;到概念设计和逻辑设计;E-R图的表示;数据字典的创建;懂得了不少有关数据库开发过程中的知识;增强了自己在数据库中应用SQL语言的灵活性;其中包括;插入、删除、修改、查询;牵涉表和表之间的联系;主建与外主键的定义;约束项的设置;使逻辑更严密;在学习过程中;我也能过上网查了不少资料;也看了一些别人设计的旅馆管理信息系统的设计报告;学以致用;自我创新;独立完成了这份自己的报告;从中在学到用;从用又到学;不断修改;系统更新..虽然不能达到完善系统;但也做到了尽善尽美;加强理论学习对完善系统会有很多帮助;不管怎么说;对这次做的课程设计自己觉得还算满意..9.答辩与成绩考核。
课程设计课程设计名称:数据库应用系统课程设计专业班级:学生姓名:学号:指导教师:课程设计时间:酒店客房管理系统1 概述一直以来人们使用传统人工的方式进行酒店客房的管理,这种管理方式存在着许多缺点,譬如:效率低、安全不高,另外时间一长,将产生大量的数据,这对于查找和维护带来了不少的困难。
社会经济的发展,人们之间的交流日益频繁,外出人数的增加,这些都对酒店客房的管理提出了更高的要求,传统的管理方式已经不能够胜任这种工作了。
鉴于这种情况,开发一个酒店客房管理系统,能够通过计算机和数据库满足对客房基本信息的管理工作。
应包括以下几个功能:1、开房登记:根据客人的要求为其分配合适的房间,记录客人的基本信息。
2、退房结账:当客人提出退房请求时,工作人员能及时为其结账,并更改此房间的状态。
3、房间状态:工作人员能够查看房间的状态,是否有客人居住或者有客人预订,以方便对客房的管理。
4、预订房间:如果客房比较紧张,客人又因某种情况不能及时去开房,这时为了方便这类客人,应该提供预订房间这种服务。
5、预订入住:为已经预订过房间的客人办理登记入住。
6、解除预订:当客人因某种情况不再需要预订的客房时,应当允许其进行解除预订。
7、查看相关的信息:在住客人、预订客人、历史客人信息的查询。
通过以上几个功能,降低工作人员的工作量,提高效率,以实现对客房和客人信息的管理。
2 需求分析工作人员登入酒店管理系统后,开始对客房进行管理,工作流程图如下:图1、工作流程图下面是数据字典:Price varchar 5 否价格TextBox cerType varchar 10 否证件类型TextBox cerNum varchar 20 是证件号码TextBox Phone varchar 20 否联系电话TextBox inDate varchar 20 否入住日期TextBox outDate varchar 20 否预计离开日期TextBox字段名数据类型长度主键否描述控件类型name varchar 8 否客人姓名TextBoxsex char 4 否性别TextBox cerType varchar 10 否证件类型TextBox cerNum varchar 20 是证件号码TextBox Phone varchar 20 否联系电话TextBox字段名数据类型长度主键否描述控件类型roomId varchar 8 是房号TextBox roomType varchar 10 否房间类型TextBox price varchar 5 否价格TextBox money varchar 4 否押金TextBox roomState varchar 10 否房间状态TextBox表4、房间信息上表可以看出,此系统有九个功能:1、开房登记:根据客人的要求为其分配合适的房间,记录客人的基本信息。
2、退房结账:当客人提出退房请求时,工作人员能及时为其结账,并更改此房间的状态。
3、房间状态:工作人员能够查看房间的状态,是否有客人居住或者有客人预订,以方便对客房的管理。
4、预订房间:如果客房比较紧张,客人又因某种情况不能及时去开房,这时为了方便这类客人,应该提供预订房间这种服务。
5、预订入住:为已经预订过房间的客人办理登记入住。
6、解除预订:当客人因某种情况不再需要预订的客房时,应当允许其进行解除预订。
7、查看相关的信息:在住客人、预订客人、历史客人信息的查询。
3 概念结构设计此部分生成基本E-R 图,可以由局部的ER 模型合并成全局的ER 模型,注意ER 模型的规范性,图表的编号。
下面是局部的E-R 图:图2、客人E-R 图图3、房间E-R 图图4、住店E-R 图住 店预计离开日期 入住日期 结账离开日期 应付金额房 间房号 押金 房状态 房类型价格 客 人姓名 性别 证件类型证件号码 联系电话图5 、预订E-R图图6、简化的完整E-R图4逻辑结构设计运行环境:WindowsXP下,开发语言:.NET和C#这部分将E-R模型转换为关系模式,指明所满足的范式并给出理由。
客人(姓名,性别,证件类型,证件号码,联系电话)房间(房号,房间类型,价格,押金,房号状态)住店(房号,证件号码,入住日期,预计离开日期,结账离开日期,应付金额)预订(房号,证件号码,入住日期,预计离开日期)以上四个关系模式属于第三范式,因为不存在非主属性。
5源代码及系统截图包括程序流程图,数据库链接方法等,还应当对系统主要功能进行截图。
登录界面的截图及代码:图7、登录界面public partial class Login : System.Web.UI.Page{protected void Page_Load(object sender, EventArgs e){}protected void Login_Click(object sender, EventArgs e){string userName = TextBox3.Text;string userPwd = TextBox4.Text;string selectStr = "Select * from 用户 where 用户名 ='" + userName + "'";SqlConnection conn = newSqlConnection(ConfigurationManager.ConnectionStrings["酒店客房管理系统ConnectionString"].ConnectionString);Sqlmand cmd = new Sqlmand(selectStr, conn);conn.Open();SqlDataReader sdr = cmd.ExecuteReader();if (sdr.Read()){if (sdr.GetString(1) == userPwd){Session["userName"] = userName;conn.Close();Response.Redirect("main.aspx");}else{Label1.Text = "您输入的密码错误,请检查后重新输入!"; }}else{Label1.Text = "该用户不存在或用户名输入错误,请检查后重新输入!";}conn.Close();}}主界面的截图及代码:图8、主界面截图public partial class main : System.Web.UI.Page{protected void Page_Load(object sender, EventArgs e){}protected void Button1_Click1(object sender, EventArgs e) {Response.Redirect("getIn.aspx");}protected void Button2_Click(object sender, EventArgs e) {Response.Redirect("getOut.aspx");}protected void Button3_Click(object sender, EventArgs e) {Response.Redirect("roomState.aspx");}protected void Button4_Click(object sender, EventArgs e) {Response.Redirect("reservation.aspx");}protected void Button5_Click(object sender, EventArgs e) {Response.Redirect("reservationIn.aspx");}protected void Button6_Click(object sender, EventArgs e) {Response.Redirect("reliefReser.aspx");}protected void Button7_Click(object sender, EventArgs e) {Response.Redirect("inClient.aspx");}protected void Button8_Click(object sender, EventArgs e) {Response.Redirect("reserClient.aspx");}protected void Button9_Click(object sender, EventArgs e) {Response.Redirect("leaveClient.aspx");}protected void Button10_Click(object sender, EventArgs e) {Response.Redirect("ModifyPwd.aspx");}protected void Button11_Click(object sender, EventArgs e){Response.Redirect("Login.aspx");}}判断是否还有剩下房间界面的代码:public partial class getInNo : System.Web.UI.Page{protected void Page_Load(object sender, EventArgs e){string selectStr = "";selectStr = "Select * from 房间 where 房间状态 = '空' ";SqlConnection conn = newSqlConnection(ConfigurationManager.ConnectionStrings["酒店客房管理系统ConnectionString"].ConnectionString);Sqlmand selectCmd = new Sqlmand(selectStr, conn);conn.Open();SqlDataReader sdr = selectCmd.ExecuteReader();if (sdr.Read()){sdr.Close();Response.Redirect("getInYes.aspx"); }else{Response.Redirect("getInNo.aspx");}conn.Close();}}开房界面的截图及代码:图9、开房界面的截图public partial class kaifang : System.Web.UI.Page{protected void Page_Load(object sender, EventArgs e){}protected void Button1_Click(object sender, EventArgs e){SqlConnection conn = newSqlConnection(ConfigurationManager.ConnectionStrings["酒店客房管理系统ConnectionString"].ConnectionString);Sqlmand insertCmd = new Sqlmand("insert into 住店(客人姓名,证件号码,房号,入住日期,预计离开日期)values(@name,@num,@roomId,@inDate,@outDate)", conn);Sqlmand insertCmd1 = new Sqlmand("insert into 客人(姓名,性别,证件类型,证件号码,联系电话)values(@name,@sex,@cerType,@cerNum,@phone)", conn);insertCmd.Parameters.Add("@name", SqlDbType.VarChar, 15);insertCmd.Parameters.Add("@num", SqlDbType.VarChar, 20);insertCmd.Parameters.Add("@roomId", SqlDbType.VarChar, 20); insertCmd.Parameters.Add("@inDate", SqlDbType.VarChar, 20); insertCmd.Parameters.Add("@outDate", SqlDbType.VarChar, 20);insertCmd.Parameters["@name"].Value = txtName.Text;insertCmd.Parameters["@num"].Value = txtCerNum.Text;insertCmd.Parameters["@roomId"].Value = txtRoomId.Text;insertCmd.Parameters["@inDate"].Value = txtInDate.Text;insertCmd.Parameters["@outDate"].Value = txtOutDate.Text;insertCmd1.Parameters.Add("@name", SqlDbType.VarChar, 15);insertCmd1.Parameters.Add("@sex", SqlDbType.VarChar, 6);insertCmd1.Parameters.Add("@cerType", SqlDbType.VarChar, 20); insertCmd1.Parameters.Add("@cerNum", SqlDbType.VarChar, 20); insertCmd1.Parameters.Add("@phone", SqlDbType.VarChar, 20);insertCmd1.Parameters["@name"].Value = txtName.Text;insertCmd1.Parameters["@sex"].Value = txtSex.Text;insertCmd1.Parameters["@cerType"].Value = txtCerType.Text;insertCmd1.Parameters["@cerNum"].Value = txtCerNum.Text;insertCmd1.Parameters["@phone"].Value = txtPhone.Text;conn.Open();int flag = insertCmd.ExecuteNonQuery();insertCmd1.ExecuteNonQuery();if (flag > 0){Label1.Text = "成功提交客人信息!";}else{Label1.Text = "提交客人信息失败,查看输入是否正确!";}conn.Close();upDate();}private void upDate(){string roomId = txtRoomId.Text.Trim();string selectStr = "";string updateStr = "";selectStr = "Select * from 房间 where 房号 = '"+ roomId + "'"; updateStr = "update 房间 set 房间状态 = '已住' where 房号 ='" + roomId + "'";SqlConnection conn = newSqlConnection(ConfigurationManager.ConnectionStrings["酒店客房管理系统ConnectionString"].ConnectionString);Sqlmand selectCmd = new Sqlmand(selectStr, conn);conn.Open();SqlDataReader sdr = selectCmd.ExecuteReader();if (sdr.Read()){sdr.Close();Sqlmand updateCmd = new Sqlmand(updateStr, conn);updateCmd.ExecuteNonQuery();}conn.Close();}protected void Button2_Click1(object sender, EventArgs e){Response.Redirect("main.aspx");}}退房结账界面的截图及代码:图10、退房结账界面截图public partial class tuifang : System.Web.UI.Page{protected void Page_Load(object sender, EventArgs e){}protected void Button2_Click(object sender, EventArgs e){string roomId = TextBox1.Text;string selectStr = "select 客人姓名,证件号码,房号,入住日期,预计离开日期,结账离开日期,应付金额 from 住店 where 房号 = '"+ roomId + "' and 状态 is null";SqlConnection conn = newSqlConnection(ConfigurationManager.ConnectionStrings["酒店客房管理系统ConnectionString"].ConnectionString);Sqlmand cmd = new Sqlmand(selectStr,conn);conn.Open();SqlDataReader dr = cmd.ExecuteReader();if ( dr.Read() ){dr.Close();GridView1.Visible = true;Button1.Visible = true;Button3.Visible = true;}else{Label1.Text = "此人已经退过房了!";}dr.Close();conn.Close();}protected void Button1_Click(object sender, EventArgs e){string roomId = TextBox1.Text.Trim();string selectStr = "";string updateStr = "";selectStr = "Select * from 房间 where 房号 = '"+ roomId + "'"; updateStr = "update 房间 set 房间状态 = '空' where 房号 ='"+ roomId + "'";SqlConnection conn = newSqlConnection(ConfigurationManager.ConnectionStrings["酒店客房管理系统ConnectionString"].ConnectionString);Sqlmand selectCmd = new Sqlmand(selectStr, conn);conn.Open();SqlDataReader sdr = selectCmd.ExecuteReader();if (sdr.Read()){sdr.Close();Sqlmand updateCmd = new Sqlmand(updateStr, conn);updateCmd.ExecuteNonQuery();}Label1.Text = "成功退房!";conn.Close();upDate1();update();}private void update(){string roomId = TextBox1.Text.Trim();string selectStr = "";string updateStr = "";selectStr = "Select * from 住店 where 房号 = '"+ roomId + "'"; updateStr = "update 住店 set 状态 = '已退房' where 房号 ='" + roomId + "' ";SqlConnection conn = newSqlConnection(ConfigurationManager.ConnectionStrings["酒店客房管理系统ConnectionString"].ConnectionString);Sqlmand selectCmd = new Sqlmand(selectStr, conn);conn.Open();SqlDataReader sdr = selectCmd.ExecuteReader();if (sdr.Read()){sdr.Close();Sqlmand updateCmd = new Sqlmand(updateStr, conn);updateCmd.ExecuteNonQuery();}conn.Close();}private void upDate1(){string roomId = TextBox1.Text.Trim();SqlConnection conn = newSqlConnection(ConfigurationManager.ConnectionStrings["酒店客房管理系统ConnectionString"].ConnectionString);Sqlmand cmd = conn.Createmand();string money;string date;conn.Open();int i;for (i = 0; i < GridView1.Rows.Count; i++){date =((TextBox)GridView1.Rows[i].FindControl("txtOutDate")).Text.Trim();money =((TextBox)GridView1.Rows[i].FindControl("txtPayMent")).Text.Trim();cmdmandText = "update 住店 set 结账离开日期 = '"+ date + "', 应付金额 = '" + money + "' where 房号 = '" + roomId + "'";cmd.ExecuteNonQuery();}conn.Close();}protected void Button3_Click(object sender, EventArgs e){Response.Redirect("main.aspx");}}查看房间状态的截图及代码:图11、房间状态查看界面截图public partial class roomState : System.Web.UI.Page{protected void Page_Load(object sender, EventArgs e){}protected void Button1_Click1(object sender, EventArgs e){GridView1.Visible = false;string roomId = txtRoomId.Text.Trim();string sqlStr = "select * from 房间 where 房号 = '"+ roomId + "'";SqlConnection conn = newSqlConnection(ConfigurationManager.ConnectionStrings["酒店客房管理系统ConnectionString"].ConnectionString);Sqlmand cmd = new Sqlmand(sqlStr, conn);conn.Open();SqlDataReader sdr = cmd.ExecuteReader();GridView2.DataSource = sdr;GridView2.DataBind();conn.Close();}protected void Button2_Click(object sender, EventArgs e){Response.Redirect("main.aspx");}}预订房间页面的代码:public partial class reservation : System.Web.UI.Page{protected void Page_Load(object sender, EventArgs e){string selectStr = "";selectStr = "Select * from 房间 where 房间状态 = '空' ";SqlConnection conn = newSqlConnection(ConfigurationManager.ConnectionStrings["酒店客房管理系统ConnectionString"].ConnectionString);Sqlmand selectCmd = new Sqlmand(selectStr, conn);conn.Open();SqlDataReader sdr = selectCmd.ExecuteReader();if (sdr.Read()){sdr.Close();Response.Redirect("reservationYes.aspx"); }else{Response.Redirect("reservationNo.aspx");}conn.Close();}}成功预订房间的截图及代码:图12、预订房间界面截图public partial class yudingRoom : System.Web.UI.Page{protected void Page_Load(object sender, EventArgs e){}protected void Button1_Click(object sender, EventArgs e){SqlConnection conn = newSqlConnection(ConfigurationManager.ConnectionStrings["酒店客房管理系统ConnectionString"].ConnectionString);Sqlmand insertCmd = new Sqlmand("insert into 预订(客人姓名,性别,房号,房间类型,价格,证件类型,证件号码,联系电话,入住日期,预计离开日期)values(@name,@sex,@roomId,@roomType,@price,@cerType,@cerNum,@phoneNum ,@inDate,@outDate)", conn);insertCmd.Parameters.Add("@name", SqlDbType.VarChar, 15);insertCmd.Parameters.Add("@sex", SqlDbType.VarChar, 20);insertCmd.Parameters.Add("@roomId", SqlDbType.VarChar, 4);insertCmd.Parameters.Add("@roomType", SqlDbType.VarChar, 4); insertCmd.Parameters.Add("@price", SqlDbType.VarChar, 20);insertCmd.Parameters.Add("@cerType", SqlDbType.VarChar, 20); insertCmd.Parameters.Add("@cerNum", SqlDbType.VarChar, 20); insertCmd.Parameters.Add("@phoneNum", SqlDbType.VarChar, 20); insertCmd.Parameters.Add("@inDate", SqlDbType.VarChar, 20); insertCmd.Parameters.Add("@outDate", SqlDbType.VarChar, 20);insertCmd.Parameters["@name"].Value = txtName.Text;insertCmd.Parameters["@sex"].Value = txtSex.Text;insertCmd.Parameters["@roomId"].Value = txtRoomId.Text;insertCmd.Parameters["@roomType"].Value = txtRoomType.Text; insertCmd.Parameters["@price"].Value = txtPrice.Text;insertCmd.Parameters["@cerType"].Value = txtCerType.Text;insertCmd.Parameters["@cerNum"].Value = txtCerNum.Text;insertCmd.Parameters["@phoneNum"].Value = txtPhoneNum.Text; insertCmd.Parameters["@inDate"].Value = txtInDate.Text;insertCmd.Parameters["@outDate"].Value = txtOutDate.Text;conn.Open();int flag = insertCmd.ExecuteNonQuery();if (flag > 0){Label1.Text = "成功预订房间!";}else{Label1.Text = "预订房间失败,查看输入是否正确!";}conn.Close();upDate();}private void upDate(){string roomId = txtRoomId.Text.Trim();string selectStr = "";string updateStr = "";selectStr = "Select * from 房间 where 房号 = '"+ roomId + "'"; updateStr = "update 房间 set 房间状态 = '预订' where 房号 ='" + roomId + "'";SqlConnection conn = newSqlConnection(ConfigurationManager.ConnectionStrings["酒店客房管理系统ConnectionString"].ConnectionString);Sqlmand selectCmd = new Sqlmand(selectStr, conn);conn.Open();SqlDataReader sdr = selectCmd.ExecuteReader();if (sdr.Read()){sdr.Close();Sqlmand updateCmd = new Sqlmand(updateStr, conn);updateCmd.ExecuteNonQuery();}conn.Close();}protected void Button2_Click(object sender, EventArgs e){Response.Redirect("main.aspx");}protected void txtCerType_TextChanged(object sender, EventArgs e) {}protected void txtCerNum_TextChanged(object sender, EventArgs e) {}}预订入住界面的截图及代码:图13、预订入住界面截图public partial class yudingin : System.Web.UI.Page{protected void Page_Load(object sender, EventArgs e){}protected void Button2_Click(object sender, EventArgs e){string selectStr1 = "insert into 客人(姓名,性别,证件类型,证件号码,联系电话) select 客人姓名,性别,证件类型,证件号码,联系电话 from 酒店客房管理系统.dbo.预订";string selectStr2 = "insert into 住店(客人姓名,证件号码,房号,入住日期,预计离开日期) select 客人姓名,证件号码,房号,入住日期,预计离开日期 from 酒店客房管理系统.dbo.预订";SqlConnection conn = newSqlConnection(ConfigurationManager.ConnectionStrings["酒店客房管理系统ConnectionString"].ConnectionString);Sqlmand cmd1 = new Sqlmand(selectStr1, conn);Sqlmand cmd2 = new Sqlmand(selectStr2, conn);conn.Open();cmd1.ExecuteNonQuery();int flag = cmd2.ExecuteNonQuery();if (flag > 0){Label1.Text = "成功提交客人信息!";}else{Label1.Text = "提交客人信息失败,查看输入是否正确!";}conn.Close();upDate();delete();}private void upDate(){string roomId = txtRoomId.Text.Trim();string selectStr = "";string updateStr = "";selectStr = "Select * from 房间 where 房号 = '"+ roomId + "'"; updateStr = "update 房间 set 房间状态 = '已住' where 房号 ='" + roomId + "'";SqlConnection conn = newSqlConnection(ConfigurationManager.ConnectionStrings["酒店客房管理系统ConnectionString"].ConnectionString);Sqlmand selectCmd = new Sqlmand(selectStr, conn);conn.Open();SqlDataReader sdr = selectCmd.ExecuteReader();if (sdr.Read()){sdr.Close();Sqlmand updateCmd = new Sqlmand(updateStr, conn);updateCmd.ExecuteNonQuery();}conn.Close();}private void delete(){string roomId = txtRoomId.Text.Trim();string selectStr = "";selectStr = "delete 预订 where 房号 = '"+ roomId +"'";SqlConnection conn = newSqlConnection(ConfigurationManager.ConnectionStrings["酒店客房管理系统ConnectionString"].ConnectionString);Sqlmand selectCmd = new Sqlmand(selectStr, conn);conn.Open();selectCmd.ExecuteNonQuery();conn.Close();}protected void Button3_Click(object sender, EventArgs e){Response.Redirect("main.aspx");}}解除预订房间页面的截图及代码:图14、解除预订界面的截图public partial class jiechuyuding : System.Web.UI.Page{protected void Page_Load(object sender, EventArgs e){}protected void Button2_Click(object sender, EventArgs e){string roomId = TextBox1.Text.Trim();string selectStr = "";selectStr = "delete 预订 where 房号 = '" + roomId + "'";SqlConnection conn = newSqlConnection(ConfigurationManager.ConnectionStrings["酒店客房管理系统ConnectionString"].ConnectionString);Sqlmand selectCmd = new Sqlmand(selectStr, conn);conn.Open();selectCmd.ExecuteNonQuery();conn.Close();Label1.Text = "成功取消预订!";}protected void Button3_Click(object sender, EventArgs e){Response.Redirect("main.aspx");}}信息列表界面的截图:图15、在住客人列表图16、预订客人列表图17、历史客人列表参考文献[1] 张浦生,《SQL Server 20XX 数据库应用技术》,清华大学出版社,20XX[2] 黄树生,《数据库原理及应用》,电子工业出版社,20XX[3] 尹志宇、郭晴,《数据库原理与应用教程》,清华大学出版社,20XX[4] 周新会,《ASP 通用模块及典型系统开发》,人民邮电出版社,20XX[5] 王峰,《数据库网站设计教程》,清华大学出版社,20XX心得体会经过一周的努力,数据库课程设计终于做完了。