DataBase.doc_第1页
DataBase.doc_第2页
DataBase.doc_第3页
DataBase.doc_第4页
DataBase.doc_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

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

文档简介

课程设计报告课程设计题目:酒店管理系统 学生姓名:侯清源专 业:软件嵌入班 级:10211111学 号:1021111118指导教师:邓薇 2011-11-22东华理工大学课程设计评分表学生姓名: 班级: 学号:课程设计题目:项目内容满分实 评选题能结合所学课程知识、有一定的能力训练。符合选题要求(5人一题)10工作量适中,难易度合理10能力水平能熟练应用所学知识,有一定查阅文献及运用文献资料能力10理论依据充分,数据准确,公式推导正确10能应用计算机软件进行编程、资料搜集录入、加工、排版、制图等10能体现创造性思维,或有独特见解10成果质量总体设计正确、合理,各项技术指标符合要求。10说明书综述简练完整,概念清楚、立论正确、技术用语准确、结论严谨合理;分析处理科学、条理分明、语言流畅、结构严谨、版面清晰10设计说明书栏目齐全、合理,符号统一、编号齐全。格式、绘图、表格、插图等规范准确,符合国家标准10有一定篇幅,字符数不少于500010总 分100指导教师评语: 指导教师签名: 年 月 日(注:评分表填写好个人及课程设计题目等信息后放在课程设计报告的封面后的第一页,和课程设计报告一起装订)目 录1,系统功能分析2,数据分析和E-R图3,SQL建表,并根据上述分析建立主键,索引等相关约束4,建立存储过程5,建立触发器,保证数据一致性6,正式操作实验部分7,实验总结1, 系统功能分析设计酒店管理系统,是为了方便酒店管理人员,提高工作效率。进而要实现的功能有;1, 管理客房信息,修改客房的房价,住房状态等2, 管理客户信息,客户入住时登记客户信息:身份证号,姓名,性别,年龄3, 当客户入住时:产生一个客户住房信息表:该表以客房号,客户号,入住日期,应付房价。其中,用户退房时自动算出房价4, 上面的关系表中都要求实现输入信息,修改信息,删除信息2, 数据分析和E-R图设计 RindatemCustomerRoomCRSexAgeCidCNRmoneyRidRpriceRstatnE-R图转换为关系模式图客户信息表Customer(客户身份号Cid,姓名CN,性别Sex,年龄Age)房间信息表Room(房间号Cid,住房状态Rstat,房价Rprice)客户住房信息表CR(房间号Rid,客户身份号Cid,入住日期Rindate,应付金额Rmoney)3,SQL建表,并根据上述分析建立主键,索引等相关约束 1,建立数据库CREATE DATABASE HotelMan -1,建立数据库:HotelManON -数据库文件( NAME=HotelMan, -数据库名:HotelMan FILENAME=D:HotelMan.mdf, -存储文件名:HotelMan.mdf SIZE=2024KB, -文件大小:2024kb MAXSIZE=UNLIMITED, -数据库文件大小:没有限制 FILEGROWTH=1024KB -文件自增长大小:1024kb )LOG ON -备份数据库文件( NAME=Hotel_log, -备份数据库名:HotelMan_log FILENAME=D:HotelMan_log.ldf, -备份数据文件名:HotelMan_log.ldf SIZE=2024KB, -文件大小:2024kb MAXSIZE=UNLIMITED, -数据库文件大小:没有限制 FILEGROWTH=1024KB -文件自增长大小:1024kb)2,创建客户信息表CustomerUSE HotelMan -利用数据库HotelManCREATE TABLE Customer -创建表:Customer( Cid CHAR(8)CONSTRAINT C_Prim PRIMARY KEY, -客户号Cid:主键约束 CN CHAR(8)NOT NULL, -客户姓名CN:非空约束 Sex CHAR(2)DEFAULT男, -性别:默认为 男 Age INT DEFAULT 20 -年龄:默认为 20 岁)CREATE UNIQUE INDEX C_index ON Customer(Cid) -创建唯一索引:C_index3,创建房间信息表RoomUSE HotelMan -利用数据库:HotelManCREATE TABLE Room -创建表:Room( Rid CHAR(8)CONSTRAINT R_Prim PRIMARY KEY, -房间号Rid:主键约束 Rprice MONEY NOT NULL DEFAULT 50, -房价Rprice:默认为50 Rstat CHAR(2) NOT NULL DEFAULT空 -住房状态Rstat:默认为空)CREATE UNIQUE INDEX R_index ON Room(Rid) -创建唯一索引:R_inde 4,客户住房信息表CRUSE HotelMan -利用数据库:HotelManCREATE TABLE CR -创建表:CR( Rid CHAR(8), -房间号Rid Cid CHAR(8), -客户号Cid Rindate DATETIME, -入住日期Rindate Rmoney MONEY, -应付房价Rmoney CONSTRAINT CR_Prim PRIMARY KEY(Rid,Cid) -Rid和Cid为主键)3, 建立存储过程 1,创建添加客户的存储过程CREATE PROCEDURE CustomerAdd -创建添加客户信息的存储过程( cid CHAR(8), cn CHAR(8), sex CHAR(2), age INT )AS INSERT INTO Customer VALUES(cid,cn,sex,age) 2,创建修改客户信息的存储过程CREATE PROCEDURE CustomerEdit( cid CHAR(8), cn CHAR(8), sex CHAR(2), age INT , info VARCHAR(30)OUTPUT)ASIF EXISTS(SELECT * FROM Customer WHERE Cid=cid) UPDATE Customer SET CN=cn, Sex=sex, Age=age, info=修改成功WHERE Cid=cidELSE SET info=不存在该客户! 3,创建删除客户信息的存储过程CREATE PROCEDURE CustomerDelete( cid CHAR(8), info VARCHAR(20)OUTPUT)ASIF EXISTS(SELECT * FROM Customer WHERE Cid=cid) BEGIN DELETE FROM Customer WHERE Cid=cid IF ERROR=0 SET info=删除成功 ELSE SET info=删除失败 ENDELSE SET info=不存在该客户 4,创建添加房间信息的存储过程CREATE PROCEDURE RoomAdd( rid CHAR(8), price MONEY)ASINSERT INTO Room(Rid,Rprice) VALUES(rid,price) 5,创建修改房间信息的存储过程CREATE PROCEDURE RoomEdit( rid CHAR(8), rstat CHAR(8), price MONEY, info VARCHAR(20)OUTPUT)ASIF EXISTS(SELECT * FROM Room WHERE Rid=rid) BEGIN UPDATE Room SET Rid=rid, Rstat=rstat, Rprice=price, info=修改成功 WHERE Rid=rid ENDELSE SET info=不存在该房间 6,创建删除房间的存储过程CREATE PROCEDURE RoomDelete( rid CHAR(8), info VARCHAR(20)OUTPUT)ASIF EXISTS(SELECT * FROM Room WHERE Rid=rid) BEGIN DELETE FROM Room WHERE Rid=rid IF ERROR=0 SET info=删除成功 ELSE SET info=删除失败 ENDELSE SET info=不存在该房间 7,创建添加客户住房信息的存储过程同时修改对应房间为住CREATE PROCEDURE CRAdd( rid CHAR(8), cid CHAR(8), info VARCHAR(30)OUTPUT)ASIF EXISTS(SELECT * FROM Room,Customer WHERE Rid=rid AND Cid=cid) BEGIN INSERT INTO CR(Rid,Cid,Rindate) VALUES(rid,cid,GETDATE() UPDATE Room SET Rstat=住WHERE Rid=rid SET info=客户住房信息添加成功! ENDIF NOT EXISTS(SELECT * FROM Room WHERE Rid=rid) SET info=没有该房间号,不能添加!IF NOT EXISTS(SELECT *FROM Customer WHERE Cid=cid) SET info=该客户没有登记身份,不能添加!ELSE SET info=没有该房间号和客户身份,不能添加! 8,创建修改客户住房信息的存储过程CREATE PROCEDURE CREdit( rid CHAR(8), cid CHAR(8), indate DATETIME, info VARCHAR(20)OUTPUT)ASIF EXISTS(SELECT *FROM CR WHERE Cid=cid AND Rid=rid) BEGIN UPDATE CR SET Rindate=indate, info=修改成功 WHERE Cid=cid AND Rid=rid ENDELSE SET info=不存在该客户的住房信息5,建立触发器,保证数据一致性 1,更新显示的触发器当Customer插入、删除、更新时显示Customer的内容CREATE TRIGGER ChangeDisplayCustomerON CustomerFOR INSERT,DELETE,UPDATEASSELECT * FROM Customer当CR表插入、删除、更新时显示CR、Customer、Room的内容CREATE TRIGGER ChangeDisplayCRON CRFOR INSERT,DELETE,UPDATEASSELECT * FROM CRSELECT * FROM CustomerSELECT * FROM Room当Room表插入、删除、更新显示Room的信息CREATE TRIGGER ChangeDisplayRoomON RoomFOR INSERT,DELETE,UPDATEASSELECT * FROM Room 2,创建结账的存储过程结账时修改对应房间状态为空CREATE PROCEDURE CountMoneyRidCid( rid CHAR(8), cid CHAR(8), info VARCHAR(20)OUTPUT)ASIF EXISTS(SELECT * FROM CR WHERE Rid=rid AND Cid=cid) BEGIN UPDATE CR SET Rmoney=(SELECT Rprice FROM Room WHERE Rid=rid)*DATEDIFF(dd,(SELECT Rindate FROM CR WHERE Cid=cid),GETDATE() WHERE Cid=cid UPDATE Room SET Rstat=空 ,info=结账成功WHERE Rid=rid ENDELSE SET info=要结账的房间号或者客户号不存在,提示客户!6,正式操作实验部分1,RoomEXEC Sp_helptext RoomAddEXEC RoomAdd rid=001,price=20EXEC RoomAdd rid=002,price=20EXEC RoomAdd rid=003,price=20EXEC RoomAdd rid=004,price=20EXEC RoomAdd rid=005,price=20EXEC RoomAdd rid=006,price=20EXEC RoomAdd rid=007,rstat=空,price=202,CustomerEXEC Sp_helptext CustomerAddSELECT * FROM CustomerEXEC CustomerAdd cid=1,cn=诸金宏,sex=男,age=20EXEC CustomerAdd cid=2,cn=李廷森,sex=男,age=20EXEC CustomerAdd cid=3,cn=邓声宇,sex=男,age=20EXEC CustomerAdd cid=4,cn=侯清源,sex=男,age=203,CREXEC Sp_helptext CRAddSELECT *FROM CRDROP TABLE CRDECLARE info VARCHAR(20EX

温馨提示

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

评论

0/150

提交评论