数据库课设---酒店管理系统(MySQL、VBNet)
目录一.? ?知识技术二.? ?需求分析2.1? ?功能需求2.2? ?数据需求?三.? ?数据流图与数据字典3.1? ?数据流图3.1.1? ?业务流图3.1.2? ?数据流图3.1.3? ?关系图3.2? ?数据字典四.? ?数据库设计?4.1? ?概念模型设计4.2? ?逻辑模型设计4.3? ?数据库实现4.4? ?导入数据4.5? ?视图创建与展示五.? ?利用VBNET语言进行页面设计一. 知识技术数据库管理系统DBMS基础数据库管理系统是酒店客房管理系统的核心负责存储、检索、更新和管理客房信息。它提供了数据定义、数据操作和数据控制等功能确保数据的完整性、安全性和可靠性。关系型数据库理论关系型数据库是当前应用最广泛的数据库类型之一它通过表、行和列来组织数据并使用SQL结构化查询语言进行数据操作。关系型数据库具有数据结构化、数据共享性高、数据独立性好等优点非常适合用于酒店客房管理系统的数据存储。数据库设计原则数据库设计是酒店客房管理系统开发的关键环节它涉及到数据的逻辑结构、物理结构以及数据的安全性和完整性等方面。在设计过程中需要遵循规范化设计原则确保数据的合理组织和有效存储。二. 需求分析2.1功能需求本系统实现的功能具体如下1、信息管理可以对于各种信息的查询个人信息可以查看自己的私人信息还可以对自己的私人信息进行修改。用户信息查看用户的个人信息对用户的信息进行增删改查。2、客户信息管理可以新建客户输入客户的身份证号码、姓名、性别、和手机号等信息可以对于客户的信息进行相应的修改。3、客房信息管理可以在相应的房间类型下面进行添加相应的房间对相应的房间进行删除 查看空房以及客房的情况。4、入住和退房管理客户可以入住相应的类型房型下的空房然后可以退房系统自动将相应的订单状态置为失效入住状态置为己退房将相应房间的状态置为空房。5、费用管理管理员、工作人员都可以查看相应的费用信息管理员有需要时可以对宾馆的收入与支出进行查询或修改。6、价目信息管理可以查看客房的收费标准管理员可以对客房价格进行查询与修改工作人员可以查看客房的价目信息。7、物品信息管理可以查看客房的物品名称物品状态是否使用对物品进行查询。2.2数据需求酒店客房管理系统的数据需求包括如下几点1数据录入和处理的准确性和实时性数据的输入是否准确是数据处理的前提错误的输入会导致系统无法正常识别进而导致输出的不正确从而是系统的工作失去意义。数据的输入来源是手工输入。手工输入要通过系统界面上的安排系统具有容错性。。2数据的一致性与完整性由于系统的数据是共享的在不同的客户端中客房信息是共享数据所以如何保证这些数据的一致性是系统必须解决的问题。要解决这一问题要有后台数据库的支持。三. 数据流图与数据字典3.1 数据流图3.1.1 业务流图3.1.2 数据流图3.1.3 关系图3.2 数据字典客户表字段中文解释类型约束备注cno客户编号Char(20)Not nullPrimary keycname客户姓名Char(10)Not nullcsex客户性别Char(2)Not nullcid客户手机号Char(20)Not null客房表字段中文解释类型约束备注Rno客房编号Char(20)Not nullPrimary keyRstyle客房类型Char(10)Not nullRprice客房价格IntNot nullRstate客房状态Char(10)Not nullLiving表字段中文解释类型约束备注Cno客户编号Char(20)Not nullPrimary keyCcomedate入住日期DatetimeNot nullCleftdate离开日期DatetimeNot nullRno客房编号IntNot nullCtime入住时间IntNot nullCamount费用IntNot null管理员表字段中文解释类型约束备注Ano管理员编号Char(10)Not nullPrimary keyAname管理员姓名Char(10)Not nullAsex管理员性别Char(2)Not nullApassword登录密码Char(20)Not null物品表字段中文解释类型约束备注Rno客房号Char(20)Not nullRitemno物品号IntNot nullPrimary keyRitemstate物品状态Char(10)Not nullRitemname物品名称Char(20)Not null四. 数据库设计4.1 概念模型设计E-R图实体-关系图提供了表示实体、属性和联系的方法。(1) 实体型 用矩形表示矩形框内写明实体名(2) 属性用椭圆型表示并用无向边与其相应实体连接起来(3) 联系用菱形表示菱形框内写明联系名并用无向边与其有关实体连接。本系统采用E-R图的方法进行数据库概念结构设计,系统E-R图如下所示客户实体图客房实体图管理员实体图物品实体图全局E-R图4.2逻辑模型设计将E-R图转换成关系模式客房客房号客房类型客房状态客房单价客户客户编号姓名性别手机号管理员员工号姓名性别密码物品客房号物品名称物品状态入住客房号入住时间退房时间住宿费用4.3数据库实现创建数据库各表4.4导入数据此处数据是自己创建execl填入的数据项不是很多。4.5 视图创建与展示(1)查询客户customers信息的视图定义如下。Create view view_ customers (客户编号,客户姓名,客户性别,客户手机号) As? select? cno,cname,csex,cid From?? customers(2)查询客房rooms信息的视图定义如下。Create view view_rooms (客房号,客房类型,客房价格,客房状态) As? select? rno, rstyle, rprice, rstate From?? rooms(3)查询客户住宿living信息的视图如下。Create view view_living (客户编号,客房号,入住日期,离开日期,入住时间,费用) As? select? cno,rno,ccomedate,cleftdate,ctime,camount From?? living(4)查询客房物品(roomitem)信息的视图定义如下。Create? view? view_roomitem(客房号,客房物品编号,客房物品名称,物品状态) As? select? rno,,ritemno,ritemname,ritemstate From?? roomitem创建索引创建触发器当在客房表中加入一条信息后显示“已占”表示有客户入住当在客房表中删除一条信息后显示“已退”表示客户离开。USE [hotel] GO Trigger [dbo].[roomsstatus_update]?? SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO ALTER trigger [dbo].[roomsstatus_update] on [dbo].[rooms] for update as declare rno varchar(20), istf varchar(20) select istfistf from ccomedate where rnorno; if istf已退 begin update rooms set rstate已占 where rnorno end; if istf已退 begin update rooms set rstate空闲 where rnorno end;创建客户表的触发器当增加或删除一条信息时显示所有此表中信息。存储过程create procedure [dbo].[Query_totalruzhushijian_feiyong] ?????? ccomedate datetime, ?????? cleftdate datetime, ?????? rstyle varchar(10) ?????? as ?????? select sum(datediff(S,addtime,cleftdate)) as ctime,sum(rprice) as 费用合计 from living ?????? where addtime ltrim(ccomedate) and cleftdateltrim(ctime) and rstylerstyle ?????? group by rstyle; --drop procedure Query_totalruzhushijian_feiyong; GO五.利用VBNET语言进行页面设计此处只是利用VBNET语言进行简单的模块搭建并没有实现前端设计。页面展示可以看见能直接对住房人员的需求进行操作1添加新住户2预定房间代码此处代码繁多只截取主代码剩下的都是粘贴这个管理系统的图片此处为链接数据库代码好了今日分享到此结束大家需要源码的话可以后台call我哟也请各位佬指出不足