酒店客房数据库应用系统的设计与实现_第1页
酒店客房数据库应用系统的设计与实现_第2页
酒店客房数据库应用系统的设计与实现_第3页
酒店客房数据库应用系统的设计与实现_第4页
酒店客房数据库应用系统的设计与实现_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、数据库课程设计报告数据库课程设计报告酒店客房数据库应用系统的设计与实现学 院专业名称班 级学 号姓 名设计日期数据库课程设计报告目录1 绪论 . 31.1 选题目的及意义 . 31.2 系统开发工具及技术概述 . 31.2.1 Microsoft SQL Server 2000概述及采用原因 . 31.2.2 ASP.NET概述 . 41.2.3 B/S架构的WEB程序设计技术 . 41.3 系统设计需要解决的问题 . 42 系统需求分析 . 42.1 系统的目标与功能 . 42.2 业务流程分析 . 52.2.1 系统业务流分析 . 52.1.2 系统处理功能分析 . 62.1.3 系统数据

2、流程分析 . 73 概念结构设计 . 84 逻辑结构设计 . 94.1 数据库的逻辑结构图 . 94.2 关系模式设计和表结构 . 104.2.1 数据库中表结构和表的完整性设计 . 104.2.2 数据字典 . 124.3 存储过程与触发器设计 . 154.3.1存储过程设计 . 154.3.2触发器设计 . 165 数据库安全性策略设计 . 165.1 数据库用户设置与对象权限 . 165.2 数据库备份策略 . 176 系统实现 . 196.1系统的体系结构设计与系统的技术特点 . 191数据库课程设计报告6.2 系统的运行环境 . 196.2.1系统的硬件环境 . 196.2.2系统的

3、软件环境 . 196.3 系统功能的实现 . 196.3.1 系统主界面与人机对话设计 . 196.3.2 数据录入、修改、删除功能模块设计 . 206.3.3 查询程序设计 . 226.3.4 网站导航设计代码 . 236.3.4 导航css样式设计代码styles.css . 246.3.5 在网页中调用styles.css. 287 运行实例 . 28附:系统使用说明 . 302数据库课程设计报告1 绪论1.1 选题目的及意义随着我国市场经济的迅速发展,人们在生活水平有了显著提高,旅游经济和各种商务活动更促进了酒店行业的快速发展。同时,随着酒店的数量越来越多,人们的要求也越来越高,酒店行

4、业的竞争愈演愈烈。面对信息时代的机遇和挑战,利用科技手段提高企业管理无疑是一条行之有效的途径。酒店业的发展日益扩大,传统的手工记账已经不适应现代酒店管理的需要,及时、准确、全方位的网络化信息管理成为必需。在酒店的管理及业务日益复杂并要求工作效率不断提高的现状下,计算机的智能化管理技术可以极大限度地提高服务管理水平,进行准确、快捷和高效的管理,获得更好的经济效益。本系统采用B/S架构的WEB程序设计技术,因为采用B/S(Browser/Server)架构的酒店客房信息管理系统,可以实现客人在线预订客房,后台管理员对数据库的完整管理。因为Internet基于TCP/IP协议,它可以跨越当前几乎所有

5、的平台。在任何平台上只需要安装一个浏览器,可以简单地移植到任何平台上,就可以访问Web服务器,解决了用户预订操作繁琐,酒店管理信息量大,处理效率低,准确度差等问题。极大的方便了客人的预订和酒店的管理。1.2 系统开发工具及技术概述“酒店客房信息管理系统”是基于B/S架构的软件管理系统,并且后台需要一个强大的数据库,采用微软公司的SQL Server 2000数据库可以实现。1.2.1 Microsoft SQL Server 2000概述及采用原因Microsoft SQL Server 2000是由Microsoft公司开发的,简称SQL Server,是一个关系数据库管理系统,具有使用方便

6、,可伸缩性好与相关软件集成程度高等优点。同时,它还具有构成最大的 Web 站点的数据存储组件所需的可伸缩性、可用性和安全功能。采用SQL Server作为数据库的原因如下:第一,SQL Server与Windows服务器紧密集成,而Windows服务器具有很好的安全性,能够排除所有未经授权的非法用户的访问,确保了SQL Server 2000服务器的安全性,符合系统对安全性的要求。第二,用户可以使用Web浏览器查询存储在SQL Server 2000数据库中的数据,符合系统远程访问数据库的要求。第三,数据容量大,每个数据库中可创建多达20万个数据表,数据表中的记录的行数3数据库课程设计报告只受

7、服务器硬盘空间的限制,适合数据表较多的系统。1.2.2 ASP.NET概述ASP.NET是Microsoft的Active Server Pages的新版本,是建立在微软新一代.NET平台架构上,建立在公共语言运行库上,在服务器后端为用户提供建立强大的企业级WEB应用服务的编程框架。可用于在服务器上生成功能强大的Web应用程序,为Web站点创建动态的、交互的HTML页面。1.2.3 B/S架构的WEB程序设计技术Browser/Server(B/S)即浏览器/服务器系统,是一种分布式计算机系统,浏览器向服务器上的网站程序递交请求和参数,服务器上的网站程序将结构传递到浏览器,由浏览器显示结果并传

8、递给用户。此种方式的好处是可以随时接受用户的请求,显示用户想要的结果,每个页面的内容都是由程序动态生成的,不必为每个内容做一个单独的页面,不需要用户安装任何特定的程序,只要有浏览器就可以得到预想的结果。1.3 系统设计需要解决的问题酒店客房信息管理系统的使用是否方便,运行是否顺畅,信息处理是否准确,直接影响到客人能否及时获得酒店客房信息和酒店的经营管理。本系统要使客人不用亲自到酒店预订或者电话预约房间,并且在任何时间都可以预定。另外,系统要实现对客房、预定、入住、结账的信息进行信息化管理,这样可以避免很多麻烦和错误。利用ASP.NET编程语言,结合SQL Server 2000数据库技术,建立

9、一个酒店客房信息管理系统,并利用网络技术,通过IIS配置服务器的站点属性,可以让客户在线查看客房信息并在线预订客房。能够利用数据库技术,将客房信息、员工信息、客户信息等存储在不同的数据表内,实现信息分类管理,并通过数据库技术能使管理员对数据进行操作。2 系统需求分析2.1 系统的目标与功能酒店客房信息管理系统是在对客房的日常运作进行综合调查的基础上,开发出来的一套系统,主要包括客房资源、顾客信息、会员信息、结算信息进行管理,利用酒店客房信息管理系统及时了解各个环节中信息的变更,有利于提高管理效率。系统以SQL Server 2000作为后台数据库,ASP.NET为开发工具,运用自顶向下逐层分解

10、的模块化结构设计思想、面4数据库课程设计报告向对象的设计方法,来完成管理系统的主要模块设计。(1)客房资源,包括总的客房数量,空闲客房数量以及已入住客房数量,以及各个客房等级和相应的价格,能够在系统中查询到相关客房信息。(2)员工基本信息,包括工号,姓名,性别,证件号码,年龄,联系方式,部门号,管理员能够对员工信息进行删除、修改、添加、查询。(3)入住客户基本信息,包括姓名,性别,年龄,证件号码,联系方式,管理员能够对会员的信息进行删除、修改、添加、查询。(4)客户能实现在线预订房间和退订房间。2.2 业务流程分析2.2.1 系统业务流分析该系统的主要使用人员为酒店客房管理人员。管理员可以对酒

11、店客房信息库进行相应的操作,比如,添加客房信息、修改客房信息、删除客房信息,并且对酒店的员工信息进行管理。管理员还可以查询客人信息,修改客人信息、添加客人信息,管理客户的预订客房,入住客房等。系统流程图展示了系统的功能模块之间的逻辑关系,该业务的流程图如图2-1所示。5数据库课程设计报告图2-1 酒店客房信息管理系统数据流程图从业务流程图可以看出,该酒店的主要业务就是满足客户的订房需求,并且会员客户的信息存储在该酒店的信息系统中,所以会员的信息可以自动调出,这样可以节省很多时间,提高工作的准确性和效率,同时也能提升服务的质量。2.1.2 系统处理功能分析按结构化程序设计思想,分析得出系统功能模

12、块图,如图2-2所示。6数据库课程设计报告图2-2 酒店客房信息管理系统功能模块图2.1.3 系统数据流程分析数据流图是组织中信息运动的抽象,是信息系统逻辑模型的主要形式。这个模型不涉及硬件、软件、数据结构与文件组织,它与对系统的物理描述无关,是用一种图形及与此相关的注释来表示系统的逻辑功能,即所开发的系统在管理信息处理方面要做什么。在分析有关客房管理信息需求的基础上,可以得到本系统所处理的数据流程图,如图2-3所示。7数据库课程设计报告图2-3 系统数据流程图3 概念结构设计数据库的概念结构设计是对用户要求描述的现实世界,通过对其中数据的分类、聚集和概括,建立抽象的概念数据模型。这个概念模型

13、应反映现实世界各部门的信息结构、信息流动情况、信息间的互相制约关系以及各部门对信息储存、查询和加工的要求等。酒店客房管理的实体关系(E-R)的设计是建立在需求分析、系统分析的基础上。本系统的实体包括顾客、员工、客房、客房状态、客房类型,本系统的E-R图如图3-1所示。8数据库课程设计报告图3-1 酒店客房信息管理系统E-R图该系统中主要涉及到的实体、联系及其属性,用关系模式表示如下所示: 客房状态(房间号,客房状态)4 逻辑结构设计4.1 数据库的逻辑结构图使用数据库建模工具Power Designer参照设计的数据库逻辑结构图,如图4-1所示。9数据库课程设计报告图4-1 酒店客房管理系统数

14、据库模型4.2 关系模式设计和表结构4.2.1 数据库中表结构和表的完整性设计 (1)Type表:客房类型信息表用来记录酒店的客房的类型,包括房间大小、单价、是否配备电视、是否配备空调的相关信息,TID字段是该表的主键,该表的结构如表4-1所示。10数据库课程设计报告表4-1 客房类型信息表(2)Assistant表:员工信息表用来保存该酒所雇用的员工的姓名、工号、年龄、性别、身份证号、联系方式、所属部门的相关信息,AID字段是该表的主键,AID字段不允许为空,并可以防止有重复的记录,该表的结构如表4-2所示。表4-2 员工信息表(3)Guest表:客户信息表用来保存入住客户的姓名、身份证号、

15、性别、年龄以及入住的房间号的信息,GRID字段为该表的主键,该表的结构如表4-3所示。表4-3客户信息表(4)RoomState表:客房状态表用来记录酒店客房的状态,是空闲还是已经有人入住,SRID字段是该表的主键,该表的结构如表4-4所示。11数据库课程设计报告表4-4 客房状态表(5)Room表:客房信息表用来保存酒店客房的房间号、房间类别名称(单人间、标准间、套件、豪华间)以及房间的大致描述,RID字段为该表主键,它唯一标识每条记录,该表的结构如表4-5所示。表4-5 客房信息表4.2.2 数据字典数据字典的作用是给数据流程图中的每个定义予以定义和解释,是数据流图上所有成分的定义和解释的

16、文字集合。(1)Type表:该表的数据字典如表4-6所示。表4-6 客房类型信息表(2)Assistant表:该表的数据字典如表4-7所示。12数据库课程设计报告表4-7 员工信息表(3)Guest表:该表的数据字典如表4-8所示。表4-8客户信息表(4)RoomState表:该表的数据字典如表4-9所示。表4-9 客房状态表(5)Room表:该表的数据字典如表4-10所示。13数据库课程设计报告表4-10 客房信息表创建各个表的脚本如下:(1)Type表脚本:CREATE TABLE dbo.Type (TID varchar (30) COLLATE Chinese_PRC_CI_AS N

17、OT NULL ,TName varchar (50) COLLATE Chinese_PRC_CI_AS NOT NULL ,TArea varchar (5) COLLATE Chinese_PRC_CI_AS NOT NULL ,TPrice varchar (10) COLLATE Chinese_PRC_CI_AS NOT NULL ,TTV varchar (2) COLLATE Chinese_PRC_CI_AS NOT NULL ,TAirCondition varchar (2) COLLATE Chinese_PRC_CI_AS NOT NULL) ON PRIMARYGO

18、(2)Assistant表脚本:CREATE TABLE dbo.Assistant (AID varchar (30) COLLATE Chinese_PRC_CI_AS NOT NULL ,AName varchar (50) COLLATE Chinese_PRC_CI_AS NOT NULL ,ASex char (2) COLLATE Chinese_PRC_CI_AS NOT NULL ,AAge int NULL ,ADepartment varchar (50) COLLATE Chinese_PRC_CI_AS NOT NULL ,ATel varchar (50) COLL

19、ATE Chinese_PRC_CI_AS NULL) ON PRIMARYGO(3)Guest表脚本:CREATE TABLE dbo.Guest (GRID varchar (30) COLLATE Chinese_PRC_CI_AS NOT NULL ,GName varchar (50) COLLATE Chinese_PRC_CI_AS NOT NULL ,GID varchar (50) COLLATE Chinese_PRC_CI_AS NOT NULL ,GSex char (2) COLLATE Chinese_PRC_CI_AS NOT NULL ,GInTime varc

20、har (10) COLLATE Chinese_PRC_CI_AS NOT NULL ,GOutTime varchar (10) COLLATE Chinese_PRC_CI_AS NOT NULL) ON PRIMARYGO(4)RoomState表脚本:CREATE TABLE dbo.RoomState (SRID varchar (30) COLLATE Chinese_PRC_CI_AS NOT NULL ,SState varchar (6) COLLATE Chinese_PRC_CI_AS NOT NULL) ON PRIMARY14数据库课程设计报告GO(5)Room表脚

21、本:CREATE TABLE dbo.Room (RID varchar (30) COLLATE Chinese_PRC_CI_AS NOT NULL ,RPosition varchar (50) COLLATE Chinese_PRC_CI_AS NOT NULL ,RDescrible varchar (100) COLLATE Chinese_PRC_CI_AS NOT NULL) ON PRIMARYGO4.3 存储过程与触发器设计4.3.1存储过程设计(1)存储过程sp_addguest用于管理员向Guest表中添加新入住的客户信息。该存储过程的代码如下:create proce

22、dure sp_addguestID varchar(30),Name varchar(50),NO varchar(50),Sex char(2),Intime varchar(10),OutTime varchar(10)asinsert into Guest values(ID,Name,NO,Sex,Intime,OutTime)go(2)存储过程sp_InsertRoom1用于管理员向Type表中插入新客房记录,更新Type表,该存储过程的代码如下:create procedure sp_InsertRoom1ID varchar(30),Name varchar(50),Area

23、varchar(10),Price varchar(5),TV varchar(2),AirCondition varchar(2)asinsert into Type values(ID,Name,Area ,Price,TV,AirCondition)go(3)存储过程sp_InsertRoom2用于管理员向Type表中插入新客房记录时,同时更新Room表,该存储过程的代码如下:CREATE procedure sp_InsertRoom2ID varchar(30),position varchar(50),describle varchar(100)asinsert into Room

24、 values(ID,position,describle)go(4)存储过程sp_InsertRoom3用于管理员向Type表中插入新客房记录时,同时更新15数据库课程设计报告RoomState表,该存储过程的代码如下:CREATE procedure sp_InsertRoom3ID varchar(30)asinsert into RoomState values(ID,空)go4.3.2触发器设计(1)触发器trigger_insertguest建立在表Guest上,当管理员向Guest表中添加新入住的客户信息时,同时触发RoomState表,将RoomState表中的对应房间状态改为

25、“已入住”。 该触发器的代码如下:goCREATE trigger trigger_insertgueston Guestfor insertasdeclare ID varchar(30)select ID= GRIDfrom insertedupdate RoomStateset SState = 已入住 where SRID=IDgo5 数据库安全性策略设计5.1 数据库用户设置与对象权限新建登录,创建新的账户user1和user2,采用SQL Server身份验证方式并设置密码,user1和user2的密码分别为001和002,将默认指定的登录数据库设为Hotel_MS,如图5-1所示

26、。将该账户允许访问的数据库设为Hotel_MS,如图5-2所示。16数据库课程设计报告图5-1新建登录 图5-2 设置数据库访问权限创建两个用户:user1和user2,再设置这两个用户的管理权限。user1只能管理与客房有关的表,不能对酒店员工信息进行管理,user2可以对所有表进行操作,如图5-3、图5-4所示,并且两个用户对所创建的存储过程都有执行权。图5-3 user1权限设置 图5-4 user2权限设置5.2 数据库备份策略在Hotel_MS右键选择备份数据库,弹出SQL Server备份对话框,选择备份目的,一般情况选择完全备份,它可以备份整个数据库,包含用户表、系统表、索引、视

27、图和存储过程等所有数据库对象,如图5-5所示。当数据库丢失时,则可以还原数据库,如图5-6所示。为了防止数据丢失带来损失,一般数据库的完全备份需要一周一次。17数据库课程设计报告图5-5 数据库备份图5-6 还原数据库18数据库课程设计报告6 系统实现6.1系统的体系结构设计与系统的技术特点整个系统采用B/S架构模式,将浏览器的后台为SQL Server数据库,在浏览器中对表进行操作时,同时更新数据库中的数据。6.2 系统的运行环境6.2.1系统的硬件环境CPU :Intel P4 2.0GHZ或更高内存:256MB以上硬盘:1G以上显卡:32MB显存以上光驱:52X CDROM(或DVDRO

28、M)网络通信协议:TCP/IP6.2.2系统的软件环境操作系统平台:操作系统采用的是Windows XP Professional SP3(或以上版本),要另外装上IIS 5.0以上版本,该系统具有稳定性好、可靠性高、集成度高和界面友好等特点。开发平台:本系统的软件开发平台是Microsoft Visual Studio 2008。数据库平台:Microsoft SQL Server 2000,这是一个常用的关系型数据库管理系统,具有浏览器/服务器体系结构,采用了一种称为Transact-SQL的SQL语言在客户机和服务器之间传递客户机的请求和服务器的处理结果。6.3 系统功能的实现6.3.1

29、 系统主界面与人机对话设计(1)系统主界面设计与系统主界面功能说明设计的第一步骤是连接数据库,连接数据库的代码在下一节中说明。主界面包括系统菜单和数据库中的Type表,Type表显示的是房间的编号、类型名称、面积、单价以及相关基本配置的信息。系统菜单以导航的形式显示在标题栏的下方,菜单主要分为四个部分:客房信19数据库课程设计报告息管理、客户信息管理、员工信息管理、在线预订,其中管理员可以对客房信息和客户信息进行修改和插入,客房信息的插入调用的是存储过程sp_InsertRoom,客户信息的插入调用的是存储过程sp_addguest。网页中显示的表都是使用GridView控件,将数据与该控件中

30、的列绑定起来,配置好数据源,数据库中的表则直接能通过该控件显示在网页上。Type表的修改功能直接使用的UpdateCommand代码在下一节中说明。需要说明的是,客户信息查询,员工信息插入、查询和在线预订的功能都还在建设中。(2)主要代码与代码说明连接数据代码:在web.config文件中添加如下代码,将数据库与网站连接,Initial Catalog数据库名称。 GridView控件中的列代码:并将列明的标题文本改为易于理解的中文名称。6.3.2 数据录入、修改、删除功能模块设计(1)Type表绑定数据源、删除操作、修改操作的相关代码:asp:SqlDataSource ID=SqlData

31、Source1 runat=serverConnectionString=20数据库课程设计报告SelectCommand = SELECT * FROM TypeDeleteCommand = Delete from Type where TID = TIDUpdateCommand = Update Type setTID=TID,TName=TName,TArea=TArea,TPrice=TPrice,TTV=TTV,TAirCondition=TAirCondition where TID=TID(2)客房状态的数据源绑定代码如下:asp:SqlDataSource ID=SqlDa

32、taSource1 runat=serverConnectionString=SelectCommand=SELECT * FROM RoomState(3)对Type表进行插入操作:由Button1_Click(确定添加)触发的事件,并调用存储过程sp_InsertRoom1、sp_InsertRoom2、sp_InsertRoom3,代码如下:protected void Button1_Click(object sender, EventArgs e)SqlConnection conn = newSqlConnection(ConfigurationManager.Connection

33、StringssdbConnectionString.ConnectionString);conn.Open();string sql = execute sp_InsertRoom2 p1,p7,p8 execute sp_InsertRoom1 p1,p2,p3,p4,p5,p6 execute sp_InsertRoom3 p1;SqlCommand cmd = new SqlCommand(sql, conn);cmd.Parameters.Add(p1, SqlDbType.NVarChar).Value = TextBox1.Text; cmd.Parameters.Add(p2,

34、 SqlDbType.NVarChar).Value = TextBox2.Text; cmd.Parameters.Add(p3, SqlDbType.NVarChar).Value = TextBox3.Text; cmd.Parameters.Add(p4, SqlDbType.NVarChar).Value = TextBox4.Text; cmd.Parameters.Add(p5, SqlDbType.NVarChar).Value = TextBox5.Text; cmd.Parameters.Add(p6, SqlDbType.NVarChar).Value = TextBox

35、6.Text; cmd.Parameters.Add(p7, SqlDbType.NVarChar).Value = TextBox7.Text; cmd.Parameters.Add(p8, SqlDbType.NVarChar).Value = TextBox8.Text; cmd.ExecuteNonQuery();conn.Close();Response.Redirect(index.aspx);(4)对表Guest进行插入操作:添加入住客人信息时,调用的函数代码如下:由Button1_Click事件导致函数发生并调用存储过程sp_addguest,同时该过程还能促使触发器trigg

36、er_insertguest的发生,来更新RoomState表。protected void Button1_Click(object sender, EventArgs e)SqlConnection conn = new21数据库课程设计报告SqlConnection(ConfigurationManager.ConnectionStringssdbConnectionString.ConnectionString);conn.Open();string sql = execute sp_addguest p1,p2,p3,p4,p5,p6;SqlCommand cmd = new Sql

37、Command(sql, conn);cmd.Parameters.Add(p1, SqlDbType.NVarChar).Value = TextBox1.Text; cmd.Parameters.Add(p2, SqlDbType.NVarChar).Value = TextBox2.Text; cmd.Parameters.Add(p3, SqlDbType.NVarChar).Value = TextBox3.Text; cmd.Parameters.Add(p4, SqlDbType.NChar).Value = TextBox4.Text;cmd.Parameters.Add(p5

38、, SqlDbType.NVarChar).Value = TextBox5.Text; cmd.Parameters.Add(p6, SqlDbType.NVarChar).Value = TextBox6.Text; cmd.ExecuteNonQuery();conn.Close();Response.Redirect(index.aspx);(5)员工信息的数据源绑定、删除、更新代码如下:asp:SqlDataSource ID=SqlDataSource1 runat=serverConnectionString=SelectCommand=SELECT * FROM Assista

39、ntDeleteCommand = Delete from Assistant where AID = AIDUpdateCommand = Update Assistant setAID=AID,AName=AName,ASex=ASex,AAge=AAge,ADepartment=ADepartment,ATel=ATel where AID=AID(6)客户信息的数据源绑定代码如下:asp:SqlDataSource ID=SqlDataSource1 runat=serverConnectionString=SelectCommand=SELECT * FROM Guest6.3.3 查询程序设计(1)建立在Type表上的查询功能使用GridView控件,绑定数据源,用指定的sql语句,在Type和Room表上建立连表查询,并且把网页中TextBox1控件中的参数,传入查询语句变量TID中,即可执行查询。代码如下:asp:SqlDataSource ID=SqlDataSource1 runat=server22数据库课程设计报告ConnectionString=SelectCommand=SELECT Type.TID, Type.TName

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论