.. . z 旅游管理系统
课 程 设 计 报 告
班级:软件1202班 学号: 姓名:赖子郁 完成日期:2015-01-09 .. . z 一、项目功能需求 旅游管理系统项目功能: 1. 管理员输入旅游景点信息 2. 管理员输入旅游线路信息 3. 管理员选择旅游线路的旅游景点 4. 管理员查看用户预定信息 5. 管理员输入用户结算信息 6. 用户查看旅游项目信息 7. 用户预定旅游线路 8. 用户查看订单状态
二、数据库设计 (一)数据库结构设计 1. 旅游管理系统E-R图 .. .
z 图1 系统E-R图 2、旅游管理系统数据库关系图 .. .
z 图2 数据库关系图 .. .
z 3、旅游管理系统数据字典 序号 数据表名称 说明 备注 1 area 地域 2 line 旅游线路 3 line_spot 旅游线路与景点关联 4 member 会员 5 operator 员工 6 spot 旅游景点 7 travelplan 旅游计划 8 travelplanorder 旅游计划预订 表1 数字字典
序号 数据表名称 数据类型 长度 是否允许字段说明 备注 .. .
z 为空
1 ids int 8 否 ids 主键,自增列 2 areaid nvarchar 50 否 地域编码 3 name nvarchar 50 否 名称 表2 area表
序号 数据表名称 数据类型 长度 是否允许为空 字段说明 备注 1 ids int 8 否 编号 主键,自增列 2 name nvarchar 200 否 路线名称 3 price decimal (18,2) 否 路线价格 4 days int 8 否 备注 5 isrecommended int 8 否 是否推荐 6 spotnum int 8 否 景点数量
7 updatetime datatime 8 否 最近修改时间
8 isdeleted int 8 否 是否删除 1:已删除,0:未删除 表3 line表 .. . z 序号 数据表名称 数据类型 长度 是否允许为空 字段说明 备注 1 ids int 8 否 编号 主键,自增列 2 lineids int 8 否 路线编号 参照line(ids)
3 spotids int 8 否 景点编号 参照spot(ids) 表4 line_spot表
序号 数据表名称 数据类型 长度 是否允许为空 字段说明 备注 1 ids int 8 否 编号 主键,自增列 2 memberid nvarchar 50 否 会员账号 3 membername nvarchar 50 否 会员名称 4 passwords nvarchar 50 否 密码 5 realname nvarchar 50 否 真实姓名 6 sex int 8 否 性别 1:男,2:女 .. . z 7 idnum nvarchar 50 否 身份证号
8 email nvarchar 50 否 9 telephone nvarchar 50 否 手机 表5 member表
序号 数据表名称 数据类型 长度 是否允许为空 字段说明 备注 1 ids int 8 否 编号 主键,自增列 2 userid nvarchar 50 否 管理员账号 3 username nvarchar 50 否 管理员名称 4 passwords nvarchar 50 否 密码 5 idnum nvarchar 50 否 身份证号
6 isadmin int 8 否 是否具有管理员权限 表6 operator表
序号 数据表名称 数据类型 长度 是否字段说明 备注 .. .
z 允许
为空 1 ids int 8 否 编号 主键,自增列 2 name nvarchar 200 否 景点名称 3 price decimal (18,2) 否 价格
4 area int 8 否 所属地域 参照area(ids) 5 img image 是 景点图片 6 des varchar 2000 是 景点描述
7 isdeleted int 8 否 是否已删除 1:已删除,0:未删除 表7 spot表
序号 数据表名称 数据类型 长度 是否允许为空 字段说明 备注 1 ids int 8 否 编号 主键,自增列 2 planid nvarchar 200 否 计划编号
3 lineids int 8 否 旅游线路ids 参照line(ids) .. . z 4 expect_people_num int 8 否 预订人数
5 actual_people_num int 8 是 实际预订人数
6 expect_starttime datetime 否 计划开始时间 7 actual_starttime datetime 是 实际开始时间 8 updatetime datetime 否 最近修该时间
9 planstatus int 8 否 计划状态 1:发布,2:进行,3:结束
10 isdeleted int 8 否 是否删除 1:已删除,0:未删除 表8 traveplan表
序号 数据表名称 数据类型 长度 是否允许为空 字段说明 备注 1 ids int 8 否 编号 主键,自增列 .. .
z 2 planids int 8 否 旅游计划ids 参照traveplan(ids)
3 memberids int 8 否 预订用户ids 参照member(ids) 4 ordertime datetime 8 否 预订时间
5 ispay int 8 否 是否支付 1:支付,2:未支付
6 before_discount_money decimal (18,2) 否 折扣前金额 7 charge_money decimal (18,3) 否 实收金额 8 paytime datetime 8 是 支付时间 表9 traveplanorder表
(二)旅游管理系统视图 1、用户查看账户预订情况 CREATE VIEW memberorder AS SELECT member.membername AS 用户, member.sex AS 性别, .. . z line.name AS 路线, travelplanorder.ordertime AS 预订时间,
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 JOIN travelplanorder ON member.ids = travelplanorder.memberids 2、管理员查看旅游计划的预订情况 CREATE VIEW operatorCheckorder AS SELECT line.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 ON line.ids = travelplan.lineids INNER JOIN travelplanorder ON member.ids = travelplanorder.memberids AND travelplan.ids = travelplanorder.planids
3、查看旅游线路所包含的景点信息 .. . z CREATE VIEW line_spot_view
AS SELECT line.name AS 线路名, spot.name AS 景点名, line.days AS 旅游时间, spot.area AS 所在地, spot.img, spot.des AS 景点介绍 FROM line INNER JOIN line_spot ON line.ids = line_spot.lineids INNER JOIN spot ON line_spot.spotids = spot.ids
4、查看景点所在地区 CREATE VIEW [dbo].[spot_area] AS SELECT dbo.spot.ids AS 编号, dbo.spot.name AS 景点名, dbo.spot.price AS 价格, dbo.area.name AS 地区, dbo.spot.des AS 介绍, dbo.spot.isdeleted FROM dbo.area INNER JOIN dbo.spot ON dbo.area.ids = dbo.spot.area
(三)设计编程对象 1.触发器
1) 删除会员的同时,删除会员的旅游线路订单 create trigger member_delete