SQL数据库作业--酒店管理_第1页
SQL数据库作业--酒店管理_第2页
SQL数据库作业--酒店管理_第3页
SQL数据库作业--酒店管理_第4页
SQL数据库作业--酒店管理_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

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

文档简介

1、目酒店管理系统的数据库设计班 级 09机械(3班)姓 名学 号教 师i酒店管理系统的数据库设计酒店业是一个前景广阔而又竞争激烈的行业。 改革开放以来, 我国的酒店业迅速发展, 已经成为一个具有相当规模的产业。 由于我国的旅游业迅速发展, 通过调查,我国在2020 年将成为世界上第四大旅游国家;同时我国加入世界贸易组织, 酒店业将完全开放, 这个时候, 我国的酒店业将面临着前所未有的机遇和挑战。 酒店行业的激烈竞争使得争取客源、 提高酒店满员率、 指定正确的销售策略已经成为一项重要的任务, 而借助于当前蓬勃发展的 IT 工具来拓展销售能力,创造客观的经济效益已经成为许多酒店的首选。因为酒店业务涉

2、及的各个工作环节已经不再仅仅是传统的住宿、结算业务,而是更广更全面的服务性行业代表。 酒店作为一个服务性行业, 从客房的营销即客人的预计开始, 从入住登记直到最后退房结账, 整个过程应该能够以宾客为中心, 提供快捷方便的服务, 给宾客一种顾客至上的享受, 只有提高酒店的管理水平, 简单化各种复杂的操作, 在最合理的最短的时间内完成酒店业务的规范操作,这样才能令旅客舒适难忘, 面对酒店业内激烈的竞争形势, 各酒店均在努力拓展服务领域的广度和深度。 虽然信息化并不是酒店走向成功的关键元素, 但它可以帮助那些真正影响成败的要素发挥更大的效用。 因此采用全新的计算机网络和管理系统, 将成为提高酒店的管

3、理效率, 改善服务水准的重要手段之一。 所以作为一有效的统计分析手段, 计算机管理系统具有明显的优势, 它在数据保存、 数据交换等方面均能做到快速可靠,是手工操作所不能完成的。现利用 SQLServer2008 设计一个简单的酒店管理系统的数据库。191、对酒店系统进行系统功能需求分析酒店管理系统工基础设愕f业务管理房 态 管 理口太 心I客房类型设置订 管 理,入 住 管理卜,房管理客户信息设置消费记账-(预订单+ C(久史c(账单手细/C *式二消雷信息+ C偌态信息系统流程图2、数据库设计根据系统的功能要求,主要构造以下几个表:(1) “楼层信息”表:楼层编号、楼层名称。用途是保存楼层编

4、号及名称,如表 1所示 表i . “楼层信息”表ZWT THINIC酒店管理数据库-dbd祥层信良列名数据类型允许NUI值橄官端,| >nt!, I i I « ra I is 1 Bi e I I lit iw I ra 1 ,e I I is m n ra 1 l/楼层名秫varchar(SO)CREATE TABLE dbo.楼层信息( 楼层编号int NOT NULL, 楼层名称varchar (50) NULL )ON PRIMARYGO(2) “客房类型”表:类型编号、类型名称、价格、拼房价格、可超预订数、是否可以拼房。用途是保存客房类型信息,如表 2所示表2.“客

5、房类型”表NWFTHINIC酒店若理空列名库- dbo.客房类型数据类型 允许Null值I -;archar(5)姬锵价格持房价格 可超颈定敷 是否可揖房varchar f50)moneymoneydecimal. 0) bitCREATE TABLE dbo.客房类型( 类型编号varchar (5) NOT NULL, 类型名称varchar ( 50 ) NULL, 价格money NULL, 拼房价格money NULL, 可超预定数decimal ( 5, 0 ) NULL,是否可拼房bit NULL, CONSTRAINT PK_ 客房类型PRIMARY KEY CLUSTERED

6、(类型编号ASC)WITH ( PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON PRIMARY)ON PRIMARYGO(3) “客房信息”表:客房编号、类型编号、楼层编号、额度人数、床数、客房描述、备注、状态、是否可以拼房。用途是保存酒店所有客房信息,如表 3所示 表3. “客房信息”表斯彳H1NIC酒店管理数据库. 6b口客房信皂列名数据类型允许Null值 j 客房编号i vardiar(50)类型编号小两

7、''I楼层编号'nt1额定人数jnt71床数int7客房描述varchar(50)7状态varchar(S)7|是否可拼房bitV|CREATE TABLE dbo.客房彳t息(客房编号varchar (50) NOT NULL,类型编号varchar (5) NOT NULL,楼层编号intNOT NULL,额定人数intNULL,床数int NULL,客房描述varchar (50) NULL,状态varchar (5) NULL,是否可拼房bit NULL)ON PRIMARYGO(4) “预订单”表:预订单号、会员编号、客房类型、抵店时间等。用途是散客订房间 时

8、使用,如表4所示昼库-dbo.预单表4.“预订单”表预定单号varcharGQ)会员蝙号1tnt客房类型varcharf)抵店时间smdldatetifne离店时间smalldatetme单据状态v 日char 00)入住人数int客房墉号vardiarflO)告房价格money入住价格money折扣dedmal 2)是否加床bit加床价格monev预收款monev颈订人varchar&O)联系电话vardnar(5Ci)操作员varchar(10)北务员varchar(50)2WT TH1NIC酒店笆列名数据类型允许河w值CREATE TABLE dbo.预订单(预定单号varcha

9、r(50)NOT NULL,会员编号intNULL,客房类型varchar(4)NOT NULL,抵店时间smalldatetimeNOT NULL,离店时间smalldatetimeNULL,单据状态varchar(20)NULL,入住人数intNULL,客房编号varchar(10)NULL,客房价格moneyNULL,入住价格moneyNULL,折扣decimal(4, 2 )NULL,是否加床bitNULL,加床价格moneyNULL,预收款moneyNULL,预订人varchar(20) 1NULL,联系电话varchar (50) NULL,操作员varchar (10) NULL

10、, 业务员varchar (50) NULL )ON PRIMARYGO(5) “预订单历史”表:预订单号、会员编号、客房类型、抵店时间、离店时间、单据 状态。用途是将预订单转入到入住单后,将预订单清除并导入到预订单历史。(6) “入住单”表:入住单号、订单编号、会员编号、客房类型、抵店时间等。用途是散客入住酒店时,信息可由预订单转入,如表6所示表6.“入住单”表ZWT-THINK酒店管理数据库-dbd入住单*列名数据类型允许值网入住单号varchar (36)颖定单号varchar pfl)会员编号int,客房类缴vardiar(5)Iff!抵店时间smalldatetme离店时间small

11、datEtme单据状态varchar (50)入住人数int客房编号varchar (205窗房伽格money析扪deafnal(4r 2)是否加床bitI独收藤money班订入varchar (50)联系电话varchar (505操作员varchar M11务员varchar (50)早餐bit1叫醒bit'保密bit;CREATE TABLE dbo.入住单(入住单号varchar(36) NOT NULL,预定单号varchar(50 ) NULL,会员编号intNOT NULL,客房类型varchar(5) NULL,抵店时间smalldatetimeNULL,离店时间sma

12、lldatetimeNULL,单据/态varchar(50) NULL,入住人数int NULL,客房编号varchar(20) NULL,客房彳格money NULL,(4,2) NULL,NULL,NULL,(50 ) NULL,(50 ) NULL,(50 ) NULL,(50 ) NULL,NULL, NULL, NULL折扣decimal 是否加床bit 预收款money 预订人varchar 联系电话varchar 操作员varchar 业务员varchar 早餐bit 叫醒bit 保密bit)ON PRIMARYGO(7) “入住单历史”表:入住单号、订单编号、会员编号、客房类型

13、、抵店时间等。用途是入住单在收银结账后清除,并导入到入住单历史,如表 7所示表7.“入住单历史”表NWT-THINIC酒店管因库dba入住单历史列名数据类型允许Null值ILIUI-ILII JIEI14 131 LII4IGII.il J IL II JIBIl.ll i入住单号 Lil II11;1 -11 1 1 a 1 L11&:varchar (30)预定单号varchar pO)ffl会员编题int客房类型varchar(5)gj抵店时间smalldatetirnE离店时间smalldate time单据状态varchar (50)团入住人数htffl客房编覆varchar

14、 (20)阴客房价格money团 oCREATE TABLE dbo.入住单历史( 入住单号varchar(30) NULL,预定单号varchar(30) NULL,会员编号int NULL, 客房类型varchar(5) NULL,抵店时间smalldatetimeNULL,离店时间smalldatetimeNULL,单据状态 入住人数 客房编号 客房价格 varchar intvarchar money(50)NULL,(20)NULLNULL,NULL,)ON PRIMARYGO(8) “账单明细”表:账单编号、用途是查询客户消费的明细单,如表入住单号、消费内容、消费金额、消费时间、备

15、注。8所示表8. “账单明细”表允许Null值ZWT-THINK.酒店管建数据库-dbd冰单明知>!赚单编号j int入住单耳varchar (50)消贵内容varchar (50)_消费金额money消贵时间smalldatetime备注varchar (100)列台数据类型CREATE TABLE dbo.账单明细(账单编号intNOT NULL,入住单号varchar(50 ) NULL,消费内容varchar(50 ) NULL,消费金额消费时间money NULL,smalldatetimeNULL,备注varchar (100) NULL )ON PRIMARYGO(9) “

16、账单明细历史”表:账单编号、入住单号、消费内容、消费金额、消费时间、备注。用途是收银结账后,账单明细导入到账单明细历史,如表9所示表9.“账单明细历史”表ZWT THINIC酒店管一 dbo.账单明细历史列名数据类型允许Nul值;账单编号.时又存革器varchar(50)0.消费内容varchar(50)7消费金额money|7消费时间smalHatebme/CREATE TABLE dbo.账单明细历史(账单编号int NOT NULL,入住单号varchar(50) NULL,消费内容varchar(50) NULL,消费金额money NULL,消费时间smalldatetimeNULL

17、)ON PRIMARYGO以上8个表可以简略地描述出酒店管理信息系统数据库的设计。表中出现的数据类型含义如下:int是一种存储整型数据的数值型数据类型,存储范围在-2人63至2A63之间,占用4个字节的储存空间。bit是用于存储0和1值的数据类型,该类型白数据列只能存储0或1中的一个,适合用于存储需要标识“是”或“否”两种状态的数据。money 是用于储存范围在(-922337203685477.5808 ) ( 922337203685477.5808 ) 之间的币值数据,精度为币值单位的万分之一, 占用8个字节的存储空间。但是该数据类型 中存储的数据并不包括货币符号。smalldatati

18、me 与datatime类似,但数值范围小,其范围为1900年1月1日至2079年6月6日,占用的存储空间为 4字节。varchar (n)是一种比char更加灵活的数据类型,同样用于表示字符数据,但是varchar 可以保存可变长度的字符串。其中n代表该数据类型所允许保存的字符串的最大长度,只要长度小于该最大值的字符串都可以被保存在该数据类型中。因此,对于那些难以估计确切长度的数据对象来说,使用varchar数据类型更加明智。3、分析数据完整性在SQL中,数据完整性有以下几种1)域完整性:又称列完整性,指定列的数据输入是否具有正确的数据类型、格式以及 有效的数据范围2)实体完整性:又称行完整

19、性。这里的实体是指表中的记录,一个实体就是表的一条记录。实体完整性要求在表中不能存在完全相同的记录,而且每条记录都要有一个非空且不重复的主键。实体的完整性可通过建立主键约束、唯一约束、标识列、唯一索引等措施来实现。3)参照完整性:又称为引用完整性(关系完整性),以保证主表中的数据与从表中的数 据的一致性,关系完整性是通过定义外键与主键之间或外键与唯一键之间的对应关系实现 的。约束包括以下几种类型:PROMARY KEY 约束FOREIGN KEY 约束NOT NULL 约束UNIQUE约束DEFAULT 约束CHECK约束主键约束表中常有一列或列的组合,其值能唯一标识表中的每一行,这样的一列或

20、列的组合称为表的主键。通过主键可以强制表的实体完整性。定义了主键约束的列具有以下特点:每一个表只能定义一个主键主键值不可空(NULL )主键值不可重复, 若主键是由多列组成, 某列上的值可以重复, 但多列的组合值必须是 唯一的。定义和删除主键的方法:1、使用表设计器操作例如:对入住单号进行主键设置ZWT-THINK酒店詈攫列名网入住单号一下殡单号会员编招客房类型抵店时间离店时间单据状态库-db口入住单.匚韭三等兰亶嘉A数据类型允许Null值varchar varcharM intv ar char (5) smalHatebme small date time vardiar(0);+ _i田

21、口dbd客房芟型 ,+ .口 dbd客房信息 S 口 dbd楼屋信息 dbo.入住单S LB列J _j健 ,+; Li约束+田一素引田口统计信息2、使用T-SQL语句定义主键约束CONSTRAINT PK_ 入住单PRIMARY KEY CLUSTERED (入住单号ASC)WITH ( PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF,ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON PRIMARY )ON PRIMARY默认值约束若表中某列定义了默认(DEFA

22、ULT )约束,如果用户在输入数据时,没有为该列指定 数据,那么系统将默认值赋给该列,默认值约束保证了域完整性。唯一约束如果要确保一个表中的非主键列不输入重复值,应在该列上定义唯一约束(UNIQUE约束)。使用唯一约束和主键约束均不允许表中对应字段存在重复值,二者可以实现实体完 整性,但它们之间以下区别:一个表只能定义一个主键约束,但可根据需要对不同的列定义若干个唯一约束主键约束字段的值不允许为NULL ,而唯一约束字段的值可为NULL一般定义主键约束时, 系统会自动建立索引,索引的默认类型为聚族索引;定义唯一约束时,系统会自动建立一个非聚族索引。例如:对“预订单”创建一个名称为“预定单1”的

23、唯一约束正己行理有主/唯一驷睦弓的.国性.S津搦-I * TTIE索引列指应用于此索引的列利排序顺序©:列名般单号开存CONSTRAINT 预订单 1 UNIQUE NONCLUSTERED(预定单号ASC)WITH ( PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF,ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON PRIMARY检查约束检查(CHECK)约束用于限制输入到一列或多列的值的范围,从逻辑表达式判断数据 的有效性,也就是说一个字段的输入内

24、容必须满足CHECK约束约束的条件,否则,数据无法正常输入,从而保证数据的域的完整性例如:对“入住单”创建检查约束外键约束一个数据库中可能包含多个表,可以通过外键(FOREIGN KEY )使这些表关联起来,外键是由表中一列或多列组成的。例如在A表中有一个字段的取值只能是B表中某字段的取值之一,则在 A表该字段上创建外键约束,A表称为从表,B表称为主表。定义外键约束的列有以下特点:外键的取值可以为空(NULL )外键的取值可以重复,但必须是它所引用列(主表中)的取值之一。引用列必须是定义 了主键约束或唯一约束的列。表刃刻住学历史入住单外逮表:入住单历史4、数据表图形+ J ReportServ

25、erti 口 ReportServerTempDBB J酒店管理数据库田口数据库关衰图日L表S 2j崇婉表囹口此。.睿忠类型田国dbo.客房信息国3 dba楼层信息+J J dba入住单db,人,主单反史+,dbd预订单士. J dbo.i|r.¥0国ndba账单阴明历史.± 一现图i同义调i± U可编程性+j ,_j Service Eroker用LJ超话 输入相应的数据后的入住单:ZWT-THIN1C酒店管理数据库-曲。.入住单连象资源管弱型纪信息入住单号预定单号SB02002030030B米AUZAU2会员编号客房类型抵面拥离店时间1206032012-06

26、-08 00 A.2012-06 1D 00 S).120SG4201206-1100M12-06-13 00:0,1109022012A6-1200K1.2012-06-14 00:0.fJLLNHLNUHNLAL预蟋200.0000100.000050,0000碗耐人繇蛹接作员业务员嘴撷1526K11U期皿皿王笑R皿皿据13067B909B7坪球皿皿MLNHLHitNHL单据状卷 入住人塾 客房编号 客房价粒折扣 是劭哩31206500.0000MLMlULL11103300.0000MLML心L21D06200.0000MLMLNULLAtUMLAUi5、数据库

27、安全管理由于软件和网络存在漏洞,对于酒店管理信息系统我们必须采取有效的安全管理措施。数据库的安全性是指保护数据库以防止不合法的使用所造成的数据泄漏、更改或破坏。系统安全保护措施是否有效是数据库系统的主要指标之一。数据库的安全性和计算机系统的安全性(包括操作系统、网络系统的安全性)是紧密联系、相互支持的。随着越来越多的网络相互连接,安全性也变得日益重要。公司的资产必须受到保护,尤其是数据库,它们存储着公司的宝贵信息。安全是数据引擎的关键特性之一,保护企业免受各种威胁。SQLServer 2008安全特性的宗旨是使其更加安全,且使数据保护人员能够更方便地使用和理解安全。在SQL Server 20

28、08中,为了保证数据的安全性,需要做到以下几方面工作:1、选择合理的数据库架构;2、对数据库系统进行合理的配置和权限设置;3、经常对数据库中的数据进行及时备份与恢复;对于数据库管理来说,保护数据不受内部和外部侵害是一项重要的工作。SQL Server2008的身份验证、授权和验证机制可以保护数据免受未经授权的泄漏和篡改。SQL Server的安全机制一般主要包括三个等级:1服务器级别的安全机制这个级别的安全性主要通过登录帐户进行控制,要想访问一个数据库服务器,必须拥有一个登录帐户。登录帐户可以是Windows账户或组,也可以是 SQL Server的登录账户。登录账户可以属于相应的服务器角色。

29、至于角色,可以理解为权限的组合。2数据库级别的安全机制这个级别的安全性主要通过用户帐户进行控制,要想访问一个数据库, 必须拥有该数据库的一个用户账户身份。用户账户是通过登录账户进行映射的,可以属于固定的数据库角色或自定义数据库角色。3数据对象级别的安全机制这个级别的安全性通过设置数据对象的访问权限进行控制。如果是使用图形界面管理工具,可以在表上右击,选择【属性】 以上的每个等级就好像一道门, 以通过这道门达到下一个安全等级。|【权限】选项,然后启用相应的权限复选框即可。如果门没有上锁,或者用户拥有开门的钥匙,则用户可如果通过了所有的门,则用户就可以实现对数据的访问。访问数据库对象许可权用户操作

30、系统 安全性客户机数据库SQL Server 2008 登录SQL Server 2008 服务器这种关系可以用图1来表示。图1 SQL Server 2008的安全性等级SQL Server 2008提供了 Windows身份和混合身份两种验证模式,每一种身份验证都有 一个不同类型的登录账户。无论哪种模式,SQL Server 2008都需要对用户的访问进行两个阶段的检验:验证阶段和许可确认阶段。1验证阶段 用户在SQL Server 2008获得对任何数据库的访问权限之前, 必须登录到SQL Server上,并且被认为是合法的。 SQL Server或者 Windows要求对用户进行验证。

31、 如果验 证通过,用户就可以连接到 SQL Server 2008上;否则,服务器将拒绝用户登录2许可确认阶段用户验证通过后会登录到SQL Server 2008上,此时系统将检查用户是否有访问服务器上数据的权限。1. Windows身份验证使用Windows身份验证模式是默认的身份验证模式,它比混合模式要安全得多。当数据库仅在内部访问时使用Windows身份验证模式可以获得最彳i工作效率。在使用 Windows身份验证模式时,可以使用Windows域中有效的用户和组账户来进行身份验证。这种模式下,域用户不需要独立的 SQL Server用户账户和密码就可以访问数据库。这对于普通用户来说是非常

32、有益的,因为这意味着域用户不需记住多个密码。如果用户更新了自己的域密码,也不必更改SQL Server 2008的密码。但是,在该模式下用户仍然要遵从Windows安全模式的所有规则,并可以用这种模式去锁定账户、审核登录和迫使用户周期性地更改登录密码。当用户通过Windows用户帐户连接时,SQL Server使用操作系统中的 Windows主体标 记验证帐户名和密码。也就是说,用户身份由Windows进行确认。SQL Server不要求提供密码,也不执行身份验证。图2所示,就是本地账户启用 SQL Server Manage-ment Studio窗口是,使用操作系统中 的Windows主体

33、标记进行的连接。图2 Windows身份验证模式其中,服务器名称中MR代表当前计算机名称,Administrator是指登录该计算机时使用 的Windows账户名称。这也是 SQL Server默认的身份验证模式,并且比 SQL Server身份验 证更为安全。Windows身份验证使用 Kerberos安全协议,提供有关强密码复杂性验证的密 码策略强制,还提供帐户锁定支持,并且支持密码过期。通过 Windows身份验证完成的连 接有时也称为可信连接,这是因为SQL Server信任由 Windows提供的凭据。Windows省份验证模式有以下主要优点:1)数据库管理员的工作可以集中在管理数据库上面,而不是管理用户账户。对用户账 户的管理可以交给 Windows去完成。2) Windows有更强的用户账户管理工具。可以设置账户锁定、密码期限等。如果不通 过定制来扩展 SQL Server, SQL Server则不具备这些功能。3) Windows的组策略支持多个用户同时被授权访问SQL Server。2.混合模式使用混合安全的身份验证模式,可以同时使用 Windows身份验证和SQL Server登录。 SQL Server登录主要用于外部的用户,例如那些可能从Internet访问数据库的用户。可

温馨提示

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

评论

0/150

提交评论