数据库-酒店客房信息管理系统剖析_第1页
数据库-酒店客房信息管理系统剖析_第2页
数据库-酒店客房信息管理系统剖析_第3页
数据库-酒店客房信息管理系统剖析_第4页
数据库-酒店客房信息管理系统剖析_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

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

文档简介

课程设计报告 课程设计题目:数据库客房信息管理系统 学生姓名: 汪世生 专 业: 软件工程 班 级: z (卓越班) 学 号: 5 指导教师:江霞 本系统采用vb程序开发,要的库友请联系 (QQ)第1页 2016年 1月 6日Asdasd目录(Contents) 第 3-4页课程设计相关要求1. 需求2. 功能预览流程图 第5-6页 需求分析 第 7 页 ER图 第 8 页 ER图转为关系模式 第 9页 数据库表的数据字典1. 客房表(room) 2. 客户信息表(customer)3. 退/订房表(checkinout) 第10-11页 数据库表 第12-16页 创建数据库及各表、视图、存储过程、触发器的SQL代码1. 包括增、删、改、查 第17-21页 各功能实例演示 第 22 页 .总结第2页第2页一、课程设计相关要求 1.课程设计的目的和意义数据库应用开发课程设计是实践性教学环节之一,是数据库原理及应用课程的辅助教学课程。通过课程设计,使学生掌握数据库的基本概念,结合实际的操作和设计,巩固课堂教学内容,使学生掌握数据库系统的基本概念、原理和技术,将理论与实际相结合,应用现有的数据建模工具和数据库管理系统软件,规范、科学地完成一个小型数据库的设计与实现,把理论课与实验课所学内容做一综合,并在此基础上强化学生的实践意识、提高其实际动手能力和创新能力。 2.设计要求通过设计一完整的数据库,使学生掌握数据库设计各阶段的输入、输出、设计环境、目标和方法。熟练掌握两个主要环节概念结构设计与逻辑结构设计;熟练的使用SQL语言实现数据库的建立、应用和维护。(1) 根据题目写出需求分析(详细的功能描述)(2) 画出全局E-R图(3) 将E-R图转换为关系模式,定义主键、外键(4) 在SQL Server中创建数据库及数据表(至少3个数据表),定义约束。(5) 输入数据,至少创建4个视图,便于用户查看数据,数据可涉及多个表。(6) 至少创建3个存储过程,实现系统的主要功能(7) 创建1个登录、数据库用户,并分配数据库管理员权限。(8) 至少创建2个触发器,保证数据的正确性、数据的自动更新。(9) 为数据库做完全备份 成果: 报告,数据库文件(mdf和ldf),备份文件(bak), 前台程序(VB或其他语言实现)。 3.本课程设计内容与要求掌握数据库的设计的每个步骤,以及提交各步骤所需图表和文档。通过使用目前流行的DBMS,建立所设计的数据库,并在此基础上实现数据库查询、连接等操作和触发器、存储器等对象设计。(1)需求分析:根据自己的选题,给出功能模块图和必要的文字说明。(2)概念结构设计:绘制所选题目详细的E-R图。第3页(3)逻辑结构设计:将E-R图转换成等价的关系模式;按需求对关系模式进行规范化;对规范化后的模式进行评价,调整模式,使其满足性能、存储等方面要求;根据局部应用需要设计外模式。(4)物理结构设计:选定实施环境,存取方法等。(5)数据实施和维护:用DBMS建立数据库结构,加载数据,实现各种查询、链接应用程序,设计库中触发器、存储器等对象,并能对数据库做简单的维护操作。(6)成果:课程设计报告,程序,数据文件,日志文件,备份文件 4.课程设计报告要求课程设计报告有四个方面的要求: (1)问题描述。包括此问题的理论和实际两方面。 (2)解决方案。包括:E-R模型要设计规范、合理,关系模式的设计至少要满足第三范式,数据库的设计要考虑安全性和完整性的要求。(3)解决方案中所设计的E-R模型、关系模式的描述与具体实现的说明。(4)具体的解决实例。第4页二需求分析阶段 1.需求进行数据库系统设计,首先要对系统的现状进行分析,明确客房信息管理系统的相关需求1.2客户管理 (1)新建客户 (2)修改客户信息 (3)客户信息统计 课程设计所要实现的目标、需求和功能,制定和选择一个较好的系统方案,有计划,有头绪,有思路,不能盲目的就着手去做,从而达到一个合理的优化系统。需求分析在于弄清这次课程设计的酒店管理系统的确切要求,因此,数据库课程设计的第一步就是明确数据库的目的和如何使用该系统。明确目的之后,才可以确定自己需要保存那些表信息,以及每个表中需要保存哪些字段。对于酒店客房管理系统,需要了解以下内容:1.1信息管理 (1)个人信息 (2)用户信息 (3)客户信息 (4)房间信息1.4入住管理(1)入住(客房状态同时置为非空)(2)退房(客房状态同时置为空) (5)订单信息(输入房号,结束账) 1.3房间管理 (1) 查看客房信息(2) 空房统计(3) 添加房间第5页(4) 删除房间(有人预定的也会删除)2. 功能预览图 客 房 信 息 管 理 系 统 否 (员工)是是否为管理员? 客 户 管 理信 息 管 理入 住 管 理房 间 管 理客 户 管 理入 住 管 理信 息 管 理是是否是否退出?是否退出?否第6页 结束 修改客户信息三 客房管理系统E-R图 管理 工 作 人 员N1 管 理 员第7页修改房间信息状态(是否空) 价 格 类 型 房 号 手机号 ID 号 性 别 姓 名 房 间NMN1 管理1N 客 户退/订房 四 ER转为关系模式 1. 工作人员(工作人员ID号(主键), 管理员ID(外键)2. 管理员(管理员ID(主键)3. 客户(客户ID号(主键),姓名,性别,电话,管理员ID(外键)4. 房间(房间号(主键),类型,价格,状态,客户姓名,性别,电话,客户ID号(外键),管理员ID(外键)5. 管理(客户ID号(主键),工作人员ID号(主键),客户姓名,客户性别,客户电话) 第8页五 数据字典 1.数据项 数据项名称数据类型及长度说明房号字符,可变长度10主键,不能为空 客房类型字符,可变长度20 价格(*/天)Float型 客房状态字符,可变长度15 客户身份证号字符,可变长度20主键,不能为空 客户名字字符,可变长度20 性别字符,可变长度2不能为空(男/女) 联系电话字符,可变长度15 入住时间Date型不能为空退房时间Date型不能为空第9页六 数据库表 1.客房信息表room列名数据类型长度允许空字段说明主,外键Rnum字符10否客房号Pk,FkRtype字符20是客房类型RpriceFloat是客房单价Rstate字符15是客房状态2.客户信息表 customer列名数据类型长度允许空字段说明主,外键Cid字符20否身份证号Pk,FkCname字符20是名字CsexFloat2否性别Cphone字符15是联系电话3. 退/订房表checkinout第10页4.退/订房表checkinout列名数据类型长度允许空字段说明主,外键DateinDate否入住时间DateoutDate否退房时间Cid字符2否身份证号PkRnum字符15否预定房号Pk第11页七. SQL代码客房信息管理:客房房号,类型,价格,状态等信息录入 客户信息管理:客户信息录入、修改、删除(客户身份证号,姓名,性别,联系电话) 客房信息查询:按类型、状态(是否为空)、房号等关键字查询客房的基本信息和入住情况 入住、退房、结算、账单打印create database cus_roomon primary( name=cus_room, filename=e:数据库cus_room.mdf, size=10, maxsize=50, filegrowth=2)log on( name=cus_room1, filename=e:数据库cus_room.ldf, size=10, maxsize=50, filegrowth=2)use cus_roomcreate table room( rnum varchar(10) constraint pk_rnum primary key not null, rtype varchar(20), rprice decimal, rstate varchar(15)create table customer( cid varchar(20) constraint pk_cid primary key not null, cname varchar(20),第12页 csex char(2) constraint ck_csex check(csex=男 or csex=女), cphone varchar(15)create table checkinout( datein datetime, dateout datetime, cid varchar(20) constraint fo_cid foreign key references customer(cid) on update cascade on delete cascade,-当对应主键(cid)发生改变时,该字段对应数据也会发生修改 rnum varchar(10) constraint fo_rnum foreign key references room(rnum) on update cascade on delete cascade,-当对应主键(rnum)发生改变时,该字段对应数据也会发生修改 constraint two_pk primary key(cid,rnum) -创建视图view1 用于结算房租create view view1asselect room.rnum,customer.cid,rprice,datein,dateout from room,customer,checkinout where room.rnum=checkinout.rnum and customer.cid=checkinout.ciddrop view view1select *from view1 -创建视图view2,用于订房对象(人)的选择create view view2asselect customer .cid from customer where cid not in (select cid from checkinout where customer .cid =checkinout.cid)select * from view2-创建视图view3,用于订房对象(房号)的选择create view view3as第13页select room.rnum from room where rnum not in (select rnum from checkinout where room.rnum =checkinout.rnum )select * from view3-创建视图view4,用于综合查询create view view4asselect room.rnum,customer.cid,cname,csex,cphone,rprice,rtype,datein from room,customer,checkinout where room.rnum=checkinout.rnum and customer.cid=checkinout.cid-drop view view4select *from view4-创建视图view5,用于综合查询对象(人)的选择create view view5asselect customer .cid from customer select * from view5-创建视图view6,用于订房对象(房号)的选择create view view6asselect room.rnum from roomselect * from view6-创建存储过程p1,用于综合查询的按cid(身份证号)查询create procedure p1(cid varchar(20)as if exists (select * from view4 where cid=cid) select * from view4 where cid=cidelse第14页 print该客户暂时没有订房-drop proc p1p1123-创建存储过程p2,用于综合查询的按客房rtype(类型)查询create procedure p2(rtype varchar(10)asselect * from room where rtype=rtypep2单人-创建存储过程p3,用于综合查询的按客房rstate(状态)查询create procedure p3(rstate varchar(10)asselect * from room where rstate=rstatep3有-创建触发器tr1,当chechinout(客房记录)表有人退房时,删除customer(客户信息)表中对应的客户信息create trigger tr1on checkinoutfor deleteasdelete from customer where cid=(select cid from deleted )-drop trigger tr1-创建触发器tr2,当chechinout(客房记录)表有用户订房时,room表对应的房号的状态更新为无create trigger tr2on checkinoutfor insertas第15页update room set rstate =无 where rnum=(select rnum from inserted)-drop trigger tr2-创建触发器tr3,当chech

温馨提示

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

评论

0/150

提交评论