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

下载本文档

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

文档简介

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

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

3、统,将成为提高酒店的管理效率, 改善服务水准的重要手段之一。 所以作为 一有效的统计分析手段, 计算机管理系统具有明显的优势, 它在数据保存、 数据 交换等方面均能做到快速可靠,是手工操作所不能完成的。现利用 SQL Server2008 设计一个简单的酒店管理系统的数据库。1、对酒店系统进行系统功能需求分析预订单4 C(入严c*账单日月细卩(34*(消奏信息+C系统流程图2、数据库设计根据系统的功能要求,主要构造以下几个表:1 所示(1) “楼层信息”表:楼层编号、楼层名称。用途是保存楼层编号及名称,如表表1 .“楼层信息”表ZWT-THINKJS店管理数据库-砒Q橹层信息列名数据类型允诈N

4、d值 f楼鳥编号:int楼层名称varchar (SO)團CREATE TABLE dbo.楼层信息(楼层编号int NOT NULL,楼层名称varchar (50) NULL)ON PRIMARYGO(2) “客房类型”表:类型编号、类型名称、价格、拼房价格、可超预订数、是否可以拼房。用途是保存客房类型信息,如表2所示表2.“客房类型”表ZWT-TH1NJC酒店曹璽库-dbo.g房类型 !类型编号越滿 价格 拼房价格 可超预定数 是否可捋房数据类型 varcharvardiar(50)moneymoney dedmaltSjO) bit允许Nul值CREATE TABLE dbo.客房类型

5、(类型编号varchar (5) NOT NULL,类型名称varchar ( 50 ) NULL, 价格mo neyNULL,拼房价格moneyNULL,可超预定数decimal ( 5, 0 ) NULL,是否可拼房bit NULL,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)

6、ON PRIMARYGO(3) “客房信息”表:客房编号、类型编号、楼层编号、额度人数、床数、客房描述、 备注、状态、是否可以拼房。用途是保存酒店所有客房信息,如表3所示表3.“客房信息”表ZWT-THINK.je店管理数据阵dbo兽房信宴_列名數瞰型允许N说值 j客房编号I varchar (50)类型编号varchar (5)楼层编号int额定人数int床数int客房描述varchar (50)状态varchar (5)是否可拼房bitCREATE TABLE dbo.客房信息(客房编号varchar (50) NOT NULL, 类型编号varchar (5) NOT NULL,楼层编号

7、intNOT NULL,额定人数intNULL,床数int NULL,客房描述varchar (50) NULL,状态varchar ( 5) NULL,是否可拼房bit NULL)ON PRIMARYGO(4) “预订单”表:预订单号、会员编号、客房类型、抵店时间等。用途是散客订房间 时使用,如表4所示表4.“预订单”表2WT TH1NIC酒店營理数据库-预订单_列名数据类型允许NUI值预定单号varcharGQ)会员编号1tnt容晦类型varcharf)抵店时间smdldatetifne藍店时闾smalldatetme单据状态varchar入住人数int客馬编号vardiarflO)喜朗介

8、格money入住价格money折扣dedmal 2)是否加床bit加床价椿monev预收隸monev预订人varcharO)联系电话varchar (50)操作员varchar(lO)业务员varchar (50)CREATE TABLE dbo.预订单(预定单号varchar(50)NOT NULL,会员编号intNULL,客房类型varchar(4)NOT NULL,抵店时间smalldatetimeNOT NULL,离店时间smalldatetimeNULL,单据状态varchar(20)NULL,入住人数intNULL,客房编号varchar(10)NULL,客房价格mon eyNUL

9、L,入住价格mon eyNULL,折扣decimal(4,2) NULL,是否加床bitNULL,加床价格moneyNULL,预收款money NULL,预订人varchar ( 20 ) NULL,联系电话varchar (50) NULL,操作员varchar( 10 ) NULL,业务员varchar(50) NULL)ON PRIMARYGO(5) “预订单历史”表:预订单号、会员编号、客房类型、抵店时间、离店时间、单据 状态。用途是将预订单转入到入住单后,将预订单清除并导入到预订单历史。(6) “入住单”表:入住单号、订单编号、会员编号、客房类型、抵店时间等。用途是散客入住酒店时,信

10、息可由预订单转入,如表6所示表6.“入住单”表ZWT-THINK.酒店管理数据库-dboAH单*列名数据奘型允许Null值屉入住单号varchar倾定单号varchar(5O)V|会员漏号讯喜罵类型varchar3WtiismaltdatetmeV离店时间smalldatetinnEy单据状态varchar (50)/|入住人数int喜拧编号varchar (203圜喜居怕格moneyg折柏dedfnal(4p 2)y是否加侏bitv倾收款money/|预订人varchar (50)y联系电话varchar (50)V操作黄varchar M7业劳员varchar (50)/早餐bitV叫醒b

11、it便保瓷bityCREATE TABLE dbo.入住单(入住单号varchar(36)NOT NULL,预定单号varchar(50)NULL,会员编号int NOT NULL,客房类型varchar(5)NULL,抵店时间离店时间单据状态入住人数客房编号客房价格smalldatetime smalldatetime varchar(50)int NULL, varchar(20)mon ey NULL,NULL,NULL,NULL,NULL,折扣decimal是否加床bit预收款money预订人varchar 联系电话varchar操作员varchar业务员varchar(4,2) NU

12、LL,NULL,NULL,(50 ) NULL,(50 ) NULL,(50 ) NULL,(50 ) NULL,早餐bitNULL,叫醒bitNULL,保密bitNULL)ON PRIMARYGO(7) “入住单历史”表:入住单号、订单编号、会员编号、客房类型、抵店时间等。用 途是入住单在收银结账后清除,并导入到入住单历史,如表7所示表7.“入住单历史”表ZWT-THINJC酒店飢.据库dbo.A住单历史数据类型卜j varchar (30)倾定单号varchar pO)会员蝙号int客舅类型varchar(5)抵店时间smalldatetirnE离店时间smalldate time单据状态

13、varchar (50)入住人数ht客房编号varchar (20)嘗房伯榕money.入住单历史(允ft Null值7CREATE TABLE dbo入住单号varchar(30) NULL,预定单号varchar(30) NULL,会员编号int NULL,客房类型varchar(5) NULL,抵店时间smalldatetimeNULL,离店时间smalldatetimeNULL,单据状态varchar(50)NULL,入住人数intNULL,客房编号varchar(20)NULL,客房价格mon eyNULL)ON PRIMARYGO(8) “账单明细”表:账单编号、入住单号、消费内容

14、、消费金额、消费时间、备注。用途是查询客户消费的明细单,如表8所示表8.“账单明细”表ZWT-THINK酒店管理数振阵,bd张单明址列皂数拥类型允许Null值 i账单编号j int入住单号varchar (50)消费內容varchar (50)消贵金额jnoney消费时间smalldatetime备注varchar(UOO)CREATE TABLE dbo.账单明细(账单编号intNOT NULL,入住单号varchar(50)NULL,消费内容varchar(50)NULL,消费金额mon eyNULL,消费时间smalldatetimeNULL,备注varchar (100) NULL)O

15、N PRIMARYGO(9) “账单明细历史”表:账单编号、入住单号、消费内容、消费金额、消费时间、备 注。用途是收银结账后,账单明细导入到账单明细历史,如表9 所示表9.“账单明细历史”表ZWT-THINK.酒店管-亠dbo.账单明堀历史列名数据类型允许Hui值 脈单漏号1 intEl只住单号varchar (50)消费内咨varchar(50E消韻金额moneya消费时间srnalldatetirrienCREATE TABLE dbo.账单明细历史(账单编号int NOT NULL,入住单号varchar(50) NULL,消费内容varchar(50) NULL,消费金额moneyNU

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

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

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

19、其值能唯一标识表中的每一行,这样的一列或列的组合称为表的主键。通过主键可以强制表的实体完整性。定义了主键约束的列具有以下特点:每一个表只能定义一个主键主键值不可空(NULL)主键值不可重复, 若主键是由多列组成, 某列上的值可以重复, 但多列的组合值必须是 唯一的。定义和删除主键的方法:1、使用表设计器操作库-dbo入住单*厂菇手碎言庚器,三匚例如:对入住单号进行主键设置bm入住单号varchar(36予炭单号vardiar(5O3会员漏号皿 喜房类型varchar7抵店时间srnaltddtetinE7离店时间mma 阳 atstime7单i0犬态VBrchar(50j ZWT-THINK

20、店管理列名数据类型九许Null值田二祉6書房类里 +二d bo吾房信息 田 dbd楼屣信息 dboA住单乐H列+ Li釣束+ _j腿发器田一I隶刖 田口镰计信息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默认值约束若表中某列定义了

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

22、定单1”的唯一约束S催规)*1 TTIE索引列唯一區.T円,_:*冃 U CC笔 |0朋販字升序指定卑于此萦引的列腓序顺序;列名雄单号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 )约束用于限制输入到一列或多列的值的范围,从逻辑表达式判断数据 的有效性,也就是说一个字段

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

24、图形+ J ReporiServerti (jj ReportServerTempDBEr J库田口数捋毒芫萦图弓口表S亠J敕表 出H此6客咎型(1国Tbo.客房信息i+1 此.楼皂信息田J掘6入住单dboA单弓史+ _ Tbo.预订单人J Mbd账单阴0iS二Jb6账单国更厉史 一|观圏二同义词 U可编程性+j ,_j Service Eroker 国一i 储输入相应的数据后的入住单:ZWT-TH丽IC酒店管理教据库二dboAtt单77鎳资源苣理當洋窜信息入住单号预定单号会员编号客屠类型柢创寸间斋店时间M021206032012-06-08 00 A.2012-06 1D 0010.0020

25、3120SG4201206-11002012/13004003051109022012A6-1200K.2012-06-14 00:0.*AUZAU2fJLLM4NULL预嘛碗人晦电话业赖早餐咂200.00001526K11UMlMl100.0000王lML50,000013067B909B7王韩MlAW/NHLNHLNHLNHLAW31206500.0000MLMlULL11103300.0000MLML210W200.0000MLNULLAU2MLAUi5、数据库安全管理由于软件和网络存在漏洞,对于酒店管理信息系统我们必须采取有效的安全管理措施。 数据库的安全性是

26、指保护数据库以防止不合法的使用所造成的数据泄漏、更改或破坏。系统安全保护措施是否有效是数据库系统的主要指标之一。数据库的安全性和计算机系统的安全性(包括操作系统、网络系统的安全性)是紧密联系、相互支持的。随着越来越多的网络相互连接,安全性也变得日益重要。公司的资产必须受到保护,尤其是数据库,它们存储着公司的宝贵信息。安全是数据引擎的关键特性之一,保护企业免受各种威胁。SQLServer 2008安全特性的宗旨是使其更加安全,且使数据保护人员能够更方便地使用和理解安全。在SQL Server 2008中,为了保证数据的安全性,需要做到以下几方面工作:1、选择合理的数据库架构;2、对数据库系统进行

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

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

29、8提供了 Windows身份和混合身份两种验证模式,每一种身份验证都有 一个不同类型的登录账户。无论哪种模式,SQL Server 2008都需要对用户的访问进行两个阶段的检验:验证阶段和许可确认阶段。1验证阶段 用户在SQL Server 2008获得对任何数据库的访问权限之前, 必须登录到SQL Server上,并且被认为是合法的。 SQL Server或者 Windows要求对用户进行验证。 如果验 证通过,用户就可以连接到 SQL Server 2008上;否则,服务器将拒绝用户登录2许可确认阶段用户验证通过后会登录到SQL Server 2008上,此时系统将检查用户是否有访问服务器

30、上数据的权限。1. Windows身份验证使用Windows身份验证模式是默认的身份验证模式,它比混合模式要安全得多。当数 据库仅在内部访问时使用Windows身份验证模式可以获得最佳工作效率。在使用Windows身份验证模式时,可以使用Windows域中有效的用户和组账户来进行身份验证。这种模式下,域用户不需要独立的SQL Server用户账户和密码就可以访问数据库。这对于普通用户来说是非常有益的,因为这意味着域用户不需记住多个密码。如果用户更新了自己的域密码,也不必更改SQL Server 2008的密码。但是,在该模式下用户仍然要遵从Windows安全模式的所有规则,并可以用这种模式去锁

31、定账户、审核登录和迫使用户周期性地更改登录密码。当用户通过Windows用户帐户连接时,SQL Server使用操作系统中的 Windows主体标 记验证帐户名和密码。也就是说,用户身份由Windows进行确认。SQL Server不要求提供密码,也不执行身份验证。图2所示,就是本地账户启用 SQL Server Manage-ment Studio窗口是,使用操作系统中 的Windows主体标记进行的连接。 SQL Server 200s R2图2 Windows身份验证模式其中,服务器名称中MR代表当前计算机名称,Administrator是指登录该计算机时使用 的Windows账户名称。

32、这也是 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登录主要用于外部的用户,例如那些可能从In ternet访问数据库的用户。可以配置从In ternet访问SQL Server 2008的应用程序以自动地使用指定的账

温馨提示

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

评论

0/150

提交评论