数据库系统原理_C2B酒店预订平台管理系统_第1页
数据库系统原理_C2B酒店预订平台管理系统_第2页
数据库系统原理_C2B酒店预订平台管理系统_第3页
数据库系统原理_C2B酒店预订平台管理系统_第4页
数据库系统原理_C2B酒店预订平台管理系统_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

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

文档简介

1、目 录1 需求分析11.1 背景说明11.2 系统目标与系统边界21.3 功能需求分析21.3.1 系统的功能及数据需求描述21.3.2 系统总体功能图41.3.3 主要业务流程描述41.4 数据需求及业务规则分析51.4.1 数据字典及业务规则描述51.4.2 数据约束描述62 概念设计72.1 确定实体集及属性72.1.1 实体集分析72.1.2 实体集属性数据字典72.2 确定联系集及属性102.2.1 联系集分析102.2.2 联系集属性数据字典112.3 概念模型(E-R图)112.4 检查是否满足需求122.5 改进的E-R图及数据字典123 逻辑设计123.1 关系设计123.2

2、 约束的说明154 数据库应用设计164.1 数据库脚本164.2 数据库完整性设计204.3 存储过程设计23I1 需求分析1.1 背景说明在新世纪新阶段,党中央、国务院把扩大内需、促进消费确立为促进国民经济发展的长期战略方针和基本立足点。旅游业是第三产业的重要组成部分,是世界上发展最快的新兴产业之一,被誉为“朝阳产业”。国务院关于加快发展服务业的若干意见提出,要围绕小康社会建设目标和消费结构转型升级的要求,大力发展旅游、文化、体育和休闲娱乐等面向民生的服务业。随着我国全面建设小康社会不断推进,中国旅游业面临重大发展机遇:中国经济持续快速增长,必将对旅游需求增长发挥基础性的支撑作用;城乡居民

3、收入将稳定增长,到2020年人均GDP将达3500美元左右甚至更多,这将进入世界旅游界公认的旅游业爆发性增长阶段;国家扩大内需的经济发展方略和加快推动服务业的发展,将为旅游业进一步发展创造新的机遇;中国对外开放的进一步扩大,将为我国旅游业在国际市场和世界舞台更好地发挥作用,创造更为有利的条件;中国政通人和,社会安定,将成为世界上最安全的旅游目的地之一;随着对现行休假制度的完善和带薪休假制度的落实,将形成巨大的国内旅游消费市场。尽管当前面临百年不遇的国际金融危机,但我们经济社会发展的战略机遇没有发生逆转,我国旅游业发展仍属于上升期。基于以上分析,中国旅游业将进入一个新的发展阶段。在旅游业大力发展

4、的同时,需要电子商务,特别是酒店预订、票务系统这类的配套系统的支持。伴随着市场经济的迅猛发展和互联网技术的高速进步,电子商务(指通过电子手段进行的商业事务活动)在市场上已经表现的非常成熟,像Amazon,eBay,Kayak,淘宝,携程网等等,几乎成为人们生活的一部分。现在普遍的电子商务模式主要有B2B,B2C,C2C,B2B2C,O2O,C2B等等。这么多类型相同或者相似的电商企业都希望获得更多的客户,更高的交易额,这直接催生了电商的价格战,“双十一”淘宝天猫的交易额更是达到了191亿元。今年暑假京东、苏宁和国美的价格战,不仅让行业秩序紊乱,而且还涉及欺诈消费者的行为。如何既能让消费者获利,

5、又不侵犯商家的利益呢?“射人先射马,擒贼先擒王”,解决问题要抓住关键。也许价格并不是“红海”中生存的关键因素,再轰轰烈烈也是治标不治本,关键问题还是在模式。就拿目前国内在线旅游行业来说,几乎所有的电商都采取B2C模式。而在这种模式下,消费者和供应商的利益都很难得到保护。于是有人站出来,主张建立一个公平的游戏规则,那就是以用户为主导的C2B模式。这种模式不仅能改变消费者在长期消费行为中的弱势地位,同时还能保护商家的基本利益,促成双赢的局面。结合以上考虑,我们建立一个基于C2B模式的酒店预订平台系统。在现有的预订酒店模式B2C,是由酒店事先将其详细信息存储在系统数据库中,供旅客进行查询(其中包括它

6、每种房型的价格),在让旅客根据网上提供的信息选择入住的宾馆。其过程是由酒店定价,在价格上占主导权。而C2B是先由旅客根据自己的真实情况选择对宾馆的要求(包括地点、房型、房间数量以及入住和离开的时间),然后出价。宾馆根据旅客所选择的信息和出价进行竞拍,最后由旅客选择宾馆。其价格主导权在旅客。C2B模式为旅客住宿提供了更多的经济效用。值得说明的是,C2B系统更适合于旅游淡季时酒店预订,因为在这个时候,酒店维护日常运营需要相当一比成本,此时,若有客户愿意入住,只要不低于房间平均成本,对于酒店来说都是一件值得去做的事情。1.2 系统目标与系统边界系统目标是构建一个平台供客户选择酒店,改变现在的B2C模

7、式中,客户处于弱势的地位,让客户的权利得到维护和保障,同时也给酒店带来利润。系统亮点是C2B电子商务平台下的用于预定酒店,酒店满足客户的个性化需求。即客户出价,相关酒店选择性作出回应,达成协议预定成功,后续可生成订单,订单内容可根据客户与酒店的进一步协商内容进行确定。根据系统规则修改部分订单信息。系统边界:不考虑在线支付的具体行为;不考虑酒店房间预订之后具体房间号的安排。1.3 功能需求分析1.3.1 系统的功能及数据需求描述1、注册管理 会员注册。注册时要求填写基本信息,包括登录账号、登录密码、性别、生日、常用电子邮箱等信息。系统检查所有信息填写正确后提示会员注册成功,返回会员编号。酒店职员

8、注册。酒店工作人员以酒店名义注册并填写基本信息,包括酒店名称、职员姓名、性别、登录密码、出生日期、酒店工作时间等信息,注册成功后返回酒店职员编号编号。2、酒店管理酒店信息维护。包括酒店编号、酒店名称、酒店详细地址、酒店星级、酒店电话、酒店邮箱等信息。房间信息维护。包括房间类型、特点、房间剩余数量等等信息。 酒店房间发布。系统职员负责及时在网上发布新的酒店及房间信息,并及时更新删除旧信息。3、会员预定房间 会员登录后,可以按照目的地选择城市、地区、房间类型、房间数量以及想要的价格向系统提出申请,系统根据这些要求发给不同的酒店,形成多个出价单。酒店24小时内根据自己的价格范围选择是否接受该价格,接

9、收的返回给系统,系统将这些酒店的基本信息返回给会员,会员选择其中一家酒店进行成交,形成订单,付全款。系统将成交信息反馈给相关酒店。 4、订单管理 订单查询。订单提交后,会员可随时查询订单最新状态及全部历史订单。 订单取消。未付金额前订单可取消。 订单更新。订单生成付过定金3个工作日内可以增加或者减少所定房间的数量,但是要等待酒店确认。 订单受理。用户选择提交订单,系统反馈给酒店和客户。5、出价单管理 用户选择地区后出价,系统将所出的价格发送到符合地区及房间条件的酒店,产生张出价单,酒店同意的出价单返回给会员。出价单生成。客户根据自己的需求提交出价单,包括内容有地区、房间类型、价格、酒店星级等。

10、出价单查询。提交的出价单,会员可以随时查询出价单最新状态以及全部的历史出价单。出价单取消。出价单受理。即得到了一个或多个酒店的反馈信息,即出价单受理成功。6、用户管理 会员积分制度。根据会员的积分设定会员等级。对应等级享受相应的折扣优惠。 会员信息维护。系统管理员(系统职员)及会员可修改、删除和更新会员信息。1.3.2 系统总体功能图图1 系统总体功能图1.3.3 主要业务流程描述 C2B模式用户出价预定酒店流程 图2 酒店员工工作流程图31.4 数据需求及业务规则分析1.4.1 数据字典及业务规则描述所有用户均可搜索查看酒店发布的房间优惠信息,但只有注册会员才能在网上提交订单和出价;只有注册

11、的酒店职工才能对会员出的价格进行审核。会员由会员编号唯一标识,会员编号由系统按时间顺序产生,要求记录会员编号、昵称、真实姓名、性别、出生日期电话号码、电子邮箱、会员身份证号等信息。其中电话号码和电子邮箱各只需一个;出生日期为派生属性,它的值可以通过会员身份证号得出。酒店由酒店编号唯一标识,需记录酒店编号、酒店名称、酒店电话、酒店邮箱、酒店地址、酒店星级等信息。一个酒店可以有多个号码,但一个号码只能属于一个酒店;一个酒店可以有多个邮箱,但一个邮箱只能属于一个酒店;一个酒店可以有多种房间类型,但一个房间类型并不属于一个酒店。其中酒店地址是复合属性,由省份、城市、街道组成;酒店电话和酒店邮箱是多值属

12、性,可以有多个。酒店职员由职员编号唯一标识,需记录职员编号、酒店编号、姓名、性别、出生日期、电话号码、邮箱、身份证号、职位、部门、薪水等信息。其中出生日期是派生属性,可以由身份证号得出;电话号码和邮箱唯一,但要求能随时联系到本人。一个酒店可以有多个酒店职员,但是一个酒店职员只属于某一个酒店。每个身份证号只能注册一个会员账号,一个会员账号可以预定多间房,但需提供相应数量的身份证号,客户凭身份证入住。一张订单上可以有同一酒店的多种类型房间的不同预定数量,并网上支付全部金额。每位会员的订单成交能产生一定的积分,每1000积分可兑换1元钱用于下次订房使用。每张订单由订单号唯一标识。订单编号由系统按时间

13、顺序产生。订单中主要注明入店日期、离店日期以及订单状态(包括“未住店”“住店中”“已离开”)会员可以对订单进行“确定”、“取消”及“修改”等操作。会员在对订单进行修改时,只能修改某种房间类型的数量;对订单进行取消时,可以取消整张订单或某种房间类型的预定。在会员取消订单之后重新预定房间时,需再次出价。根据会员取消房间数量占订单的百分比,对会员该行为进行惩罚措施: (0,20%,退回取消房间的全部金额。 (20%,50%,退回取消房间金额的80%。 (50%,100%,退回取消房间金额的60%。会员出价模式中,我们将设定两个价位。图4 价格设定若用户出价区间在,则不予以回复,也不会将出价发给各酒店

14、。若用户出价区间在,将用户出价发送给酒店,由酒店决定是否满足会员的需求。 若用户出价区间为,系统直接将满足条件的酒店列出来。所有满足条件的出价单都将在24小时后列出给会员,供会员选择。为防止会员恶意出价以找到酒店最低价格,A、B的值每日会浮动,浮动范围是。会员等级规则。总消费量大于等于2万的客户升级为银卡,享受9.5折优惠;大于10万的金卡享受8.8折优惠。1.4.2 数据约束描述会员对选定酒店进行预订房间数量不得超过该酒店拥有房间的总数。会员对酒店评分只能在010分之间。酒店编号的编码规则:由10位数字组成,其中前4位为酒店所在的省份城市代码组成,中间4位代表酒店代码,后2位为序号。酒店员工

15、编号的编码规则:由8位数字组成,其中前4位为酒店代码,后4位由系统按时间序列给定。会员编号的编码规则:由11位数字组成,前8位数为时间序列,后3位为序号。2 概念设计2.1 确定实体集及属性2.1.1 实体集分析酒店实体集。其属性有:酒店编号、酒店名称、酒店电话、酒店邮箱、酒店详细地址、酒店星级。会员实体集。其属性有:编号、昵称、真实姓名、性别、出生日期、电话号码、邮箱、身份证号。房间弱实体集。它依赖于酒店实体集,其属性有:房间型号、房间名称,房间剩余数量,日期等属性。其中某天的房间剩余数量是根据订单明细来确定的。酒店职员实体集。其属性有:职员编号、姓名、性别、出生日期、电话号码、邮箱、身份证

16、号、职位、部门。会员等级实体集。其属性有:等级编号,等级要求,等级折扣。评分实体集。其属性有:评分出价单实体集。其属性有:地区,房间类型,价格,酒店星级。出价单明细弱实体集。其属性有:房间类型编号,房间单价,房间数量,入住时间,离开时间,入住天数。订单总表实体集。其属性有:订单号,订单时间,总金额,状态。订单明细实体集。其属性有:入住时间,离开时间,入住天数,房间数量,房间单价。其中总时间是派生属性,由离开时间减掉入住时间得到。2.1.2 实体集属性数据字典酒店(hotel)实体集。其属性有:酒店编号(hotelNo)、酒店名称(hotelName)、酒店电话(hotelPhone)、酒店邮箱

17、(hotelEmail)、酒店详细地址(hotelAddr)、酒店星级(star)。其数据字典如下:属性名含义域及约束hotelNo酒店编号char(10) NOT NULLhotelName酒店名称varchar(80) NOT NULLhotelPhone酒店电话varchar(13) NOT NULLhotelEmail酒店邮箱varchar(30) NOT NULLhProvince省份varchar(20) NOT NULLhCity城市varchar(20) NOT NULLhStreet街道varchar(20) NOT NULLstar酒店星级Tinyint 会员(member

18、)实体集。其属性有:编号(memberNo)、ID(memberFname)、真实姓名(meName)、性别(meSex)、出生日期(meBirthday)、电话号码(mePhone)、邮箱(meEmail)、身份证号(meID)。数据字典如下:属性名含义域及约束memberNo会员编号char(12) NOT NULLmemberFname昵称varchar(10) 缺省值为会员编号meName真实姓名varchar(20) NOT NULLmeSex性别char(2) 取值范围男,女meBirthday出生日期datetimemePhone电话号码varchar(17)meEmail电子邮

19、箱varchar(30) NOT NULLmeID会员身份证号varchar(18)memberCount总消费额numeric(20,1) 房间(room)弱实体集。其属性有:房间型号(roomType)、房间名称(roomName)。 数据字典如下:属性名含义域及约束hotelNo酒店编号char(10) NOT NULLroomType房间型号char(3) NOT NULLroomName房间名称varchar(30) NOT NULLroomleftNum房间剩余数量tinyintroomDate日期datetime NOTNULL 酒店职员(hoEmployee)弱实体集。其属性有

20、:职员编号(heNo)、姓名(heName)、性别(heSex)、出生日期(heBirthday)、电话号码(hePhone)、邮箱(heEmail)、身份证号(heID)、职位(heTitle)、部门(heDepartment)。属性名含义域及约束heNo职员编号char(10) NOT NULLheName姓名varchar(20) NOT NULLheSex性别char(2) NOT NULLheBirthday出生日期datetimehePhone电话号码varchar(17)heEmail邮箱varchar(30) NOT NULLheID身份证号varchar(18) NOT NU

21、LLheTitle职位varchar(20)heDepartment部门varchar(30)heSalary薪水numeric 会员等级(MemClass)实体集。其属性有:等级编号(classNo),等级要求(classRequire),等级折扣(classCount)。属性名含义域及约束classNo等级编号char(1) NOT NULLclassRequire等级(信用)要求smallint NOT NULLclassCount等级折扣numeric(3,2)评分(Grade)弱实体集。其属性有:评分(graGrade)。属性名含义域及约束graGrade评分numeric(2,1)

22、出价单(AskBill)实体集。其属性有:出价单编号(askNo),地区(askArea),房间类型(askType),价格(askPrice),酒店星级(askStar)。属性名含义域及约束askNo出价单编号 char(10) NOT NULLtotalPrice总价格numeric(7,1)askStar酒店星级tinyinthProvince省份varchar(20) NOT NULL hCity城市varchar(20) NOT NULL hStreet街道varchar(20) NOT NULL 出价单明细(AskbillDetail)弱实体集。其属性有:房间类型编号(roomTy

23、pe),房间单价(perPrice),房间数量(roomNumber),入住时间(getinTime),离开时间(leaveTime),入住天数(sumDate)。属性名含义域及约束roomType房间类型编号varchar(10)perPrice单价numeric(6,1)roomNumber房间数量tinyintgetinTime入住时间datetime NOT NULLleaveTime离开时间datetime NOT NULLsumDate入住天数tinyint订单(OrderMaster)实体集。其属性有:订单号(orderNo),下单时间(orderTime),会员编号(membe

24、rNo),酒店编号(hotelNo),总金额(orderPrice),订单状态(orderStatus)。属性名含义域及约束orderNo订单号char(10) NOT NULLorderPrice总金额numeric(7,1)bill付款金额numeric(7,1)orderTime下单时间datetime订单明细(OrderDetail)弱实体集。其属性有:订单号(orderNo),客户ID (customerID),房间类型(roomType),入住时间(getinTime),离开时间(leaveTime),入住天数(sumDate),房间数量(roomSum),房间单价(roomPri

25、ce),订单状态(orderStatus)。属性名含义域及约束orderNo订单号char(10) NOT NULLgetinTime入住时间datetime NOT NULLleaveTime离开时间datetime NOT NULLsumDate入住天数tinyintroomSum房间数量tinyintroomPrice房间单价numeric(6,1)status订单状态tinyint NOT NULL2.2 确定联系集及属性2.2.1 联系集分析对应是评分依赖实体集和酒店实体集的多对一联系集,评分是多,酒店是一。发布是评分依赖实体集和会员实体集的多对一联系集,评分是多,会员是一。任职是酒

26、店员工弱实体集和酒店实体集的多对一弱联系集,酒店员工是多,酒店是一。审核是酒店员工弱实体集和出价单明细弱实体集的多对多联系集。包含是出价单明细弱实体集和出价单实体集的多对一弱联系集,出价单明细是多,出价单是一。引用是会员实体集和会员等级实体集的多对一联系集,会员是多,会员等级是一。出价是会员实体集合出价单实体集的多对一联系集,出价单是多,会员是一。操作是会员实体集和订单依赖实体集的多对一联系集,订单是多,会员是一。产生是出价单实体集和订单依赖实体集的多对一联系集,出价单是多,订单是一。审核是订单依赖实体集和酒店实体集的多对一联系集,订单是多,酒店是一。参照是订单明细依赖实体集和订单依赖实体集的

27、多对一弱联系集,订单明细是多,订单是一。拥有是房间类型依赖实体集和酒店实体集的多对一弱联系集,房间类型是多,酒店是一。更新是房间类型依赖实体集订单明细依赖实体集的一对一联系集。2.2.2 联系集属性数据字典审核联系集属性名含义类别域及约束askNo出价单编号主码、外码char(10) NOT NULLheNo职员编号主码、外码char(10) NOT NULLhotelNo酒店编号外码char(10) NOT NULLchStatus审核状态datetime NOT NULL2.3 概念模型(E-R图)2.4 检查是否满足需求出价单中酒店星级、地址等如何匹配的问题,此时出价单应该与酒店、房间联

28、系起来;酒店某种房间类型的房间剩余数量应该是动态的;付款信息需要与银行或者第三方联系起来,这里我们的付款单上只有付款金额即可;放弃普通B2C模式下的酒店预订。2.5 改进的E-R图及数据字典3 逻辑设计3.1 关系设计酒店(hotel)实体集。其属性有:酒店编号(hotelNo)、酒店名称(hotelName)、酒店电话(hotelPhone)、酒店邮箱(hotelEmail)、酒店详细地址(hotelAddr)、酒店星级(star)。其数据字典如下:属性名含义类别域及约束hotelNo酒店编号主码char(10) NOT NULLhotelName酒店名称varchar(80) NOT NU

29、LLhotelPhone酒店电话多值属性varchar(13) NOT NULLhotelEmail酒店邮箱varchar(30) NOT NULLhProvince省份Varchar(20) NOT NULLhCity城市Varchar(20) NOT NULLhStreet街道Varchar(20) NOT NULLstar酒店星级Tinyint 会员(member)实体集。其属性有:编号(memberNo)、ID(memberFname)、真实姓名(meName)、性别(meSex)、出生日期(meBirthday)、电话号码(mePhone)、邮箱(meEmail)、身份证号(meID

30、)。数据字典如下:属性名含义类别域及约束memberNo会员编号主码char(12) NOT NULLmemberFname昵称varchar(12) 缺省值为会员编号meName真实姓名varchar(20) NOT NULLmeSex性别char(1) 取值范围M,FmeBirthday出生日期datetimemePhone电话号码varchar(17)meEmail电子邮箱varchar(30) NOT NULLmeID会员身份证号varchar(18)memberCount总消费额Numeric(20,1)classNo等级编号外码Char(1) 房间(room)弱实体集。其属性有:房

31、间型号(roomType)、房间名称(roomName)。 数据字典如下:属性名含义类别域及约束hotelNo酒店编号外码、主码char(10) NOT NULLroomType房间型号主码char(3) NOT NULLroomName房间名称varchar(30) NOT NULLroomleftNum房间剩余数量TinyintroomDate日期datetime NOTNULL 酒店职员(hoEmployee)实体集。其属性有:职员编号(heNo)、姓名(heName)、性别(heSex)、出生日期(heBirthday)、电话号码(hePhone)、邮箱(heEmail)、身份证号(h

32、eID)、职位(heTitle)、部门(heDepartment)。属性名含义类别域及约束heNo职员编号主码char(12) NOT NULLheName姓名varchar(20) NOT NULLheSex性别char(1) NOT NULLheBirthday出生日期datetimehePhone电话号码Varchar(17)heEmail邮箱Varchar(30) NOT NULLheID身份证号Varchar(18) NOT NULLheTitle职位Varchar(20)heDepartment部门Varchar(30)heSalary薪水Numeric(6,1)hotelNo酒店

33、编号主码、外码char(10) NOT NULL 会员等级(MemClass)实体集。其属性有:等级编号(classNo),等级要求(classRequire),等级折扣(classCount)。属性名含义类别域及约束classNo等级编号主码Char(1) NOT NULLclassRequire等级(信用)要求Smallint NOT NULLclassCount等级折扣Numeric(3,2)评分(Grade)实体集。其属性有:评分(graGrade)。属性名含义类别域及约束memberNo会员编号主码、外码char(12) NOT NULLgrade评分主码Numeric(2,1)出价

34、单(AskBill)实体集。其属性有:出价单编号(askNo),地区(askArea),房间类型(askType),价格(askPrice),酒店星级(askStar)。属性名含义类别域及约束askNo出价单编号 主码char(10) NOT NULLTotalPrice总价格Numeric(7,1)askStar酒店星级TinyinthProvince省份Varchar(20) NOT NULL hCity城市Varchar(20) NOT NULL hStreet街道Varchar(20) NOT NULL memberNo会员编号外码char(12) NOT NULL出价单明细(askb

35、illDetail)实体集:其属性有:出价单编号(askNo),房间类型编号(roomType),单价(perPrice),房间数量(roomNumber),入住时间(getinTime),离开时间(leaveTime),入住天数(sumDate)。属性名含义类别域及约束askNo出价单编号 主码、外码char(10) NOT NULLroomType房间类型编号主码char(3)perPrice单价Numeric(6,1)roomNumber房间数量TinyintgetinTime入住时间datetime NOT NULLleaveTime离开时间datetime NOT NULLsumDa

36、te入住天数派生属性Tinyint订单(OrderMaster)实体集。其属性有:订单号(orderNo),下单时间(orderTime),会员编号(memberNo),酒店编号(hotelNo),总金额(orderPrice),订单状态(orderStatus)。属性名含义类别域及约束orderNo订单号主码char(10) NOT NULLorderPrice总金额Numeric(7,1)bill付款金额Numeric(7,1)orderTime下单时间datetimememberNo会员编号外码char(12) NOT NULLhotelNo酒店编号外码char(10) NOT NULL

37、askNo出价单编号 外码char(10) NOT NULL订单明细(OrderDetail)实体集。其属性有:订单号(orderNo),客户ID (customerID),房间类型(roomType),入住时间(getinTime),离开时间(leaveTime),入住天数(sumDate),房间数量(roomSum),房间单价(roomPrice),订单状态(orderStatus)。属性名含义类别域及约束orderNo订单号主码、外码char(10) NOT NULLroomType房间类型外码char(3)getinTime入住时间datetime NOT NULLleaveTime离

38、开时间datetime NOT NULLsumDate入住天数派生属性TinyintroomSum房间数量TinyintroomPrice房间单价Numeric(6,1)Status订单状态tinyint NOT NULL3.2 约束的说明除去1.4.2中已经描述的数据约束外,还有一些约束是值得说明的。酒店电话是一个多值属性,将它建成一个弱实体集,设置了4个电话,其中一个不为空,其余三个可以为空。在会员等级实体集中,设定了会员折扣,这个折扣(classCount)是不大于1的实数,小数点后两位。在会员实体集中设置了会员昵称,这个昵称缺省为0,会员的性别取值为F或者M。会员实体集中会员等级,缺省

39、值为0,即没有会员折扣。在房间实体集中,设置了某日房间数目若缺省则为0,即该房间型号没有多余的房间了。在会员留言评分实体集中,所评的分数约束在10分以内,最小不少于1分。在订单明细表中设置了订单状态,取值为0,1,即成功与不成功。订单成功是由订单明细表的状态属性的值和订单总表的付款金额的值共同决定的。当总表的付款金额的值等于订单明细表中的金额的总和,订单明细表的状态属性为1时,订单成功。4 数据库应用设计4.1 数据库脚本create database HotelDBon (name='HotelDB', filename='E:数据库HotelDBHotelDB.md

40、f', size=3, maxsize=20, filegrowth=1)log on (name='HotelDBLog', filename='E:数据库HotelDBHotelDBLog.ldf', size=1, maxsize=5, filegrowth=1)create table Hotel( hotelNo char(10) not null primary key, hotelName varchar(80) not null, hotelEmail varchar(30) not null, hProvince varchar(20)

41、 not null, hCity varchar(20) not null, hStreet varchar(20) not null, star tinyint not null ) create table HotelPhone( -弱实体集 hotelNo char(10) not null primary key, hotelPhone1 varchar(14) not null, hotelPhone2 varchar(14), hotelPhone3 varchar(14), hotelPhone4 varchar(14), constraint HotelPhoneFK fore

42、ign key(hotelNo) references Hotel(hotelNo) ) create table memClass( classNo char(1) not null primary key, classRequire smallint not null, classCount numeric(3,2) not null check(classCount<=1) ) create table Member( memberNo char(12) not null primary key, memberFname varchar(10) default 0 not null

43、, meName varchar(20) not null, meSex char(1) not null check(mesex in('M','F'), meBirthday datetime not null, meEmail varchar(30) not null, classNo char(1) default 0 not null, constraint MemberFK foreign key(classNo) references Memclass(classNo) create table Room( hotelNo char(10) not

44、 null, roomType char(3) not null, roomName varchar(30) not null, roomLeftNum smallint default 0 not null, roomDate datetime not null constraint RoomPK primary key(hotelNo,roomType), constraint RoomFK foreign key(hotelNo) references Hotel(hotelNo) )create table hoEmployee( heNo char(12)not null, heNa

45、me varchar(20) not null, heSex char(1) not null check(hesex in('M','F'), heBirthday datetime not null, heEmail varchar(30) not null, heID varchar(18) unique not null , heTitle varchar(20) not null, heDepartment varchar(30) not null, heSalary numeric(6,1) not null, hotelNo char(10) no

46、t null, constraint hoEmployeePK primary key(heNo,hotelNo), constraint hoEmployeeFK foreign key(hotelNo) references Hotel(hotelNo) ) create table Grade( memberNo char(12) not null, grade numeric(2,1) check(grade<=10.0 and grade>=1) constraint GradePK primary key(memberNo,grade), constraint Grad

47、eFK foreign key (memberNo) references Member(memberNo) ) create table AskBill(askNo char(10) NOT NULL primary key,TotalPrice Numeric(7,1) NULL,askStar tinyint NULL,hProvince varchar(20) NOT NULL,hCity varchar(20) NOT NULL,hStreet varchar(20) NOT NULL,memberNo char(12) NOT NULL,constraint Askbillfk f

48、oreign key(memberNo) references member(memberNo)create table askbillDetail(askNo char(10) NOT NULL,roomType varchar(10) not null,perPrice numeric(6,1) NULl,roomNumber Tinyint NULL,getinTime datetime NOT NULL,leaveTime datetime NOT NULL,sumDate tinyint NULL,constraint askbillDetailPK primary key(askN

49、o,roomType),constraint askbillDetailfk foreign key(askNO) REFERENCES AskBill(askNo) create table OrderMaster( orderNo char(10) Not Null, orderPrice Numeric(7,1) , bill Numeric(7,1) , orderTime datetime , memberNo char(12) Not Null, askNo char(10) Not Null, hotelNo char(10) Not Null, constraint Order

50、NoPK PRIMARY KEY(orderNo), constraint memberNoFK FOREIGN KEY(memberNo) REFERENCES Member(memberNo), constraint hotelNoFK FOREIGN KEY(hotelNo) REFERENCES Hotel(HotelNo), constraint askNoFK FOREIGN KEY(askNo) REFERENCES AskBill(askNo) )create table orderDetail( orderNo char(10) not null, roomType char(3) not null, getinTime datetime not null, leaveTime datetime not null, sumDate tinyint, roomSum tinyint not null, roomPrice numeric(6,1) not null, orderStatus tinyint not null check(orderStatus in('0','1&#

温馨提示

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

评论

0/150

提交评论