DataBase.docx

上传人:b****5 文档编号:7668331 上传时间:2023-01-25 格式:DOCX 页数:13 大小:122.16KB
下载 相关 举报
DataBase.docx_第1页
第1页 / 共13页
DataBase.docx_第2页
第2页 / 共13页
DataBase.docx_第3页
第3页 / 共13页
DataBase.docx_第4页
第4页 / 共13页
DataBase.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

DataBase.docx

《DataBase.docx》由会员分享,可在线阅读,更多相关《DataBase.docx(13页珍藏版)》请在冰豆网上搜索。

DataBase.docx

DataBase

课程设计报告

课程设计题目:

酒店管理系统

 

学生姓名:

侯清源

专业:

软件嵌入

班级:

10211111

学号:

1021111118

指导教师:

邓薇

 

2011-11-22

东华理工大学

课程设计评分表

学生姓名:

班级:

学号:

课程设计题目:

项目内容

满分

实评

能结合所学课程知识、有一定的能力训练。

符合选题要求

(5人一题)

10

工作量适中,难易度合理

10

能熟练应用所学知识,有一定查阅文献及运用文献资料能力

10

理论依据充分,数据准确,公式推导正确

10

能应用计算机软件进行编程、资料搜集录入、加工、排版、制图等

10

能体现创造性思维,或有独特见解

10

总体设计正确、合理,各项技术指标符合要求。

10

说明书综述简练完整,概念清楚、立论正确、技术用语准确、结论严谨合理;分析处理科学、条理分明、语言流畅、结构严谨、版面清晰

10

设计说明书栏目齐全、合理,符号统一、编号齐全。

 格式、绘图、表格、插图等规范准确,符合国家标准

10

有一定篇幅,字符数不少于5000

10

总分

100

指导教师评语:

 

指导教师签名:

年月日

(注:

评分表填写好个人及课程设计题目等信息后放在课程设计报告的封面后的第一页,和课程设计报告一起装订)

1,系统功能分析

2,数据分析和E-R图

3,SQL建表,并根据上述分析建立主键,索引等相关约束

4,建立存储过程

5,建立触发器,保证数据一致性

6,正式操作实验部分

7,实验总结

 

房间信息表Room(房间号Cid,住房状态Rstat,房价Rprice)

客户住房信息表CR(房间号Rid,客户身份号Cid,入住日期Rindate,应付金额Rmoney)

3,SQL建表,并根据上述分析建立主键,索引等相关约束

1,建立数据库

CREATEDATABASEHotelMan--------1,建立数据库:

HotelMan

ON---------数据库文件

NAME=HotelMan,---------数据库名:

HotelMan

FILENAME='D:

\HotelMan.mdf',-------存储文件名:

HotelMan.mdf

SIZE=2024KB,--------文件大小:

2024kb

MAXSIZE=UNLIMITED,---------数据库文件大小:

没有限制

FILEGROWTH=1024KB----------文件自增长大小:

1024kb

LOGON--------备份数据库文件

NAME=Hotel_log,---------备份数据库名:

HotelMan_log

FILENAME='D:

\HotelMan_log.ldf',----------备份数据文件名:

HotelMan_log.ldf

SIZE=2024KB,----------文件大小:

2024kb

MAXSIZE=UNLIMITED,---------数据库文件大小:

没有限制

FILEGROWTH=1024KB---------文件自增长大小:

1024kb

2,创建客户信息表Customer

USEHotelMan---利用数据库HotelMan

CREATETABLECustomer---创建表:

Customer

CidCHAR(8)CONSTRAINTC_PrimPRIMARYKEY,---客户号Cid:

主键约束

CNCHAR(8)NOTNULL,----客户姓名CN:

非空约束

SexCHAR

(2)DEFAULT'男',---性别:

默认为男

AgeINTDEFAULT20---年龄:

默认为20岁

CREATEUNIQUEINDEXC_indexONCustomer(Cid)---创建唯一索引:

C_index

3,创建房间信息表Room

USEHotelMan---利用数据库:

HotelMan

CREATETABLERoom---创建表:

Room

RidCHAR(8)CONSTRAINTR_PrimPRIMARYKEY,--房间号Rid:

主键约束

RpriceMONEYNOTNULLDEFAULT50,---房价Rprice:

默认为50

RstatCHAR

(2)NOTNULLDEFAULT'空'---住房状态Rstat:

默认为空

CREATEUNIQUEINDEXR_indexONRoom(Rid)---创建唯一索引:

R_inde

4,客户住房信息表CR

USEHotelMan----利用数据库:

HotelMan

CREATETABLECR----创建表:

CR

RidCHAR(8),----房间号Rid

CidCHAR(8),---客户号Cid

RindateDATETIME,---入住日期Rindate

RmoneyMONEY,---应付房价Rmoney

CONSTRAINTCR_PrimPRIMARYKEY(Rid,Cid)---Rid和Cid为主键

1,建立存储过程

1,创建添加客户的存储过程

CREATEPROCEDURECustomerAdd---创建添加客户信息的存储过程

@cidCHAR(8),

@cnCHAR(8),

@sexCHAR

(2),

@ageINT

AS

INSERTINTOCustomerVALUES(@cid,@cn,@sex,@age)

2,创建修改客户信息的存储过程

CREATEPROCEDURECustomerEdit

@cidCHAR(8),

@cnCHAR(8),

@sexCHAR

(2),

@ageINT,

@infoVARCHAR(30)OUTPUT

AS

IFEXISTS(SELECT*FROMCustomerWHERECid=@cid)

UPDATECustomer

SETCN=@cn,

Sex=@sex,

Age=@age,

@info='修改成功'WHERECid=@cid

ELSE

SET@info='不存在该客户!

'

3,创建删除客户信息的存储过程

CREATEPROCEDURECustomerDelete

@cidCHAR(8),

@infoVARCHAR(20)OUTPUT

AS

IFEXISTS(SELECT*FROMCustomerWHERECid=@cid)

BEGIN

DELETEFROMCustomerWHERECid=@cid

IF@@ERROR=0

SET@info='删除成功'

ELSE

SET@info='删除失败'

END

ELSE

SET@info='不存在该客户'

4,创建添加房间信息的存储过程

CREATEPROCEDURERoomAdd

@ridCHAR(8),

@priceMONEY

AS

INSERTINTORoom(Rid,Rprice)VALUES(@rid,@price)

5,创建修改房间信息的存储过程

CREATEPROCEDURERoomEdit

@ridCHAR(8),

@rstatCHAR(8),

@priceMONEY,

@infoVARCHAR(20)OUTPUT

AS

IFEXISTS(SELECT*FROMRoomWHERERid=@rid)

BEGIN

UPDATERoom

SETRid=@rid,

Rstat=@rstat,

Rprice=@price,

@info='修改成功'WHERERid=@rid

END

ELSE

SET@info='不存在该房间'

6,创建删除房间的存储过程

CREATEPROCEDURERoomDelete

@ridCHAR(8),

@infoVARCHAR(20)OUTPUT

AS

IFEXISTS(SELECT*FROMRoomWHERERid=@rid)

BEGIN

DELETEFROMRoomWHERERid=@rid

IF@@ERROR=0

SET@info='删除成功'

ELSE

SET@info='删除失败'

END

ELSE

SET@info='不存在该房间'

7,创建添加客户住房信息的存储过程—同时修改对应房间为住

CREATEPROCEDURECRAdd

@ridCHAR(8),

@cidCHAR(8),

@infoVARCHAR(30)OUTPUT

AS

IFEXISTS(SELECT*FROMRoom,CustomerWHERERid=@ridANDCid=@cid)

BEGIN

INSERTINTOCR(Rid,Cid,Rindate)VALUES(@rid,@cid,GETDATE())

UPDATERoomSETRstat='住'WHERERid=@rid

SET@info='客户住房信息添加成功!

'

END

IFNOTEXISTS(SELECT*FROMRoomWHERERid=@rid)

SET@info='没有该房间号,不能添加!

'

IFNOTEXISTS(SELECT*FROMCustomerWHERECid=@cid)

SET@info='该客户没有登记身份,不能添加!

'

ELSE

SET@info='没有该房间号和客户身份,不能添加!

'

8,创建修改客户住房信息的存储过程

CREATEPROCEDURECREdit

@ridCHAR(8),

@cidCHAR(8),

@indateDATETIME,

@infoVARCHAR(20)OUTPUT

AS

IFEXISTS(SELECT*FROMCRWHERECid=@cidANDRid=@rid)

BEGIN

UPDATECR

SETRindate=@indate,

@info='修改成功'

WHERECid=@cidANDRid=@rid

END

ELSE

SET@info='不存在该客户的住房信息'

5,建立触发器,保证数据一致性

1,更新显示的触发器

当Customer插入、删除、更新时显示Customer的内容

CREATETRIGGERChangeDisplayCustomer

ONCustomer

FORINSERT,DELETE,UPDATE

AS

SELECT*FROMCustomer

当CR表插入、删除、更新时显示CR、Customer、Room的内容

CREATETRIGGERChangeDisplayCR

ONCR

FORINSERT,DELETE,UPDATE

AS

SELECT*FROMCR

SELECT*FROMCustomer

SELECT*FROMRoom

当Room表插入、删除、更新显示Room的信息

CREATETRIGGERChangeDisplayRoom

ONRoom

FORINSERT,DELETE,UPDATE

AS

SELECT*FROMRoom

2,创建结账的存储过程—结账时修改对应房间状态为空

CREATEPROCEDURECountMoneyRidCid

@ridCHAR(8),

@cidCHAR(8),

@infoVARCHAR(20)OUTPUT

AS

IFEXISTS(SELECT*FROMCRWHERERid=@ridANDCid=@cid)

BEGIN

UPDATECR

SETRmoney=(SELECTRpriceFROMRoomWHERERid=@rid)*DATEDIFF(dd,(SELECTRindateFROMCRWHERECid=@cid),GETDATE())

WHERECid=@cid

UPDATERoom

SETRstat='空',@info='结账成功'WHERERid=@rid

END

ELSE

SET@info='要结账的房间号或者客户号不存在,提示客户!

'

6,正式操作实验部分

1,Room

EXECSp_helptextRoomAdd

EXECRoomAdd@rid='001',@price=20

EXECRoomAdd@rid='002',@price=20

EXECRoomAdd@rid='003',@price=20

EXECRoomAdd@rid='004',@price=20

EXECRoomAdd@rid='005',@price=20

EXECRoomAdd@rid='006',@price=20

EXECRoomAdd@rid='007',@rstat='空',@price=20

2,Customer

EXECSp_helptextCustomerAdd

SELECT*FROMCustomer

EXECCustomerAdd@cid='1',@cn='诸金宏',@sex='男',@age=20

EXECCustomerAdd@cid='2',@cn='李廷森',@sex='男',@age=20

EXECCustomerAdd@cid='3',@cn='邓声宇',@sex='男',@age=20

EXECCustomerAdd@cid='4',@cn='侯清源',@sex='男',@age=20

3,CR

EXECSp_helptextCRAdd

SELECT*FROMCR

DROPTABLECR

DECLARE@infoVARCHAR(20

EXECCRAdd@rid='001',@cid='1',@infooutput

print@message

EXECCRAdd@rid='002',@cid='2',@info='0'

EXECCRAdd@rid='003',@cid='3',@info='0'

EXECCRAdd@rid='004',@cid='4',@info='0'

4,CountMoneyRidCid

EXECSp_helptextCountMomeyRidCid

EXECCountMoneyRidCid@rid='002',@cid='2',@info='0'

7,实验总结

在本次实验中,主要学会了如何创建触发器。

保证自动显示数据,自动结账。

最主要是了解了如何开发VB数据库系统应用。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 职业教育 > 职业技术培训

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1