1、旅游管理系统课程设计报告旅游管理系统课程设计报告 班级:软件1202班 学号: :赖子郁 完成日期:2015-01-09 一、项目功能需求 旅游管理系统项目功能:1.管理员输入旅游景点信息2.管理员输入旅游线路信息3.管理员选择旅游线路的旅游景点4.管理员查看用户预定信息5.管理员输入用户结算信息6.用户查看旅游项目信息7.用户预定旅游线路8.用户查看订单状态二、数据库设计(一)数据库结构设计 1. 旅游管理系统E-R图图1 系统E-R图2、旅游管理系统数据库关系图图2 数据库关系图3、旅游管理系统数据字典序号数据表名称说明备注1area地域2line旅游线路3line_spot旅游线路与景点
2、关联4member会员5operator员工6spot旅游景点7travelplan旅游计划8travelplanorder旅游计划预订表1 数字字典序号数据表名称数据类型长度是否允许为空字段说明备注1idsint8否ids主键,自增列2areaidnvarchar50否地域编码3name nvarchar50否名称表2 area表序号数据表名称数据类型长度是否允许为空字段说明备注1idsint8否编号主键,自增列2namenvarchar200否路线名称3pricedecimal(18,2)否路线价格4daysint8否备注5isrecommendedint8否是否推荐6spotnumint
3、8否景点数量7updatetimedatatime8否最近修改时间8isdeletedint8否是否删除1:已删除,0:未删除表3 line表序号数据表名称数据类型长度是否允许为空字段说明备注1idsint8否编号主键,自增列2lineidsint8否路线编号参照line(ids)3spotidsint8否景点编号参照spot(ids)表4 line_spot表序号数据表名称数据类型长度是否允许为空字段说明备注1idsint8否编号主键,自增列2memberidnvarchar50否会员账号3membername nvarchar50否会员名称4passwords nvarchar50否密码5
4、realnamenvarchar50否真实6sexint8否性别1:男,2:女7idnumnvarchar50否号8emailnvarchar50否9telephone nvarchar50否手机表5 member表序号数据表名称数据类型长度是否允许为空字段说明备注1idsint8否编号主键,自增列2useridnvarchar50否管理员账号3usernamenvarchar50否管理员名称4passwordsnvarchar50否密码5idnumnvarchar50否号6isadminint8否是否具有管理员权限表6 operator表序号数据表名称数据类型长度是否允许为空字段说明备注1i
5、dsint8否编号主键,自增列2namenvarchar200否景点名称3pricedecimal(18,2)否价格4areaint8否所属地域参照area(ids)5imgimage是景点图片6desvarchar2000是景点描述7isdeletedint8否是否已删除1:已删除,0:未删除表7 spot表序号数据表名称数据类型长度是否允许为空字段说明备注1idsint8否编号主键,自增列2planidnvarchar200否计划编号3lineidsint8否旅游线路ids参照line(ids)4expect_people_num int8否预订人数5actual_people_num i
6、nt8是实际预订人数6expect_starttime datetime否计划开始时间7actual_starttime datetime是实际开始时间8updatetimedatetime否最近修该时间9planstatusint8否计划状态1:发布,2:进行,3:结束10isdeletedint8否是否删除1:已删除,0:未删除表8 traveplan表序号数据表名称数据类型长度是否允许为空字段说明备注1idsint8否编号主键,自增列2planidsint8否旅游计划ids参照traveplan(ids)3memberidsint8否预订用户ids参照member(ids)4ordert
7、imedatetime8否预订时间5ispayint8否是否支付1:支付,2:未支付6before_discount_moneydecimal (18,2)否折扣前金额7charge_moneydecimal (18,3)否实收金额8paytimedatetime8是支付时间表9 traveplanorder表(二)旅游管理系统视图 1、用户查看账户预订情况CREATE VIEW memberorderASSELECT member.membername AS 用户, member.sex AS 性别, line.name AS 路线, travelplanorder.ordertime AS
8、 预订时间, travelplanorder.ispay AS 是否支付, travelplanorder.before_discount_money AS 折扣前金额, member.telephone AS , member.email AS FROM line INNER JOIN member ON line.ids = member.ids INNER JOINtravelplanorder ON member.ids = travelplanorder.memberids2、管理员查看旅游计划的预订情况CREATE VIEW operatorCheckorderASSELECT l
9、ine.name AS 线路, member.membername AS 用户, travelplanorder.ordertime AS 预定时间, travelplanorder.ispay AS 是否支付, travelplanorder.paytime AS 支付时间, travelplanorder.before_discount_money AS 折扣前金额, travelplanorder.charge_money AS 实际支付金额FROM line INNER JOIN member ON line.ids = member.ids INNER JOIN travelplan
10、 ON line.ids = travelplan.lineids INNER JOINtravelplanorder ON member.ids = travelplanorder.memberids AND travelplan.ids = travelplanorder.planids3、查看旅游线路所包含的景点信息CREATE VIEW line_spot_viewASSELECT line.name AS 线路名, spot.name AS 景点名, line.days AS 旅游时间, spot.area AS 所在地, spot.img, spot.des AS 景点介绍FROM
11、 line INNER JOIN line_spot ON line.ids = line_spot.lineids INNER JOIN spot ON line_spot.spotids = spot.ids4、查看景点所在地区CREATE VIEW dbo.spot_areaASSELECT dbo.spot.ids AS 编号, dbo.spot.name AS 景点名, dbo.spot.price AS 价格, dbo.area.name AS 地区, dbo.spot.des AS 介绍, dbo.spot.isdeletedFROM dbo.area INNER JOIN db
12、o.spot ON dbo.area.ids = dbo.spot.area(三)设计编程对象 1.触发器1)删除会员的同时,删除会员的旅游线路订单create trigger member_deleteon memberfor updateasDELETE FROM travelplanorderWHERE (travelplanorder. memberids= (select ids from deleted)2)删除旅游计划的同时,删除该旅游计划的订单create trigger traveplan_deleteon travelplanfor updateasDELETE FROM
13、travelplanorder WHERE (travelplanorder.planids = (select ids from deleted)3)删除旅游路线的同时,删除与该旅游路线相关的旅游景点关联和旅游计划create trigger line_deleteon linefor updateasDELETE FROM travelplanWHERE (travelplan.lineids = (select ids from deleted)DELETE FROM line_spotWHERE (line_spot.lineids = (select ids from deleted
14、)4)删除旅游景点的同时,删除该旅游景点与旅游线路的关联create trigger spot_deleteon spotfor updateasDELETE FROM line_spotWHERE (line_spot.spotids = (select ids from deleted) 2.存储过程1)向member表中插入数据create proc memberinsertids int,membername nvarchar(50),passwords nvarchar(50),realname nvarchar(50),sex int,idnum nvarchar(50),emai
15、l nvarchar(50),telephone nvarchar(50)as insert into member(ids,membername,passwords,realname,sex,idnum,email,telephone) values(ids,membername,passwords,realname,sex,idnum,email,telephone)2)查询景点所属地区create proc areaSelectasSELECT ids, areaid, nameFROM area3)查询路线信息create proc lineselectasSELECT ids AS
16、编号, name AS 路线名, price AS 价格, days AS 旅游时间, isrecommended AS 是否推荐, spotnum AS 景点数, updatetime AS 更新时间, isdeleted AS 是否删除FROM line4)插入管理员信息create proc operatorinsertuserid nvarchar(50),username nvarchar(50),passwords nvarchar(50),idnum nvarchar(50),isadmin intasINSERT INTO operator (userid, username,
17、 passwords, idnum, isadmin)VALUES (userid,username,passwords,idnum,isadmin)5)查询用户信息create proc selecttextas select * from member6)查询景点信息create proc spotinsertasSELECT name, price, area, des, isdeletedFROM spot 3.函数1)查询数据库中是否有此人create function membersex(name nvarchar(50)returns nvarchar(50)asbegin de
18、clare a nvarchar(50) if not exists(select sex from member where membername=name) set a=不存在此人 else set a=存在此人 return aend四、系统设置(一)系统用例图1)管理员用例图2)用户用例图(二)系统运行结果1)登陆:系统用户可选择用户类型(管理员、普通用户)登陆到不同页面2)注册:在登陆页面可选择进入用户注册、管理员注册页面,注册信息3)用户主页:用户登陆系统后,可查看旅游线路信息、预定旅游线路生成订单、查看订单状态和完成订单支付功能4)查看旅游线路:用户查看旅游信息,并可预定旅游线路5)订单管理:用户完成订单支付和取消该订单6)管理员主页:管理员登陆系统后,可在景点管理添加、修改和删除景点信息,在线路管理可添加、修改、删除旅游线路和生成旅游计划,在旅游计划管理可删除、查看旅游计划7)景点管理:在本模块,用户可添加和删除旅游景点8)线路管理:在本模块,用户可查看各条线路的详细情况,修改线路信息,删除旅游线路和发布旅游计划9)旅游计划管理:管理员在本模块下查看旅游线路预定情况
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1