旅馆管理系统数据库课程设计.docx
《旅馆管理系统数据库课程设计.docx》由会员分享,可在线阅读,更多相关《旅馆管理系统数据库课程设计.docx(18页珍藏版)》请在冰豆网上搜索。
![旅馆管理系统数据库课程设计.docx](https://file1.bdocx.com/fileroot1/2022-11/16/ca27e6a9-d1f5-4754-b7c1-f18d32a01b26/ca27e6a9-d1f5-4754-b7c1-f18d32a01b261.gif)
旅馆管理系统数据库课程设计
数据库原理课程设计说明书
宾馆客房管理系统
院、部:
计算机与信息科学学院
学生姓名:
专业:
网络工程
班级:
1301
完成时间:
2015-12
目录
1系统需求分析2
1.1设计前调查2
1.2用户需求分析2
1.3系统流程图3
2数据库的概念结构设计4
2.1概念结构4
2.2宾馆客房管理系统概念结构设计4
3数据库的逻辑结构设计5
3.1逻辑结构5
3.2关系模型5
4数据库的物理结构设计6
4.1表结构设计6
5系统的设计与实现8
5.1数据库的实施8
5.2数据库的连接10
5.3登录界面设计11
5.4主界面设计11
5.5宾馆管理系统界面设计12
6课程设计总结15
参考文献16
附录1数据库原理课程设计任务书17
附录2数据库原理课程设计成绩评定表18
1系统需求分析
1.1设计前调查
近年来,宾馆业迅猛发展,市场的竞争日趋激烈,全面提高宾馆的软件管理水准,已成为宾馆业发展的当务之急。
尤其是对于星级宾馆,既需要完成前台的一些服务工作,还需要完成后台的管理工作。
然而,传统的人工管理模式已经远远不能满足有效、快捷地处理经营中产生的大量信息数据的需要,从而使得企业决策层无法及时、准确地掌握一线资料,继而影响对市场进行正确地分析和预测。
像沿海城市三星级以上宾馆引进外方管理,使小部分宾馆管理水准几乎接近或达到国际水平。
但对占80%以上的广大中小型宾馆来说,是难以做到的。
因此,欲在竞争中甩开对手,取得优势,必须在经营、管理、产品、服务等方面具备独到之处。
而对宾馆的经营状况起决定作用的是客房的管理。
简单的服务标准已不是制胜的锦囊,只有管理做到最细微之处,才能让顾客体会到宾馆服务的高标准、高质量,而准确、快速、周全往往就是最基本的成功要素。
传统的管理方法已经不能适应现代社会的需要,因此采用电脑管理业务、财务等诸多环节已成为推动宾馆业迅速发展的先决条件,宾馆客房管理信息系统是各大中小型宾馆所需要使用的一个管理系统。
1.2用户需求分析
建立一套功能完善的管理信息系统,既能满足业务人员日常处理的需要,增强企业经营全过程的数字化管理水平;又能满足管理人员决策分析的需要,提高公司管理层对公司经营反馈信息的响应速度。
从而大幅度提高工作效率,提高实施管理的准确性、科学性,使担负管理的工作人员从繁杂的手工劳作中解脱出来。
因而程序需要实现的功能有如下主要六大功能:
(1)具有方便的登记、结帐功能,以及预订客房的功能。
能够支持团体登记和团体结帐。
(2)能快速、准确地了解宾馆内的客房状态,以便管理者决策。
(3)提供多种手段查询客人的信息。
(4)具备一定的维护手段。
具备有一定权利的操作员在密码的支持下才可更改房价、房间类型和增减客房。
(5)具有查看房间历史的功能,能够了解到每个房间的历史居住状态,可以合理的分配每个类型的房间数目。
1.3系统流程图
系统流程图如图1所示:
图1系统流程图
2数据库的概念结构设计
2.1概念结构
在需求分析阶段所得到的应用需求应该首先抽象为信息世界的结构,才能更好地、更准确地用某一DBMS实现这些需求。
概念结构主要特点:
(1)能真是、充分地反映显示世界,包括事物和事物之间的联系,能满足用户对数据的处理要求,是对现实世界的一个只是模型;
(2)易于理解,从而可以用它和不熟悉计算机的用户交换意见,用户的积极参与是数据库设计成功的关键。
(3)易于更改,当应用环境和应用要求改变时,容易对概念模型修改和扩充;
(4)易于向关系、网状、层次等各种数据模型转换;
概念结构时各种数据模型的共同基础,它比数据模型更独立于机器、更抽象,从而更加稳定。
2.2宾馆客房管理系统概念结构设计
现在对所设计系统的需求作进一步的分析,产生概念结构设计的E-R模型,如图2所示。
(1)总体E-R图如图2所示
客户
房间
m
n
住宿
m
m
n
记录
管理
n
1
住房管理
历史信息
图2总体E-R图
3数据库的逻辑结构设计
3.1逻辑结构
概念结构设计所得的E-R模型是对用户需求的一种抽象的表达形式,它独立于任何一种具体的数据模型,因而也不能为任何一个具体的DBMS所支持。
为了能够建立起最终的物理系统,还需要将概念结构进一步转化为某一DBMS所支持的数据模型,然后根据逻辑设计的准则、数据的语义约束、规范化理论等对数据模型进行适当的调整和优化,形成合理的全局逻辑结构,设计出用户子模式这就是数据库逻辑设计所并要完成的任务。
3.2关系模型
将图2的概念结构设计的E-R模型转换为关系模型,如下所示:
将图2总体概念结构E-R图转化成关系模型。
(主键用下划线标出)
参考相关数据表结构:
房间信息表(房间号码,房间类型,房间价格,押金,房间状态)
住房管理表(客人姓名、证件号码、房号、入住时期、入住天数,结账离开日期、押金、付金额)
客人信息表(姓名、性别、证件类型、证件号码、联系电话)
历史信息表(房间号,开始住宿日期,住宿天数,离开日期)
4数据库的物理结构设计
4.1表结构设计
根据总体结构图基本表结构,其相应标的定义如下:
表1RoomInfo
字段名代码类型约束
房间号码roomNumvarchar(8)主键
房间类型roomTypevarchar(12)非空
房间价格roomPriceint非空
房间押金cashPledgeint
房间状态statevarchar(8)非空
表2
cusInfo
字段名代码类型约束
客人姓名cusNamevarchar(20)非空
客人性别cusSexvarchar(4)非空
证件类型certTypevarchar(10)非空
证件号码certIDvarchar(20)主键
联系电话statevarchar(8)非空
表3
ManaRoom
字段名代码类型约束
客人姓名cusNamevarchar(20)非空
证件号码certIDvarchar(20)外键
房间号码roomNumvarchar(8)外键
入住时期strDatevarchar(50)
入住天数daysint
离开时期endDatevarchar(50)
已付押金cashPledgeint
应付金额payMoneyin
t
表4
History
字段名代码类型约束
房间号码roomNamevarchar(8)主键,外键
入住日期strDatevarchar(50)主键,外键
入住天数daysint非空
离开日期endDatevarchar(50)非空
5系统的设计与实现
5.1数据库的实施
开启sql服务,打开PL/SQLDeveloper,并登陆。
建立数据脚本,并在运行脚本。
数据脚本如下:
createdatabasehotelMana
usehotelMana
房间信息:
房号、房类型、价格、押金、房状态
createtableroomInfo(
roomNumvarchar(8)primarykey,
roomTypevarchar(12)notnull,
roomPriceintnotnull,
cashPledgeint,
statevarchar(8)notnull,
)
insertintoroomInfovalues('A801','单人间',60,null,'空');
insertintoroomInfovalues('A802','单人间',60,null,'空');
insertintoroomInfovalues('A803','单人间',60,null,'空');
insertintoroomInfovalues('A804','单人间',60,null,'空');
insertintoroomInfovalues('A805','单人间',60,null,'空');
insertintoroomInfovalues('A810','双人间',100,null,'空');
insertintoroomInfovalues('A811','双人间',100,null,'空');
insertintoroomInfovalues('A812','双人间',100,null,'空');
insertintoroomInfovalues('A813','双人间',100,null,'空');
insertintoroomInfovalues('A821','套房',200,null,'空');
insertintoroomInfovalues('A822','套房',200,null,'空');
insertintoroomInfovalues('A823','套房',200,null,'空');
droptableroomInfo--如表有误,删除此表
客人信息:
姓名、性别、证件类型、证件号码、联系电话
createtablecusInfo(
cusNamevarchar(20)notnull,
cusSexvarchar(4)notnull,--cusSexvarchar
(2)check(cusSexin('男','女')),
certTypevarchar(10)notnull,
certIDvarchar(20)primarykey,
telvarchar(12)notnull,
)
select*fromcusInfo
deletefromcusInfowherecusName='王五'
droptablecusInfo--如表有误,删除此表
住店管理:
客人姓名、证件号码、房号、入住时期、入住天数,结账离开日期、押金、应付金额
createtableManaRoom(
roomNumvarchar(8),
cusNamevarchar(20)notnull,
certIDvarchar(20),
strDatevarchar(50),
daysint,
endDatevarchar(50),
cashPledgeint,
payMoneyint,
foreignkey(certID)referencescusInfo(certID),
foreignkey(roomNum)referencesroomInfo(roomNum)
)
insertintoManaRoomvalues('A810','张三','1233001','2015-12-26',3,'2015-12-28',100,900);
droptableManaRoom--如表有误,删除此表
select*fromManaRoom
历史信息:
房间号,开始住宿日