1、旅游管理系统课程设计报告班级:软件1202班学号:02240120217姓名:赖子郁完成日期:201501-09一、项目功能需求旅游管理系统项目功能:1. 管理员输入旅游景点信息2. 管理员输入旅游线路信息3. 管理员选择旅游线路的旅游景点4. 管理员查看用户预定信息5. 管理员输入用户结算信息6. 用户查看旅游项目信息7. 用户预定旅游线路8. 用户查看订单状态二、数据库设计(一)数据库结构设计1.旅游管理系统E-R图图1 系统ER图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否是否推荐6spotnumint8
3、否景点数量7updatetimedatatime8否最近修改时间8isdeletedint8否是否删除1:已删除,0:未删除表3 line表序号数据表名称数据类型长度是否允许为空字段说明备注1idsint8否编号主键,自增列2lineidsint8否路线编号参照line(ids)3spotidsint8否景点编号参照spot(ids)表4 line_spot表序号数据表名称数据类型长度是否允许为空字段说明备注1idsint8否编号主键,自增列2memberidnvarchar50否会员账号3membername nvarchar50否会员名称4passwords nvarchar50否密码5r
4、ealnamenvarchar50否真实姓名6sexint8否性别1:男,2:女7idnumnvarchar50否身份证号8emailnvarchar50否邮箱9telephone nvarchar50否手机号码表5 member表序号数据表名称数据类型长度是否允许为空字段说明备注1idsint8否编号主键,自增列2useridnvarchar50否管理员账号3usernamenvarchar50否管理员名称4passwordsnvarchar50否密码5idnumnvarchar50否身份证号6isadminint8否是否具有管理员权限表6 operator表序号数据表名称数据类型长度是否允
5、许为空字段说明备注1idsint8否编号主键,自增列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_p
6、eople_num int8是实际预订人数6expect_starttime datetime否计划开始时间7actual_starttime datetime是实际开始时间8updatetimedatetime否最近修该时间9planstatusint8否计划状态1:发布,2:进行,3:结束10isdeletedint8否是否删除1:已删除,0:未删除表8 traveplan表序号数据表名称数据类型长度是否允许为空字段说明备注1idsint8否编号主键,自增列2planidsint8否旅游计划ids参照traveplan(ids)3memberidsint8否预订用户ids参照member(
7、ids)4ordertimedatetime8否预订时间5ispayint8否是否支付1:支付,2:未支付6before_discount_moneydecimal (18,2)否折扣前金额7charge_moneydecimal (18,3)否实收金额8paytimedatetime8是支付时间表9 traveplanorder表(二)旅游管理系统视图1、用户查看账户预订情况CREATEVIEWmemberorderASSELECTmember。membernameAS用户,member。sexAS性别,line.nameAS路线,travelplanorder。ordertimeAS预订时
8、间,travelplanorder.ispayAS是否支付,travelplanorder。before_discount_moneyAS折扣前金额,member。telephoneAS电话,member。emailAS邮箱FROMlineINNERJOINmemberONline。ids=member。idsINNERJOINtravelplanorderONmember。ids=travelplanorder.memberids2、管理员查看旅游计划的预订情况CREATEVIEWoperatorCheckorderASSELECTline。nameAS线路,member。membernam
9、eAS用户,travelplanorder。ordertimeAS预定时间,travelplanorder。ispayAS是否支付,travelplanorder。paytimeAS支付时间,travelplanorder。before_discount_moneyAS折扣前金额,travelplanorder。charge_moneyAS实际支付金额FROMlineINNERJOINmemberONline。ids=member。idsINNERJOINtravelplanONline。ids=travelplan。lineidsINNERJOINtravelplanorderONmembe
10、r。ids=travelplanorder。memberidsANDtravelplan.ids=travelplanorder.planids3、查看旅游线路所包含的景点信息CREATEVIEWline_spot_viewASSELECTline.nameAS线路名,spot。nameAS景点名,line。daysAS旅游时间,spot.areaAS所在地,spot。img,spot。desAS景点介绍FROMlineINNERJOINline_spotONline。ids=line_spot。lineidsINNERJOINspotONline_spot。spotids=spot.ids4
11、、查看景点所在地区CREATEVIEWdbo.spot_areaASSELECTdbo.spot。idsAS编号,dbo。spot.nameAS景点名,dbo。spot。priceAS价格,dbo。area.nameAS地区,dbo。spot。desAS介绍,dbo。spot.isdeletedFROMdbo.areaINNERJOINdbo.spotONdbo。area。ids=dbo.spot。area(三)设计编程对象1.触发器1) 删除会员的同时,删除会员的旅游线路订单createtriggermember_deleteonmemberforupdateasDELETEFROMtrav
12、elplanorderWHERE(travelplanorder。 memberids=(selectidsfromdeleted)2) 删除旅游计划的同时,删除该旅游计划的订单createtriggertraveplan_deleteontravelplanforupdateasDELETEFROMtravelplanorderWHERE(travelplanorder。planids=(selectidsfromdeleted))3) 删除旅游路线的同时,删除与该旅游路线相关的旅游景点关联和旅游计划createtriggerline_deleteonlineforupdateasDELET
13、EFROMtravelplanWHERE(travelplan。lineids=(selectidsfromdeleted))DELETEFROMline_spotWHERE (line_spot。lineids=(selectidsfromdeleted))4) 删除旅游景点的同时,删除该旅游景点与旅游线路的关联createtriggerspot_deleteonspotforupdateasDELETEFROMline_spotWHERE (line_spot.spotids=(selectidsfromdeleted)2。存储过程1) 向member表中插入数据createprocmem
14、berinsertidsint,membernamenvarchar(50),passwordsnvarchar(50),realnamenvarchar(50),sexint,idnumnvarchar(50),emailnvarchar(50),telephonenvarchar(50)asinsertintomember(ids,membername,passwords,realname,sex,idnum,email,telephone)values(ids,membername,passwords,realname,sex,idnum,email,telephone)2) 查询景点所
15、属地区createprocareaSelectasSELECTids,areaid,nameFROMarea3) 查询路线信息createproclineselectasSELECTidsAS编号,nameAS路线名,priceAS价格,daysAS旅游时间,isrecommendedAS是否推荐,spotnumAS景点数,updatetimeAS更新时间,isdeletedAS是否删除FROMline4) 插入管理员信息createprocoperatorinsertuseridnvarchar(50),usernamenvarchar(50),passwordsnvarchar(50),i
16、dnumnvarchar(50),isadminintasINSERTINTOoperator(userid,username,passwords,idnum,isadmin)VALUES (userid,username,passwords,idnum,isadmin)5) 查询用户信息createprocselecttextasselectfrommember6) 查询景点信息createprocspotinsertasSELECTname,price,area,des,isdeletedFROMspot3。函数1) 查询数据库中是否有此人createfunctionmembersex(n
17、amenvarchar(50))returnsnvarchar(50)asbegindeclareanvarchar(50)ifnotexists(selectsexfrommemberwheremembername=name)seta=不存在此人elseseta=存在此人returnaend四、系统设置(一)系统用例图1) 管理员用例图2) 用户用例图(二)系统运行结果1) 登陆:系统用户可选择用户类型(管理员、普通用户)登陆到不同页面2) 注册:在登陆页面可选择进入用户注册、管理员注册页面,注册信息3) 用户主页:用户登陆系统后,可查看旅游线路信息、预定旅游线路生成订单、查看订单状态和完成订单支付功能4) 查看旅游线路:用户查看旅游信息,并可预定旅游线路5) 订单管理:用户完成订单支付和取消该订单6) 管理员主页:管理员登陆系统后,可在景点管理内添加、修改和删除景点信息,在线路管理内可添加、修改、删除旅游线路和生成旅游计划,在旅游计划管理内可删除、查看旅游计划7) 景点管理:在本模块,用户可添加和删除旅游景点8) 线路管理:在本模块,用户可查看各条线路的详细情况,修改线路信息,删除旅游线路和发布旅游计划9) 旅游计划管理:管理员在本模块下查看旅游线路预定情况