资源描述
-课 程 设 计 报 告 设计题目:酒店住宿及消费管理信息系统一、课程设计项目名称:酒店住宿及消费管理信息系统二、相关基本原理:数据库设计数据库设计(Database Design)是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够有效地存储数据,满足各种用户的应用需求(信息要求和处理要求)。数据库设计是建立数据库及其应用系统的技术,是信息系统开发和建设中的核心技术。由于数据库应用系统的复杂性,为了支持相关程序运行,数据库设计就变得异常复杂,因此最佳设计不可能一蹴而就,而只能是一种“反复探寻,逐步求精”的过程,也就是规划和结构化数据库中的数据对象以及这些数据对象之间关系的过程。数据库建设是硬件、软件和干件(技术与管理的界面)的结合,靠得是三分技术,七分管理,十二分基础数据“。数据库设计应该与应用系统设计相结合。包括结构(数据)设计:设计数据库框架或数据库结构,行为(处理)设计:设计应用程序、事务处理等。数据库设计是结构和行为分离的设计。需求分析调查和分析用户的业务活动和数据的使用情况,弄清所用数据的种类、范围、数量以及它们在业务活动中交流的情况,确定用户对数据库系统的使用要求和各种约束条件等,形成用户需求规约。需求分析的重点是调查、收集与分析用户在数据管理 中的信息要求、处理要求、安全性与完整性要求。概念模型设计-对用户要求描述的现实世界(可能是一个工厂、一个商场或者一个学校等),通过对其中诸处的分类、聚集和概括,建立抽象的概念数据模型。这个概念模型应反映现实世界各部门的信息结构、信息流动情况、信息间的互相制约关系以及各部门对信息储存、查询和加工的要求等。所建立的模型应避开数据库在计算机上的具体实现细节,用一种抽象的形式表示出来。以扩充的实体(E-R 模型)联系模型方法为例,第一步先明确现实世界各部门所含的各种实体及其属性、实体间的联系以及对信息的制约条件等,从而给出各部门内所用信息的局部描述(在数据库中称为用户的局部视图)。第二步再将前面得到的多个用户的局部视图集成为一个全局视图,即用户要描述的现实世界的概念数据模型。需求分析阶段描述的用户应用需求是现实世界的具体需求将需求,分析得到的用户需求抽象为信息结构即概念模型的过程就是概念结构设计。概念结构是各种数据模型的共同基础,它比数据模型更独立于机器、更抽象,从而更加稳定。概念结构设计是整个数据库设计的关键。逻辑结构设计主要工作是将现实世界的概念数据模型设计成数据库的一种逻辑模式,即适应于某种特定数据库管理系统所支持的逻辑数据模式。与此同时,可能还需为各种数据处理应用领域产生相应的逻辑子模式。这一步设计的结果就是所谓“逻辑数据库”。概念结构是各种数据模型的共同基础,为了能够用某一 DBMS实现用户需求,还必须将概念结构进一步转化为相应的数据模型,这正是数据库逻辑结构设计所要完成的任务。将概念结构转化为一般的关系、网状、层次 模型。将转化来的关系、网状、层次模型向特定 DBMS 支持下的数据模型转换。对-数据模型进行优化。物理结构设计根据特定数据库管理系统所提供的多种存储结构和存取方法等依赖于具体计算机结构的各项物理设计措施,对具体的应用任务选定最合适的物理存储结构(包括文件类型、索引结构和数据的存放次序与位逻辑等)、存取方法和存取路径等。这一步设计的结果就是所谓“物理数据库”。根据具体计算机系统(DBMS 和硬件等)的特点,为给定的数据库模型确定合理的存储结构和存取方法:使设计出的物理数据库占用较少的存储空间。对数据库的操作具有尽可能高的速度。三、课程设计目的:1)巩固和加深对数据库原理及应用课程基本知识的理解,综合该课程中所学到的理论知识,与小组成员联合完成一个数据库应用系统课题的需求分析;2)根据课题需要,通过查阅相关手册和文献资料,培养独立分析和解决实际问题的能力;3)掌握数据库应用系统需求分析的基本步骤,能用基本图表工具描述需求分析的过程及结果4)熟练掌握局部 E-R 图和全局 E-R 图的建立方法,熟练掌握概念模型向数据模型(关系模式)的转化;5)能够根据系统的实际需要,对数据库进行物理设计6)掌握在数据库管理系统中创建数据库及对数据库进行维护和数据查询的基本方法;培养动手能力。四、课程设计内容:需求分析:根据实际情况,对于酒店住宿及消费管理系统进行调查,必须明确用户的要求和应用现场环境的特点,了解系统应具-有哪些功能,数据流程和数据之间的联系。需求分析需要进行调查,查阅手册和文献资料,明确问题所在,按需求分析步骤,一步一步进行分析,完成系统需求分析,得到系统目标、功能分析、系统需求、业务流程图、数据流图、数据字典等分析成果。概念模型设计:根据所选应用系统的需求分析,继续进行局部概念模型分析与设计,然后进行全局概念模型设计。要求:1)根据需求分析的结果,小组分工进行局部 E-R 图设计;2)根据局部 E-R 图进行合并整合,形成全局 E-R 图。3)对全局 E-R 图进行分析,根据需要进行一定的合并优化处理逻辑结构设计:对自选的数据库应用项目进行关系数据模型的设计,一方面进行概念模型到逻辑结构(关系模型)的转化;另一方面用关系规范化理论对形成的关系模式进行合并、分解的优化;物理设计:根据特定数据库管理系统所提供的多种存储结构和存取方法等依赖于具体计算机结构的各项物理设计措施,对具体的应用任务选定最合适的物理存储结构(包括文件类型、索引结构和数据的存放次序与位逻辑等)、存取方法和存取路径等。数据库实施:在以上分析设计的基础上,要实现数据库,保证能在现有数据库基础上进行应用系统的程序开发。要求:在数据库管理系统上实现数据库,并能在该库上进行相应的数据处理;数据库建议用SQL SERVER,也可用 ACCESS。完成课程设计报告。-五、课程设计过程及结果分析:(一)需求分析1、背景分析随着酒店的规模扩大和连锁经营,将管理信息系统嵌入到酒店的经营和管理中已是必不可少。在本课程设计中,只涉及酒店入住和消费。经过调查分析,确定酒店入住和消费管理系统由预定房间、查询客房信息、登记、入住、消费(尤指如就餐,叫车等除房费以外的费用)、退房等功能模块。预订系统尤指针对顾客而言,他可以登录系统随时查询酒店客房预售一览表,及可售房间数,可查询某间客房预订情况,并实现预订功能,此时酒店的管理系统可以接收到其信息,也就是说通过网络,该系统更好的联系起来。同时对常客可使用系统的客历资料预定,可大大减少资料的输入。客人一旦入住酒店,酒店就会详细记录客人的资料。本系统面向酒店的前台,系统可以接收到客户在其他平台提交的预订信息,系统数据管理员可以接收到数据信息,进行集中管理,分类,然后将信息报给不同的酒店管理人员,简化传统手工作业方式,最大限度地简化酒店管理过程。(1)能对客房数据进行跟踪管理(添加、更改、删除、查询等);(2)能对客户数据进行跟踪管理(添加、更改、删除、查询等);(3)能对预订信息进行跟踪管理(添加、更改、删除、查询等);-(4)能对入住信息进行跟踪管理(添加、更改、删除、查询等);(5)能对住宿消费信息进行跟踪管理(添加、更改、删除、查询等);、(6)该数据库系统要具有良好的可扩展性(界面友好);(7)用户及权限管理(具有一定的安全性):1)系统工作人员增加、删改用户;2)系统工作人员对用户角色及权限分配;3)用户登录及权限验证;4)系统管理员及用户更改密码。2、业务流程分析 1)第一层业务流程图 2)第二层业务流程图-(1)顾客登录系统:1)查询酒店客房预售一览表,及可售房间数,可查询某间客房预订情况;2)预订,形成预订信息,提交至系统存储。(2)前台登录系统:1)前台登录系统后可查询酒店客房预售一览表,及可售房间数,可查询某间客房预订情况,某位顾客的预订情况;2)为顾客登记,实现入住,提交入住信息给系统,并生成入住单;-3)顾客产生消费行为,前台提交信息至系统生成消费单;4)顾客前台结账,收取费用退还押金,并注销顾客入住,提交信息,更新房间信息。(3)系统工作人员:系统工作人员登录系统可以收到顾客的预订信息,入住信息,消费信息,结账信息,以及顾客信息和客房信息,进行数据处理后提交至系统,授予不同用户不同权限。3、系统数据流图 DFD (1.系统顶层数据流图:2.系统第一层数据流图:-基于上述数据流图,可以用文字描述相关的处理过程:(1)顾客登录系统:1)查询酒店客房预售一览表,及可售房间数,可查询某间客房预订情况;2)预订,形成预订信息,提交至系统存储。(2)前台登录系统:1)前台登录系统后可查询酒店客房预售一览表,及可售房间数,可查询某间客房预订情况,某位顾客的预订情况;-2)为顾客登记,实现入住,提交入住信息给系统,并生成入住单;3)顾客产生消费行为,前台提交信息至系统生成消费单;4)顾客前台结账,收取费用退还押金,并注销顾客入住,提交信息,更新房间信息。(3)系统工作人员:系统工作人员登录系统可以收到顾客的预订信息,入住信息,消费信息,结账信息,以及顾客信息和客房信息,进行数据处理后提交至系统,授予不同用户不同权限。3.系统第 2 层数据流图:(图形+文字说明)1)顾客预订,入住信息处理逻辑第二层数据流图 2)前台进行顾客入住,结算等信息处理逻辑第二层数据流图-4、数据字典 DD(1)、数据项说明 1)客房信息表数据项编号数据项名数据项含义与其他数据项的关系存储结构1房间号房间的编号字符型,长度为 10,格式例 A101,A 表示xx 栋,数字由三位组成,第一个数字为楼层,后两位为该楼层房间编号2房间名称房间的名字符型,长度限制为-2)客户信息表字203房间类型房间的类型字符型,长度限制为204房间位置房间具体位置字符型,长度限制为50,格式为 xx 栋 xx层 xx 号5房价房间的价格由房间类型决定浮点型,长度限制为 86房间状态房间所处的状态,是满还是空由客户预定,入住,退房时间决定字符型,长度限制为20,限制字符为以下三种:“预订中”或“入住”或“空”7房间备注房间备注数据项编号数据项名数据项含义与其他数据项的关系存储结构1客户姓名客户的姓字符型,长度为 20-3)住宿费用信息表名2证件类型客户出示证件的类型字符型,长度限制为203证件号客户出示证件的编号与证件类型相对应字符型,长度限制为304性别客户的性别字符型,长度限制为4,可选择字符为“男”,“女”5联系电话客户的联系方式字符型,长度限制为506备注客户的备注信息,如客户身份与要求字符型,长度限制为500数据项编号数据项名数据项含义与其他数据项的关系存储结构1证件号客户出示证件的编号字符型,长度为302房间号房间的编字符型,长度为-号10,格式例A101,A 表示 xx栋,数字由三位组成,第一个数字为楼层,后两位为该楼层房间编号3入住日期客户入住的日期日期型,格式为年-月-日4入住时间客户入住的时间时间型,格式为时:分:秒5离开日期客户退房的日期日期型,格式为年-月-日6离开时间客户退房的时间时间型,格式为时:分:秒7天数客户入住的天数由客户入住日期,入住时间,退房日期,退房时间决定整型,长度为 48房价房间的价格浮点型,长度限制为 89折扣率最终折扣率浮点型,长度限制为 810预付客户入住浮点型,长度限-4)预订房间信息表时缴纳的订金制为 811其他消费日期客户除入住外的其他消费日期日期型,格式为年-月-日12其他消费时间客户除入住外的其他消费时间时间型,格式为时:分:秒13其他消费名称客户除入住外的其他消费名称字符型,长度限制为 2014其他消费金额客户除入住外的其他消费金额浮点型,长度限制为 8数据项编号数据项名数据项含义与其他数据项的关系存储结构-5)入住信息表1证件号客户出示的证件编号字符型,长度限定 302房间号房间的编号字符型,长度为 10,格式例 A101,A 表示xx 栋,数字由三位组成,第一个数字为楼层,后两位为该楼层房间编号3预定日期客户预定的日期日期型,格式为年-月-日4预定时间客户预定的时间时间型,格式为时:分:秒5入住日期房间具体位置日期型,格式为年-月-日6预订天数房间的价格整型7预订备注客户预定时的要求字符型,长度限制为5008是否入住目前客户的入住情况由入住日期决定字符型,长度限制为20,限制字符为以下两种:“入住中”或“未入住”-数据项编号数据项名数据项含义与其他数据项的关系存储结构1证件号客户出示证件的的编号字符型,长度限定 302房间号房间的编号字符型,长度限制为20 字符型,长度为10,格式例 A101,A表示 xx 栋,数字由三位组成,第一个数字为楼层,后两位为该楼层房间编号3预付客户入住时缴纳的订金浮点型,长度限制为 84入住日期客户入住的日期日期型,格式为年-月-日5入住天数客户入住的天数时间型,格式为时:分:秒6备注客户入住备注信息字符型,长度限制为5007工号办理该入字符型,长度限制为-6)前排工作人员信息表(2)、数据结构说明数据结构编号数据结构名数据结构含义组成内容1客房指明酒店客房的具体信息房间号,房间名称,房间类型,房间位置,房价,房间状态,房间备注2客户每位客户客户姓名,证件类型,证件号,性别,住的员工编号20数据项编号数据项名数据项含义与其他数据项的关系存储结构1工号员工的编号字符型,长度为 20,2姓名员工的名字字符型,长度限制为203所在部门员工所在的部门字符型,长度限制为204职务员工的职务字符型,长度限制为20-的的信息联系电话,备注3住宿费用客户在整个入住过程(包括住宿外消费)信息证件号,房间号,入住日期,入住时间,离开日期,离开时间,天数,房价,折扣率,预付,其他消费日期,其他消费时间,其它消费名称,其他消费金额4预订客户预定房间信息证件号,房间号,预定日期,预定时间,入住日期,预定天数,预定备注,是否入住5入住客户入住房间信息证件号,房间号,预付,入住日期,入住天数,备注,工号6前台工作人员前台工作人员信息工号,姓名,所在部门,职务(3)、数据流说明1)预订信息数据流表简述顾客预订客房信息流向系统输入来源顾客输入输出去向前台和系统管理员数据项组成证件号,房间号,预定日期,预定时间,入住日期,预定天数,预定备注,是否入住流量每个顾客的预订信息2)入住信息数据流表-简述顾客入住客房信息流向系统输入来源顾客提供、前台输入输出去向系统管理员数据项组成证件号,房间号,预付,入住日期,入住天数,备注,工号流量每个顾客的入住信息3)结账信息数据流表简述顾客退房信息流向系统输入来源顾客要求、前台输入(消费信息)、系统提供输出去向前台和系统管理员数据项组成证件号,房间号,入住日期,入住时间,离开日期,离开时间,天数,房价,折扣率,预付,其他消费日期,其他消费时间,其它消费名称,其他消费金额流量每个顾客的退房信息(4)、数据存储说明1)顾客信息存储说明简述存放顾客基本信息输入来源顾客输入输出去向前台和系统管理员数据项组成客户姓名,证件类型,证件号,性别,联系电话,备注-存储容量每个顾客的基本信息2)客房信息存储说明简述客房基本信息输入来源系统工作人员提前录入输出去向顾客、前台和系统管理员数据项组成客房信息:房间号,房间名称,房间类型,房间位置,房价,房间状态,房间备注存储容量每间客房的基本信息3)前台工作人员信息存储说明简述前台工作人员基本信息输入来源系统工作人员提前录入输出去向前台和系统管理员数据项组成前台工作人员信息:工号,姓名,所在部门,职务存储容量每位前台工作人员的基本信息(5)、处理过程说明1)预订信息录入、修改简述单个客户单独输入预订信息逻辑说明 针对一个客户显示证件号-针对每条预订信息进行录入(修改)录入(修改)证件号,房间号,预定日期,预定时间,入住日期,预定天数,预定备注,是否入住概要说明 1、可以用“上一步”、“下一步”“回到首页”“提交”点击进行预订信息录入和修改;2、显示时,只可读;录入修改时,可读可写。2)入住信息录入、修改简述单个前台工作人员依据顾客提供信息输入入住信息逻辑说明 针对一个客户显示证件号,房间号针对每条入住信息进行录入(修改)录入(修改)证件号,房间号,预付,入住日期,入住天数,备注,工号概要说明 1、可以用“上一步”、“下一步”“回到首页”“提交”点击进行预订信息录入和修改;2、显示时,只可读;录入修改时,可读可写。3)结算信息录入、修改简述前台工作人员依据入住信息及其他消费输入结算信息逻辑说明 针对一个客户显示 证件号针对每条结算信息进行录入(修改)录入(修改)证件号,房间号,入住日期,入住时间,离开日期,离开时间,天数,房价,折扣率,预付,其他消费日期,其他消费时间,其它消费名称,其他消-费金额概要说明 1、可以用“上一步”、“下一步”“回到首页”“提交”点击进行预订信息录入和修改;2、显示时,只可读;录入修改时,可读可写。2)客房信息查询简述对房间信息进行查询逻辑说明 针对顾客 显示 证件号针对前台或系统工作人员 显示 房间号针对每条预订、入住和结算信息进行查询查询 证件号,房间号,预定日期,预定时间,入住日期,预定天数,预定备注,是否入住查询 证件号,房间号,预付,入住日期,入住天数,备注,工号查询 证件号,房间号,入住日期,入住时间,离开日期,离开时间,天数,房价,折扣率,预付,其他消费日期,其他消费时间,其它消费名称,其他消费金额概要说明 1、可以用“上一步”、“下一步”“回到首页”“提交”点击进行评教信息的查询;2、可以输入指定的房间号直接显示客房的信息;输入指定的证件号,直接显示该顾客的预订、入住、结算信息。3、所有的查询内容均只可读,不可写。-(二)概念模型设计1.局部 E-R 图 1 根据数据字典确定每个实体及其属性 E-R 图;(1)客房实体 E-R 图(2)客户实体 E-R 图(3)前台工作人员实体 E-R 图-(4)住宿费用实体 E-R 图2 根据第二层数据流图确定局部 E-R 图;(1)预订局部 E-R 图(2)入住局部 E-R 图-(3)结算局部 E-R 图2.全局 E-R 图-3.优化处理 在以上实体集的属性中,有些属性不够明确,将做一下修改。将预定中的预订时间细化为预定日期,预订时间,入住时间改为入住日期;将入住中的入住时间细化为入住日期和入住时间;删除住宿费用中的入住日期,并将离开日期细化为离开日期和离开时间。(三)逻辑结构设计1.E-R 图转换为关系模式(1)Room(Rno,Rname,Rtype,Rpostion,Rprice,Rstatus,Rnote)(2)Customer(Cno,Cname,Ctype,Csex,Ctel,Cnote)(3)Reserve(Cno,Rno,Orderdate,Rindate,Days_1,Note,Isin)(4)Check_in(Cno,Rno,Sno,Prepay,Indate,Days_2,Note)(5)Fee(Cno,Rno,Indate,Outdate,Days,Rprice,Rate,Prepay,OtherC_time,OtherC_name,OtherC_price)(6)Reception(Sno,Sname,Sdept,Sjob)2.关系模式的优化1)优化过程结合 E-R 图优化过程做以下处理:(1)Room 关系模式中存在数据冗余,可无损分解为以下两个关系模式:Roomtype(Rtype,Rprice)不存在非主属性对码的部分函数依赖,属于 BCNFRoomInfo(Rno,Rname,Rtype,Rpostion,Rstatus,Rnote)不-存在非主属性对码的部分函数依赖,属于 BCNF(2)Customer(Cno,Cname,Ctype,Csex,Ctel,Cnote)不存在非主属性对码的部分函数依赖,属于 BCNF(3)Reserve(Cno,Rno,Orderdate,Ordetime,RIndate,Days_1,Note,Isin),添加属性 Intime,不存在非主属性对码的部分函数依赖,属于 BCNF(4)Check_in(Cno,Rno,Sno,Prepay,Indate,Intime,Days_2,Note)添加属性 Intime,考虑实际情况,假设酒店前台人员按天值班 Cno,Rno-Indate,Intime,Indate,Intime,-Sno,存在传递依赖,不存在非主属性对码的部分依赖,属于 2NF(5)Fee 关系模式中存在数据冗余,可无损分解为以下两个关系模式:Fee(Cno,Rno,Sno,Outdate,Outtime,Rate)添加属性 Outtime,考虑实际情况,假设酒店前台人员按天值班 Cno,Rno-Outdate,Outtime,Outdate Outtime,-Sno,存在传递依赖,不存在非主属性对码的部分依赖,属于 2NFOtherC(Cno,Rno,Sno,OtherC_date,OtherC_time,OtherC_name,OtherC_price)考虑实际情况,一个顾客,一间客房可能会产生多个消费,将 OtherC_date,OtherC_time 设置为主码,不存在非主属性对码的部分函数依赖,属于 BCNF(6)Reception(Sno,Sname,Sdept,Sjob)不存在非主属性对码的部分函数依赖,属于 BCNF2)优化结果Roomtype(Rtype,Rprice)RoomInfo(Rno,Rname,Rtype,Rpostion,Rstatus,Rnote)Customer(Cno,Cname,Ctype,Csex,Ctel,Cnote)Reserve(Cno,Rno,Orderdate,Ordetime,RIndate,Days_1,Note,Isin)Check_in(Cno,Rno,Sno,Prepay,Indate,Intime,Days_2,Note)Fee(Cno,Rno,Sno,Outdate,Outtime,Rate)OtherC(Cno,Rno,Sno,OtherC_date,OtherC_time,OtherC_name,OtherC_price)Reception(Sno,Sname,Sdept,Sjob)-3.结合数据字典得到关系具体设计表 1 Roomtype属性名标题数据类型长度可否为空约束备注Rtype房间类型Char20否无主码Rprice房间价格Float8是无表 2 RoomInfo属性名标题数据类型长度可否为空约束备注Rno房间号Char10否无主码Rname房间名称Char20是无Rtype房间类型Char20是无Rposition房间位置Char50是无Rstatus房间状态Char20是“预订中”或“入住”或“空”Rnote房间备注Char500是无表 3 Customer属性名标题数据类型长度可否为空约束备注Cno证件号Char30否无主码Cname客户姓名Char20否无Ctype证件Char20否无-类型Csex性别Char4是“男”或“女”Ctel联系电话Char50是 无Cnote客户备注Char500是无表 4 Reserve属性名标题数据类型长度可否为空约束备注Cno证件号Char30否无主码Rno房间号Char10否无主码Orderdate预订日期Date否无Othertime预定时间Time否无RIndate入住时间Char20否无Days_1预订天数Int否无ReNote 预定备注Char500是无Isin是否入住Char20是“入住中”或“未入住”表 5 Check_in属性名标题数据类型长度可否为空约束备注Cno证件号Char30否无主码Rno房间Char10否无主码-号Sno工号Char20否无Prepay预付Float8是无Indate入住日期Date否无Intime入住时间Time否无Days_2入住天数Int否无Note 备注Char500是无表 6 Fee 属性名标题数据类型长度可否为空约束备注Cno证件号Char30否无主码Rno房间号Char10否无主码Sno工号Char20否无Outdate离开日期Date否无Outtime离开时间Time否无Rate折扣率Float8是无表 7 OtherC 属性名标题数据类型长度可否为空约束备注Cno证件号Char30否无主码Rno房间号Char10否无主码Sno工号Char20否无-OtherC_date其他消费日期Date否无主码OtherC_time其他消费时间Time否无主码OtherC_name其它消费名称Char20否无OtherC_price其他消费金额Float8否无表 8 Reception属性名标题数据类型长度可否为空约束备注Sno工号Char20否无主码Sname姓名Char20是无Sdept所在部门Char20是 无Sjob职务Char20是无(4)物理设计(1)使用 SQL Server Management Studio 创建一个数据库,名称为“Eva_teach”,数据文件初始大小为 20MB,自动增长5MB,最大为 100MB;日志文件初始大小为 10MB,自动增长5MB,最大为 100MB。存储路径为“C:Program FilesMicrosoft SQL ServerMSSQL10_50.MSSQLSERVERMSSQLDATA”(2)系统配置设计-本系统采用单机运行。(五)数据库实现 1.建表语句(1)房间类型表 use 酒店住宿及消费管理数据库create table Roomtype(Rtype char(20)primary key,Rprice float(8),)(2)房间信息表create table RoomInfo(Rno char(10)primary key,Rname char(20),Rtype char(20),Rpostion char(50),Rstatus char(20)constraint C1 check(Rstatus IN(预订中,入住,空),Rnote char(500),foreign key(Rtype)references Roomtype(Rtype),)(3)顾客表create table Customer-(Cno char(30)primary key,Cname char(20)not null,Ctype char(20)not null,Csex char(4)constraint c2 check(Csex IN(男,女),Ctel char(50),Cnote char(500)(4)前台表create table Reception(Sno char(20)primary key,Sname char(20),Sdept char(20),Sjob char(20)(5)预订表create table Reserve(Cno char(30),Rno char(10),Orderdate date,ordertime time,Rindate datenot null,-Days_1 int not null,ReNote char(500),Isin char(20)constraint c3 check(Isin IN(入住中,未入住),Primary key(CNO,Rno),constraint RE_k1 foreign key(Rno)references RoomInfo(Rno),constraint RE_k2 foreign key(Cno)references Customer(Cno))(6)入住表create table Check_in(Cno char(30),Rno char(10),Sno char(20)not null,Prepay float(8),Indate date not null,Days_2 int not null,Note char(500),intime time not null,Primary key(CNO,Rno),constraint IN_k1 foreign key(Rno)references RoomInfo(Rno),constraint IN_k2 foreign key(Cno)references Customer(Cno),constraint IN_k3 foreign key(Sno)references Reception(Sno))-(7)结算表create table Fee(Cno char(30),Rno char(10),Sno char(20)not null,Rate float(8),Outdate date not null,outtime time not null,Primary key(CNO,Rno),constraint FEE_k1 foreign key(Rno)references RoomInfo(Rno),constraint FEE_k2 foreign key(Cno)references Customer(Cno),constraint FEE_k3 foreign key(Sno)references Reception(Sno)(8)其他消费表create table OtherC(Cno char(30),Rno char(10),-Sno char(20)not null,OtherC_date Date not null,OtherC_time time not null,OtherC_name char(20)not null,OtherC_price float(8)not null,Primary key(CNO,Rno,OtherC_date,OtherC_time),constraint OC_k1 foreign key(Rno)references RoomInfo(Rno),constraint OC_k2 foreign key(Cno)references Customer(Cno),constraint OC_k3 foreign key(Sno)references Reception(Sno)2.数据关系图-3.建立测试初始数据 (1)Roomtype(2)RoomInfo(3)顾客表-(4)前台表(5)预订表(6)入住表(7)结算表(8)其他消费表-4.建立视图及查询1、建立房间视图create view Roomview(房间号,房间名称,房间类型,房价,房间位置,房间备注)as select Rno,Rname,Roomtype.Rtype,Rprice,Rpostion,Rnotefrom RoomInfo,Roomtype where Roomtype.Rtype=RoomInfo.Rtype and Rprice=400-视图查询 2:use 酒店住宿及消费管理数据库 select 证件号,房间号,其他消费时间,折扣后其他消费金额 from Consumptionview where 房间号=A404-视图查询 3:use 酒店住宿及消费管理数据库 select*from Consumptionview where 其他消费金额30视图查询 4:use 酒店住宿及消费管理数据库 select*-from Roomview where 房间类型=花园私密家庭房 视图查询 5:use 酒店住宿及消费管理数据库 select 证件号,房间号,SUM(其他消费金额)from Consumptionview group by 证件号,房间号order by sum(其他消费金额)-5.数据操纵语句1、插入语句use 酒店住宿及消费管理数据库insert into Roomtype(Rtype,Rprice)values(标准双人间,360)use 酒店住宿及消费管理数据库insert into Customer(Cno,Cname,Ctype,Csex,Ctel,Cnote)values(341011199102122349,牛魔王,身份证,男,13245321734,NULL)-删除语句:deletefrom Reservewhere Cno=342122198001061111-deletefrom OtherCwhere OtherC_price16)begin Print(所有房间位置已满,不能再插入房间信息)rollbackEnd-use 酒店住宿及消费管理数据库 go create trigger trigdays2on Check_inafter insert,updateasif exists(select days_2from Check_in where days_27)Begin print(入住单天数一次不可超过 7 天)rollback-六、课程设计总结及心得体会:数据库的建立过程是一个结构化的方法,也就是说技术要一步步实施,要从过程中分离数据。建立一个数据库,虽然在本课程设计只是酒店管理信息系统的一个小小视角,但是对于我们来说确实是一个不小的挑战。-我们首先计划了酒店入住及消费管理系统,通过查找大量资料以及询问专业人士,确定了基本框架,在抽丝剥茧后,我们画出了本课程设计所需要的业务流程图,并分析业务流程图画出数据流图。进而我们将模型从现实世界抽象为概念模型,抽象出数据实体和联系集。在这个过程中,由于我们对酒店管理系统并不十分了解,在进行业务流程图和 E-R 图的绘制时出现了不少的问题,最终我们小组克服了困难,做出了初步的需求分析和概念模型设计。从概念模型转化到逻辑模型,在分解关系模式时,在做的过程中不断发现问题并更改,又加入一些属性使得数据库趋于完善。在最后的物理设计中,问题较少,较之前做出了进一步的完善。最后我们一起核查了数据库所有内容,避免出现不能必要的问题和麻烦。在本课程设计中,我们一直是共同完成,并在一些小的细节上进行一定的任务分配,这一次合作的很愉快且较为高效,在整个过程中,我们不断的发现问题,提出问题,并及时交流心得,共同寻找解决问题的方案。在这个过程中,我们感触最深的是,在整个数据库课程设计中,结构化方法很重要,但由于此过程是不可逆的,所以越在前面出现的问题将来产生错误为此付出的代价就会更大,所以我们要在每一个环节完成后都要进行一定的检验,避免将来出现更大的错误。以上心得体会是小组所有成员共同交流所得。七、对本设计程及方法、手段的改进建议:在本课程化设计中,结构化步骤化的方法给我们的课程设计带来了很大的便利性,但结构化方法有一个缺点就是其过程是不可逆的,所以我们希望在每一个环节中后都加一个检验以及增减的修改内容,这样能更大程度的及时避免问题的产生。-报告评分:X 指导教师签字:XXX
展开阅读全文