数据库实例分析---旅馆管理系统(-)

              实例研究:旅馆管理系统

Queen’s Plaza旅馆集团是由位于Manhattan东边的九个独特的旅馆组成的。所有旅馆被设计成适应任何预算—个体的,公司的或散客—而且非常策略地位于New York市的主要文化和商业区附近。.

Country Inn是一家这样的旅馆。它集方便,舒适和24小时客房服务于一体。免费的大陆式早餐令所有访问Country Inn的客人惊奇。这旅馆完全能满足所有消费者的要求 ,无论为生意或娱乐。"我们上周已有幸招待世界上最好的莫斯科马戏团的表演者", 旅馆经理, Chris Bainbridge在该市最好旅馆的电视会谈上这样说。

Country Inn 160个加大尺寸的,备有空调的有二个queen尺寸床的双人高级房,里面配有私密的沐浴设备, 25-英寸立体彩色电缆电视 (包括免费的电影频道),电话,完整的厨房,头发烘干机,带时钟的收音机,以及房内的安全和急救装备。

还有 100个有空调的,一个queen尺寸床的单人客房。他们和豪华房的设备相似。

价格:

n       豪华房间 (双人): $139 (1 + 1 )

n      客房 (单人): $119 (1 + 1 )

Country Inn提供的其他服务:

n       酒吧和餐厅

n       礼品店

n       图书馆

n       往返飞机场运送服务

n       室内咖啡店

n       洗衣房

n       体育馆

n       室外活动

n       配有医生的健康中心

n       商业会议房间

n       游泳池

n       E-mail设备的计算机

n       临时租车服务

对于每种服务,消费者需要支付服务费(价格范围从 $8 $15)。对于每种服务,在服务登记册的有关消费者名字下就有一个输入项。当客人结帐离去时总的服务费连同房费一起打印出来。如果有可用的房间,客人能预定客房。客人还能取消或改变预定计划。取消或调整计划的请求必须在客人入住前24小时提出。

Country Inn在固定时间提供早餐,午餐和晚餐。客人能提出他们在烹调方面的偏好(中餐,泰国菜等等)。他们也可以在旅馆的酒吧和餐厅享用小吃和饮料。酒吧和餐厅的帐单会直接寄给前台接待员,他会计算总数并送给出纳员。

Chris Bainbridge相信他的旅馆业务将带给顾客100%的满意.。同时,他也关心关于旅馆服务的物有所值问题。.

在和Louis Charlotte,帮助他规划旅馆服务计划的顾问, 讨论后,Chris决定实施调查。该调查将帮他了解如何增进消费者满意和服务消费的有效性

根据Louis Charlotte,,为最小化电脑的保存记录,必须保证下列各项:

系统要求

硬件和软件

已经购买了128 MB 内存, 8.6 GB 硬盘的Pentium III服务器以便装载酒店管理系统数据库。数据库预计不超过 4 GB。硬盘已经分为二个驱动器。 C驱有 2 GB其余硬盘空间是 D驱动器。 C驱动器包含 Windows NT服务器操作系统和SQL Server 7.0 D驱动器装载数据库。数据库的初始大小是 2 GB,它可以增加 200 MB D驱动器还将包含事务日志。

数据完整性问题

1.        Room Reservation表存储房间的类型时, 缺省值是豪华房间 (DX)除非明确指出是客房 (GR).

2.        Room表存储出租率时,房间状态的缺省值是空的 (VC)除非明确指定为已占用 (OC).

3.        顾客登记入住的日期和享用服务日期的缺省值为当前日期.

 

4.        当为客人预定房间时,房费,服务费,结帐日期和总费用等都不需要指出。但是所有表的其他属性的详细是需要指定的。.

5.        输入的服务费必须大于 $0, 房费必须大于 $119

6.        .顾客的电话号码的存储格式必须是:(999)999-9999

7.        邮区代码的格式必须是: 99999-9999

8.        一旦顾客享用任何服务该事务必须记入到Transaction,而且应立即更新Reservation表的服务费。

9.        在结帐的那一天 ,必须计算客人的房费并更新。必须计算总费用就是总的服务费和房费。房间的出租状态须更新为空。

10.  如果在Transaction表有错误的输入项,错误事务必须删除,但是在Reservation表上早先作的更新也要相应地去除。.

浏览所需的详细

1.        占用房间数

2.        空余房间数

3.        按升序排列的空房列表

4.        按升序排列的空余豪华房列表

5.        按升序排列的空余客房列表

6.        按字母顺序排列的有效服务列表.

7.        根据顾客名字的部分可查看他的详细。客人所住房间的类型也需要显示。

8.        基于顾客的房号可查看他的详细情况。

9.        给定房间类型的房价.

10.     根据房号,客人在结帐离去时应看到他的总费用。

11.     最后一天应计算总消费。

12.     在特定日期的服务事项列表(有关服务的完整说明 )上应有消费者的名字和房号。计算好的总金额要显示在列表的底部。

13.     直到某一天为止逗留在旅馆的顾客数.

 

.

14.     直到某一天为止来自不同国家的顾客数。

15.     基于房号,客人享用的服务列表。

数据输入和调整

1.        在预约和事务处理前,房间,服务和房间类型等细节必须明确。.

2.        旅馆职员通常只输入数据到Reservation Transaction..

3.        一旦数据输入到Reservation表,结帐日期通常只更新一次。

4.        如果在Transaction表有错误输入,则错误事务可以删除。.

练习

1.        设计逻辑数据库

n       识别实体.

n       ER图表示数据库.

n       ER图导出表和属性.

n       基于系统要求归范化表.

n       如果必需的, 非归范化表以满足系统要求。

n       保证表的名字有意义并符合命名约定。

n       为每个属性确定适当的系统 数据类型并保证属性名有意义且符合命名约定。.

n       描述表上的主关键字,替代关键字,和外关键字.

n       描述表之间的关系。.

2.        根据系统要求创建数据库.

3.        识别出现于多个表的属性,并且创建自定义数据类型.

4.      识别不超过一个表的属性,他们需要符合CHECK DEFAULT约束。

5.        CREATE TABLE语句,创建表。确保用PRIMARY KEY(主关键字), FOREIGN KEY(外关键字), CHECK(检查)和DEFAULT(缺省)约束实施数据完整性。

6.        识别出现在一个以上表的属性,他们需要符合CHECK DEFAULT约束。为这些属性创建规则和缺省代替CHECK DEFAULT约束。由捆绑这些规则和缺省到确定的属性上以实现数据完整性。

7.        基于系统要求创建适当的聚集和非聚集索引。

8.        为必需浏览的输出完成查询。

9.        在表里存储包含系统开始信息的数据。

10.     更新表里的数据。

11.     把下列转化成存储过程:

n       所有为报表而实现的查询

n       必需的数据存储和修改语句

12.     创建触发子实施自定义业务约束

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
宾馆管理系统数据库文件 -- -- Server version 5.0.45-community-nt /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; /*!40101 SET NAMES utf8 */; /*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */; /*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */; /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */; -- -- Create schema neohotel -- -- CREATE DATABASE IF NOT EXISTS neohotel; USE neohotel; -- -- Definition of table `nhbalancement` -- DROP TABLE IF EXISTS `nhbalancement`; CREATE TABLE `nhbalancement` ( `BMID` varchar(32) NOT NULL, `BMCHECKINORDERID` varchar(32) NOT NULL, `BMGUESTID` varchar(32) default NULL, `BMTYPE` varchar(16) NOT NULL, `BMTOTALRATE` decimal(14,2) NOT NULL, `BMPAIDMONEY` decimal(14,2) NOT NULL, `BMRECEIVMONEY` decimal(14,2) NOT NULL, `BMCREATETIME` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP, `BMOPERATOR` varchar(20) NOT NULL, `BMPAYMENTMODEL` varchar(16) NOT NULL, `BMREMARK` varchar(100) default NULL, PRIMARY KEY (`BMID`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- -- Dumping data for table `nhbalancement` -- /*!40000 ALTER TABLE `nhbalancement` DISABLE KEYS */; INSERT INTO `nhbalancement` (`BMID`,`BMCHECKINORDERID`,`BMGUESTID`,`BMTYPE`,`BMTOTALRATE`,`BMPAIDMONEY`,`BMRECEIVMONEY`,`BMCREATETIME`,`BMOPERATOR`,`BMPAYMENTMODEL`,`BMREMARK`) VALUES ('402881e51a448696011a4489783f0003','402881e51a448696011a4489373e0001','402881e51a39c232011a39da4d3e0005','结单','320.00','1000.00','200.00','2008-06-01 22:30:37','admin','现金','remark'), ('402881e51a53efae011a53f874550004','402881e51a53efae011a53f77fc40001','402881e51a39c232011a39da4d3e0005','结单','350.00','0.00','0.00','2008-06-04 22:26:09','admin','现金','fdsafdsa'); /*!40000 ALTER TABLE `nhbalancement` ENABLE KEYS */; -- -- Definition of table `nhbaseinfo` --
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值