《数据库原理》课程设计-宾馆管理系统_第1页
《数据库原理》课程设计-宾馆管理系统_第2页
《数据库原理》课程设计-宾馆管理系统_第3页
《数据库原理》课程设计-宾馆管理系统_第4页
《数据库原理》课程设计-宾馆管理系统_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

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

文档简介

《数据库原理》课程设计设计说明书宾馆管理系统起止日期:2016年6月20日至2016年6月24日学生姓名班级计算机1402学号成绩指导教师(签字)计算机与通信学院2016年7月3日

同组成员:学号姓名分工负责的内容备注整体规划,数据库物理设计与实施组长数据库概念结构数据库逻辑结构设计需求分析目录1 概述 11.1 背景和意义 11.2 任务概述 11.3 设计环境 12 需求分析 22.1 需求描述 22.2 数据流图 22.2.1 顶层数据流图 22.2.2 第二层数据流图 32.2.3 宾馆开房数据流图 32.2.4 客户续房数据流图 42.2.5 客户退房数据流图 42.3 数据字典 53 数据库概念结构设计 73.1 局部概念模式设计 73.1.1 客户选房局部ER图 73.1.2 入住登记局部ER图 73.1.3 退房局部ER图 83.1.4 职工就职局部ER图 83.1.5 客房类型局部ER图 93.1.6 客房状态局部ER图 93.2 全局概念模式设计 103.3 功能模块图 114数据库逻辑设计 114.1 关系模式 124.2 规范化 124.3 数据库表结构设计 134.3.1 房间类型(RoomType)表设计 134.3.2 房间信息(RoomInfo)表设计 134.3.3 职位类型(PlaceType)表设计 134.3.4 职工信息(StaffInfo)表设计 134.3.5 客户信息(CustomerInfo)表设计 144.3.6 房间状态信息(RoomStyle)表设计 144.3.7 入住登记(Register)表设计 144.3.8 退房记录(CheckOut)表设计 144.4 安全控制 155 数据库物理设计与实施 165.1 数据库选择 165.2 数据联系图 175.3 数据库创建 185.4 数据表创建 185.5 视图创建 216 总结 237 参考文献 23 概述背景和意义随着社会的发展,宾馆行业因此也迎来了更大的机遇,但是,在面临机遇的同时,也伴随着不小的挑战,其中一点就是行业竞争加剧,宾馆之间客源的争夺越来越激烈,面对这一挑战,如何利用先进的管理手段,提高客房的管理水平,是每一宾馆管理者所面临的重要课题。简单的服务标准已不是制胜的锦囊,只有管理做到最细微之处才能让顾客体会到宾馆服务高标准、高质量。而准确、周全、快捷往往就是最基本的成功要素,与此同时,现在正处于信息时代,因此采用电脑管理业务、财务等诸多环节已经成为宾馆行业不可或缺的先决条件。任务概述在使用电脑管理业务之前,工作人员是处于手工管理阶段的,因此,很多业务所需要的数据都需要手动记录到纸上,过程繁杂且容易出错,为了解决这一问,我们决定基于MySQL数据库设计一款程序,来提高工作人员的效率以及准确性。在此过程中,我们主要的任务是根据实际需求尽可能地进行全面的分析,然后根据所学知识设计相应的数据库,之后再根据需求作出符合要求的程序(程序是基于Java语言的)。设计环境硬件:PC机,要求能运行WindowsXP、Windows7或Windows8操作系统。软件:操作系统:Windows系列。数据库系统:MySQL程序设计语言:Java需求分析需求描述系统所需求的信息对象有七个,分别是房间类型、客房信息、客人信息、职位类型、职工信息、入住登记信息、退房记录、客房状态信息。各个对象的详细情况如下:房间类型:用来表示客房的种类与说明。管理人员可以对该信息对象进行增、删、查、改;前台工作人员则只能查看此信息。客房信息:用来表示某一个客房的具体情况。管理人员可以对该信息对象进行增、删、查、改;前台工作人员则只能查看此信息。客人信息:记录着客户的个人信息。管理人员与前台工作人员都可以对该信息对象进行增、删、查、改。职位类型:用来表示宾馆职工的职位种类。管理人员可以对该信息对象进行增、删、查、改;前台工作人员只能增、查、改。其余职工则只能查。职工信息:记录着宾馆所有职工的个人信息。只有管理人员可以对该信息对象进行增、删、查、改。入住登记信息:用来记录客房的入住情况。一般由前台工作人员可以对该信息对象进行增、查、改,而管理人员虽然拥有增、删、查、改的权限,但是只是在特殊情况系进行操作。退房信息:用来记录客户的退房情况。一般由前台工作人员可以对该信息对象进行增、查、改,而管理人员虽然拥有增、删、查、改的权限,但是只是在特殊情况系进行操作。房间状态信息:用来表示客房是否可以入住。一般由前台工作人员可以对该信息对象进行查、改,而管理人员虽然拥有增、删、查、改的权限,但是只是在特殊情况系进行操作。数据流图顶层数据流图第二层数据流图宾馆开房数据流图客户续房数据流图客户退房数据流图数据字典表2-1客房类型信息(RoomType):表中列名数据类型可否为空说明TypeNumCHAR(4)Notnull(主键)房间类型编号TypeDescriptionCHAR(20)Notnull房间类型说明PriceSMALLINTNotnull收费标准(每间每天)表2-2客房信息(RoomInfo):表中列名数据类型可否为空说明RoomNumCHAR(3)Notnull(主键)客房编号TypeNumCHAR(4)Notnull客房类型表2-3客户信息(CustomerInfo):表中列名数据类型可否为空说明IDCardCHAR(18)Notnull(主键)客户身份证号CustomerNameCHAR(10)Notnull客户姓名SexCHAR(1)Notnull客户性别PhoneNumCHAR(11)客户手机号码表2-4职位类型信息(PlaceType):表中列名数据类型可否为空说明PlaceNumCHAR(2)Notnull(主键)职位编号PlaceDescriptionCHAR(20)Notnull职位说明表2-5职工信息(StaffInfo):表中列名数据类型可否为空说明StaffNumCHAR(18)Notnull(主键)职工编号StaffNameCHAR(10)Notnull职工姓名IDCardCHAR(1)Notnull职工身份证号BirthDateDATENotnull职工出生日期SexCHAR(1)Notnull职工性别PlaceNumCHAR(2)Notnull职位编号PhoneNumCHAR(11)职工手机号码表2-6入住登记信息(Register):表中列名数据类型可否为空说明ReNumCHAR(18)Notnull(主键)登记编号RoomNumCHAR(3)Notnull入住房间号ReTimeCHAR(19)Notnull登记时间ResidentTimeSMALLINTNotnull住宿时间CustomerIDCardCHAR(18)Notnull客户身份证号RegistrarNumCHAR(4)Notnull登记人编号DepositSMALLINTNotnull押金表2-7退房记录信息(CheckOut):表中列名数据类型可否为空说明CheckOutNumCHAR(8)Notnull(主键)退房记录编号ReNumCHAR(8)Notnull入住登记编号OperatorNumCHAR(4)Notnull操作人编号表2-8房间状态信息(RoomState):表中列名数据类型可否为空说明RoomNumCHAR(3)Notnull(主键)客房编号CanCheckInCHAR(1)Notnull是否可以入住

数据库概念结构设计局部概念模式设计客户选房局部ER图入住登记局部ER图退房局部ER图职工就职局部ER图客房类型局部ER图客房状态局部ER图全局概念模式设计全局ER图功能模块图

4数据库逻辑设计关系模式根据前面的ER图,可得到相应的关系模式如下(关系的码用下划线标出):客户(身份证号,姓名,性别,手机号码);客房类型(类型编号,类型说明);客房信息(客房编号,客房类型编号);客房状态(客房编号,状态);登记(登记编号,登记时间,住宿时间,客户身份证号,押金,前台工作人员编号);退房(记录编号,入住登记编号,前台工作人员编号);职位(职位编号,职位说明);工作人员(职工编号,姓名,性别,身份证号,出生日期,手机号码,职位编号);规范化关系范式规范化过程图由逻辑结构设计中得出的关系模型可知,转化的各关系中均无重复项和空白数据项,故而是第一范式;所有非主属性否完全函数依赖于任一候选关键字,故而是第二范式;在第二范式的前提下,非主属性之间都不存在函数依赖关系,故而就属于第三范式。数据库表结构设计房间类型(RoomType)表设计房间信息(RoomInfo)表设计职位类型(PlaceType)表设计职工信息(StaffInfo)表设计客户信息(CustomerInfo)表设计房间状态信息(RoomStyle)表设计入住登记(Register)表设计退房记录(CheckOut)表设计安全控制数据库的安全性是指保护数据库以防止不合法使用所造成的数据泄露、更改或破坏。由于本系统只是针对宾馆的部分相关员工开放,因此在进行安全控制时,需要考虑以下两点:用户身份鉴别用户身份鉴别是数据库管理系统提供的最外层安全保护措施。每个用户在系统中都有一个用户标识。每个用户标识由用户名(username)和用户标识号(UID)两部分组成。UID在系统的整个生命周期内是唯一的。系统内部记录着所有合法用户的标识,系统鉴别是指由系统提供一定的方式让用户标识自己的名字或身份。每次用户要求进入系统时,有系统进行核对,通过鉴定后才提供使用数据库管理系统的权限。对于本系统,由管理员为相关员工分配对应权限的用户账号,且使用强制存取控制。因此员工在登录时可以通过相应的账号来验证自己的信息,并且,对于数据库的操作,局限在其账号所分配的权限内,这样,可以在一定程度上防止数据的泄露或破坏。审计审计功能把用户对数据库的所有操作自动记录下来放入审计日志中。审计员可以利用审计日志监控数据库中的各种行为,重现导致数据库现有状况的一系列事件,找出非法存取数据的人、时间和内容等。还可以通过对审计日志进行分析,对潜在的威胁提前采取措施加以防范。在本系统中,通过审计功能,将相关员工对于数据库的操作记录下来,这样,在发生意外情况时,就可以追责到人。

数据库物理设计与实施数据库选择本系统选择的是MySQL数据库,原因如下:MySQL是一种开放源代码的关系型数据库管理系统(RDBMS),MySQL数据库系统使用最常用的数据库管理语言--结构化查询语言(SQL)进行数据库管理;可靠性、稳定性、以及安全性完全满足当前系统的需求;它使用的核心线程是完全多线程,支持多处理器,处理速度快,性能合乎需求;嵌入到高级语言中使用方便。数据联系图数据库创建开启MySQL数据库的服务,并以超级用户登录;创建HotelManagementDB数据库,创建语句为:“CREATEDATABASEHotelManagementDB;”;使用“USEHotelManagementDB;”语句跳转到该数据库。数据表创建创建房间类型表:/*房间类型表(类型编号,类型说明,价格)*/CREATETABLERoomType( TypeNumSMALLINTPRIMARYKEYAUTO_INCREMENT, TypeDescriptionCHAR(20), PriceSMALLINT);创建房间信息表:/*房间信息表(房间编号,房间类型)*/CREATETABLERoomInfo( RoomNumCHAR(3)PRIMARYKEY, TypeNumSMALLINT, FOREIGNKEY(TypeNum)REFERENCESRoomType(TypeNum));创建房间状态表:/*房间状态表(房间号,是否可以入住)*/CREATETABLERoomState( RoomNumCHAR(3)PRIMARYKEY, CanCheckInCHAR(1), FOREIGNKEY(RoomNum)REFERENCESRoomInfo(RoomNum));创建职位类型表:/*职位类型表(职位编号,职位说明)*/CREATETABLEPlaceType( PlaceNumSMALLINTPRIMARYKEYAUTO_INCREMENT, PlaceDescriptionCHAR(20));创建职工信息表:/*职工表信息表(职工编号,姓名,身份证号,出身年月日,性别,职位编号,手机号码)*/CREATETABLEStaffInfo( StaffNumSMALLINTPRIMARYKEYAUTO_INCREMENT, StaffNameCHAR(20), IDCardCHAR(18), BirthDateDATE, SexCHAR(1), PlaceNumSMALLINT, PhoneNumCHAR(11), FOREIGNKEY(PlaceNum)REFERENCESPlaceType(PlaceNum));创建客户信息表:/*客户信息表(身份证号,姓名,性别,手机号码)*/CREATETABLECustomerInfo( IDCardCHAR(18)PRIMARYKEY, CustomerNameCHAR(10), SexCHAR(1), PhoneNumCHAR(11));创建入住登记表:/*入住登记表(登记编号,入住房间号,登记时间,住宿时间,客户身份证号,登记人编号,押金)(有可能一人登记两间房)*/CREATETABLERegister( ReNumSMALLINTPRIMARYKEYAUTO_INCREMENT, RoomNumCHAR(3),ReTimeCHAR(19), ResidentTimeSMALLINT, CustomerIDCardCHAR(18),RegistrarNumSMALLINT, DepositSMALLINT, FOREIGNKEY(RoomNum)REFERENCESRoomInfo(RoomNum), FOREIGNKEY(CustomerIDCard)REFERENCESCustomerInfo(IDCard), FOREIGNKEY(RegistrarNum)REFERENCESStaffInfo(StaffNum));创建退房记录表:/*退房记录表*/CREATETABLECheckOut( CheckOutNumSMALLINTPRIMARYKEYAUTO_INCREMENT, ReNumSMALLINT, OperatorNumSMALLINT, FOREIGNKEY(ReNum)REFERENCESRegister(ReNum), FOREIGNKEY(OperatorNum)REFERENCESStaffInfo(StaffNum));视图创建在为客户选择合适的房间的时候,经常要用到数据库中RoomType、RoomStyle两个基本表中的RoomNum、TypeDescription、Price三列数据,所以可以建立如下视图:CREATEVIEWSELECT_ROOMASSELECTRoomInfo.RoomNum,TypeDescription,PriceFROMRoomInfo,RoomType,R

温馨提示

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

评论

0/150

提交评论