数据库课程设计旅行社管理信息系统广工.docx
《数据库课程设计旅行社管理信息系统广工.docx》由会员分享,可在线阅读,更多相关《数据库课程设计旅行社管理信息系统广工.docx(40页珍藏版)》请在冰点文库上搜索。
![数据库课程设计旅行社管理信息系统广工.docx](https://file1.bingdoc.com/fileroot1/2023-5/18/4f3a58f3-4e33-470f-95a1-21b1eeb15add/4f3a58f3-4e33-470f-95a1-21b1eeb15add1.gif)
数据库课程设计旅行社管理信息系统广工
课程设计
课程名称数据库系统
题目名称
学生学院
专业班级
学号
学生姓名
指导教师
2013年1月
类别
评价标准
分数比例(%)
成绩
课程设
计报告
论文结构包含:
相关技术介绍、需求分析、概念结构设计、逻辑结构设计、数据库物理设计、数据库实施、系统测试方案和测试报告、系统的主要功能和使用说明、系统安装说明。
要求论文完整、内容详细,格式规范。
40
程序
系统运行正确;
功能完善:
有增、删、改、查功能,有基本的报表、查询、统计和输入、输出功能;
工作量充分;
界面友好;
系统实现技术的难度。
30
数据库
设计
E-R图设计正确;
数据库逻辑结构设计规范化;
数据库物理设计合理。
30
总评成绩
优
良
中
及格
不及格
总分
目录
1引言1
1.1课程设计选题1
1.2课程设计的目的1
1.3本选题的设计背景1
2系统分析与设计1
2.1功能及性能分析1
2.1.1功能需求1
2.1.2性能需求1
2.2系统的开发运行环境1
2.3系统总体设计2
3数据库设计3
3.1数据库概念结构3
3.1.1数据库中各表的数据描述3
3.1.2整体E-R图3
3.2数据库逻辑结构4
3.2.1关系模型及优化4
3.2.2视图的设计4
3.3数据库的实现4
3.3.1数据字典4
3.3.2安全性设计7
3.3.3一致性设计7
3.3.4视图的设计7
4详细设计与实现8
4.1创建数据库8
4.2数据库数据初始化13
4.3模块功能介绍与展示16
4.3.1数据库连接16
4.3.2登录模块16
4.3.3用户界面模块17
4.3.4管理员界面模块19
结论与总结23
参考文献23
1引言
1.1课程设计选题
《旅行社管理信息系统》
1.2课程设计的目的
数据库系统课程设计,是为了能够熟悉SQLSERVER数据库管理系统的结构与组成;掌握了SQLSERVER数据库管理系统的应用技术和的使用;使用软件Eclipse为数据库应用系统设计一个用户的可视化界面,同时,学习Eclipse与SQLSERVER两个软件的连接、设计方法、开发过程和SQLSERVER数据库的管理与维护。
最终达到掌握数据库管理系统的使用和开发,提高分析问题、解决问题和实践应用能力。
1.3本选题的设计背景
一个比较好的旅行社管理系统应该方便用户查看,同时也应该便于管理者管理信息。
旅行社管理信息系统的功能是对旅行社生产服务过程的管理实现信息化,从而提高旅行社的生产率和管理效率,同时提高旅行社的市场竞争能力,满足现代人的个性化服务要求。
设计旅行社管理系统的目的是提高旅行社管理效率,增加效益。
简单的定义为旅行社管理信息系统是利用计算机技术和通讯技术,对旅行社经营的所有信息进行综合管理和控制的以人为主体的人机综合系统。
2系统分析与设计
2.1功能及性能分析
2.1.1功能需求
管理者功能:
能够修改个人信息进行修改、能够对旅游路线、用户信息、酒店信息、导游信息、旅游班次信息、旅游团信息进行管理,同时,还应该提供一个比较安全的全面的信息系统。
不同用户功能:
能够对个人信息进行修改,能够有对旅游路线的查看功能,同时,还需有一个比较综合的旅游信息。
2.1.2性能需求
保证系统数据安全性:
管理员可以对系统的相关信息进行修改,但是对用户的个人信息不能随意进行改动,而普通用户只能够修改自己的个人资料或者报名这两个数据操作。
保证系统数据一致性:
管理员对数据的增加、删除、修改等操作必须写回数据库,同时,数据应该符号数据库的实体完整性、参照完整性、用户定义的完整性;此外,普通用户的报名操作也必须同步更新到数据库中,个人信息的改动也修写回数据库。
2.2系统的开发运行环境
本系统开发平台:
Eclipse+SQLServer2008
本系统运行环境:
Windows7
2.3系统总体设计
登录注册
是否
否是
是否
图2-1系统总体设计图
3数据库设计
3.1数据库概念结构
3.1.1数据库中各表的数据描述
根据前面所作的需求分析本系统的实体及其属性如下:
旅游线路(路线号,起点,终点,天数,主要景点)
旅游班次(班次号,出发日期,回程日期,旅游标准,报价)
旅游团(团号,团名,人数,联系人,地址,电话)
游客(游客编号,姓名,性别,年龄,身份证号码,住址,电话)
导游(导游编号,姓名,性别,年龄,身份证号码,住址,电话,语种,等级,业绩)
交通工具(旅游班次号,出发工具,出发日期,出发班次,出发时间,回程工具,回程日期,回程班次,回程时间)
宾馆(宾馆编号,宾馆名,城市,星级,标准房价,联系人,职务,地址,电话,传真)
保险单(保险单编号,保险费,投保日期)
用户(用户名,用户密码,权限,编号)
3.1.2整体E-R图
1
N11
NM
1MN
N
11
1
N
图3-1整体E-R图
3.2数据库逻辑结构
3.2.1关系模型及优化
旅游线路(路线号,起点,终点,天数,主要景点)
旅游班次(班次号,路线号,旅游标准,报价,出发工具,出发日期,出发班次,出发时间,回程工具,回程日期,回程班次,回程时间)
旅游团(团号,旅游班次号,团名,人数,联系人,地址,电话)
游客(游客编号,团号)
导游(导游编号,姓名,性别,年龄,身份证号码,住址,电话,语种,等级,业绩)
宾馆(宾馆编号,宾馆名,城市,星级,标准房价,联系人,职务,地址,电话,传真)
保险(保险单编号,团号,人数,保险费,投保日期)
陪同(旅游班次号,导游编号)
食宿(旅游班次号,宾馆编号)
用户(用户名,密码,权限,游客编号)
用户信息(游客编号,姓名,性别,年龄,身份证号码,地址,电话)
3.2.2视图的设计
唯一设计了一个视图,即综合信息查询:
包含了团号,团名,旅游团价格,酒店名,酒店星级,酒店价格,导游和旅游景点。
3.3数据库的实现
3.3.1数据字典
3.3.1.1旅游线路表(TLINE)用来记录旅游的线路信息
字段
字段名
类型
长度
说明
1
l_num
整型
路线号、主码
2
l_start
字符型
20
起点
3
l_end
字符型
20
终点
4
l_day
整型
天数
5
l_view
字符型
35
景点
表3-1旅游线路表
3.3.1.2旅游班次表(TNUM)用来记录该旅游班次出发与回程的时间工具等
字段
字段名
类型
长度
说明
1
n_num
整型
班次号、主码
2
l_num
整型
路线号、外键
3
n_stand
字符型
20
旅游标准
4
n_value
整型
报价
5
n_gt
字符型
15
出发工具
6
n_gd
字符型
10
出发日期
7
n_gm
整型
出发班次
8
n_got
字符型
8
出发时间
9
n_bt
字符型
15
回程工具
10
n_bd
字符型
10
回程日期
11
n_bm
整型
回程班次
12
n_bat
字符型
10
回程时间
表3-2旅游班次表
3.3.1.3旅游团表(TGROUP)用来记录该旅游号的旅游班次及团名人数等相关信息
字段
字段名
类型
长度
说明
1
g_num
整型
团号、主码
2
n_num
整型
旅游班次号、外键
3
g_name
字符型
20
团名
4
g_sum
整型
人数
5
g_pep
字符型
20
联系人
6
g_add
字符型
30
地址
7
g_tel
字符型
15
电话
表3-3旅游团表
3.3.1.4游客表(TVISITOR)记录了该游客编号所报名的旅游团
字段
字段名
类型
长度
说明
1
v_num
整型
游客编号、主码
2
g_num
整型
团号、主码
表3-4游客表
3.3.1.5导游表(TGUIDE)记录导游的相关信息
字段
字段名
类型
长度
说明
1
u_num
整型
导游编号、主码
2
u_name
字符型
20
姓名
3
u_sex
字符型
5
性别
4
u_age
整型
年龄
5
u_id
字符型
20
身份证号码
6
u_add
字符型
35
地址
7
u_tel
字符型
15
电话
8
u_lan
字符型
20
语种
9
u_lea
字符型
5
等级
10
u_ach
字符型
30
业绩
表3-5导游表
3.3.1.6宾馆表(THOTEL)用于记录宾馆的相关信息
字段
字段名
类型
长度
说明
1
h_num
整型
宾馆编号、主码
2
h_name
字符型
20
宾馆名
3
h_city
字符型
20
城市
4
h_lea
字符型
5
星级
5
h_value
整型
标准房价
6
h_pep
字符型
20
联系人
7
h_post
字符型
20
职务
8
h_add
字符型
35
地址
9
h_tel
字符型
15
电话
10
h_fax
字符型
20
传真
表3-6宾馆表
3.3.1.7保险表(TINSURANCE)用于记录不同旅游团交保险金额及时间等
字段
字段名
类型
长度
说明
1
i_num
整型
保险单编号、主码
2
g_num
整型
团号、外键
3
i_value
整型
保险费
4
i_date
字符型
10
投保日期
表3-7保险表
3.3.1.8陪同表(TCOM)指明旅游班次的导游人
字段
字段名
类型
长度
说明
1
n_num
整型
旅游班次号、主码
2
u_num
整型
导游编号
表3-8陪同表
3.3.1.9食物表(TFOOD)用于指明旅游班次的居住酒店
字段
字段名
类型
长度
说明
1
n_num
整型
旅游班次号、主码
2
h_num
整型
宾馆编号
表3-9食物表
3.3.1.10用户表(TUSE)用于存储注册用户的用户名及密码等信息
字段
字段名
类型
长度
说明
1
k_name
字符型
20
用户名、主码
2
k_key
字符型
20
密码
3
k_status
整型
权限
4
v_num
整型
游客编号、外键
表3-10用户表
3.3.1.11用户信息表(TFIN)用于存储注册包括用户编号,姓名等用户的信息
字段
字段名
类型
长度
说明
1
v_num
整型
游客编号、主码
2
v_name
字符型
20
姓名
3
v_sex
字符型
5
性别
4
v_age
整型
年龄
5
v_id
字符型
20
身份证号码
6
v_add
字符型
20
住址
7
v_tel
字符型
15
电话
表3-11用户信息表
3.3.2安全性设计
该系统的只提供两种用户,一种是管理员,另一种是普通用户,管理员具有对数据库操作的所有权限,普通用户的权限受限,只能对用户个人信息进行修改或者报名旅游。
3.3.3一致性设计
主要是对数据库表的三种完整性进行设计:
实体完整性:
通过对每个关系表设置主键实现。
参照完整性:
通过对不同表设置外键联系实现
图3-2数据表的参照完整性图
用户自定义完整性:
在该系统中,并无用户定义的自定义完整性约束。
3.3.4视图的设计
通过6个表的外键联系构成
实现截图:
图3-3视图设计图
实现代码:
CREATEVIEWINOFRMATION
AS
SELECTTGROUP.g_num,TGROUP.g_name,TNUM.n_value,h_name,h_lea,h_value,TINSURANCE.i_value,TGUIDE.u_name,TLINE.l_view
FROMTLINE,TNUM,TGROUP,TGUIDE,TINSURANCE,TCOM,TFOOD,THOTEL
WHERETLINE.l_num=TNUM.l_numAND
TNUM.n_num=TGROUP.n_numAND
TNUM.n_num=TCOM.n_numAND
TNUM.n_num=TFOOD.n_numAND
TFOOD.h_num=THOTEL.h_numAND
TGROUP.g_num=TINSURANCE.g_numAND
TCOM.u_num=TGUIDE.u_num
4详细设计与实现
4.1创建数据库
4.1.1旅游线路表(TLINE)用来记录旅游的线路信息
CREATETABLETLINE(
l_numintPRIMARYKEY,
l_startvarchar(20)notnull,
l_endvarchar(20)notnull,
l_dayint,
l_viewvarchar(60)
);
图4-1旅游线路实现图
4.1.2旅游班次表(TNUM)用来记录该旅游班次出发与回程的时间工具等
CREATETABLETNUM(
n_numintPRIMARYKEY,
l_numint,
n_standvarchar(20),
n_valueint,
n_gtvarchar(15),
n_gdvarchar(10),
n_gmint,
n_gotvarchar(8),
n_btvarchar(15),
n_bdvarchar(10),
n_bmint,
n_batvarchar(8),
FOREIGNKEY(l_num)REFERENCESTLINE(l_num)
);
图4-2旅游班次表实现图
4.1.3旅游团表(TGROUP)用来记录该旅游号的旅游班次及团名人数等相关信息
CREATETABLETGROUP(
g_numintPRIMARYKEY,
n_numint,
g_namevarchar(20),
g_sumint,
g_pepvarchar(20),
g_addvarchar(30),
g_telvarchar(15),
FOREIGNKEY(n_num)REFERENCESTNUM(n_num)
);
图4-3旅游团表实现图
4.1.4游客表(TVISITOR)记录了该游客编号所报名的旅游团
CREATETABLETVISITOR(
v_numint,
g_numint,
PRIMARYKEY(v_num,g_num),
FOREIGNKEY(v_num)REFERENCESTUSE(v_num),
FOREIGNKEY(g_num)REFERENCESTGROUP(g_num)
);
图4-4游客表实现图
4.1.5导游表(TGUIDE)记录导游的相关信息
CREATETABLETGUIDE(
u_numintPRIMARYKEY,
u_namevarchar(20),
u_sexvarchar(5),
u_ageint,
u_idvarchar(20),
u_addvarchar(35),
u_telvarchar(15),
u_lanvarchar(20),
u_leavarchar(5),
u_achvarchar(30)
);
图4-5导游表实现图
4.1.6宾馆表(THOTEL)用于记录宾馆的相关信息
CREATETABLETHOTEL(
h_numintPRIMARYKEY,
h_namevarchar(20),
h_cityvarchar(20),
h_leavarchar(5),
h_valueint,
h_pepvarchar(20),
h_postvarchar(20),
h_addvarchar(35),
h_telvarchar(15),
h_faxvarchar(20)
);
图4-6宾馆表实现图
4.1.7保险表(TINSURANCE)用于记录不同旅游团交保险金额及时间等
CREATETABLETINSURANCE(
i_numintPRIMARYKEY,
g_numint,
i_valueint,
i_datevarchar(10),
FOREIGNKEY(g_num)REFERENCESTGROUP(g_num)
);
图4-7保险表实现图
4.1.8陪同表(TCOM)指明旅游班次的导游人
CREATETABLETCOM(
n_numintPRIMARYKEY,
u_numint,
FOREIGNKEY(n_num)REFERENCESTNUM(n_num),
FOREIGNKEY(u_num)REFERENCESTGUIDE(u_num)
);
图4-8陪同表实现图
4.1.9食物表(TFOOD)用于指明旅游班次的居住酒店
CREATETABLETFOOD(
n_numintPRIMARYKEY,
h_numint,
FOREIGNKEY(n_num)REFERENCESTNUM(n_num),
FOREIGNKEY(h_num)REFERENCESTHOTEL(h_num)
);
图4-9食物表实现图
4.1.10用户表(TUSE)用于存储注册用户的用户名及密码等信息
CREATETABLETUSE(
k_namevarchar(15)PRIMARYKEY,
k_keyvarchar(15)NOTNULL,
k_statusintNOTNULL,
v_numintUNIQUE
);
图4-10用户表实现图
4.1.11用户信息表(TFIN)用于存储注册包括用户编号,姓名等用户的信息
CREATETABLETINF(
v_numintPRIMARYKEY,
v_namevarchar(20),
v_sexvarchar(5),
v_ageint,
v_idvarchar(20),
v_addvarchar(20),
v_telvarchar(15),
FOREIGNKEY(v_num)REFERENCESTUSE(v_num),
);
图4-11用户信息表实现图
4.2数据库数据初始化
4.2.1旅游线路表(TLINE)用来记录旅游的线路信息
图4-12旅游线路表数据初始化完成图
4.2.2旅游班次表(TNUM)用来记录该旅游班次出发与回程的时间工具等
图4-13旅游班次表数据初始化完成图
4.2.3旅游团表(TGROUP)用来记录该旅游号的旅游班次及团名人数等相关信息
图4-14旅游团表数据初始化完成图
4.2.4游客表(TVISITOR)记录了该游客编号所报名的旅游团
图4-15游客表数据初始化完成图
4.2.5导游表(TGUIDE)记录导游的相关信息
图4-16导游表数据初始化完成图
4.2.6宾馆表(THOTEL)用于记录宾馆的相关信息
图4-17宾馆表数据初始化完成图
4.2.7保险表(TINSURANCE)用于记录不同旅游团交保险金额及时间等
图4-18保险表数据初始化完成图
4.2.8陪同表(TCOM)指明旅游班次的导游人
图4-19陪同表数据初始化完成图
4.2.9食物表(TFOOD)用于指明旅游班次的居住酒店
图4-20食物表数据初始化完成图
4.2.10用户表(TUSE)用于存储注册用户的用户名及密码等信息
图4-21用户表数据初始化完成图
4.2.11用户信息表(TINF)用于存储注册包括用户编号,姓名等用户的信息
图4-22用户信息表数据初始化完成图
4.3模块功能介绍与展示
4.3.1数据库连接
Eclipse与SQLSEVERE2008连接代码
publicstaticConnectiongetConnection()throwsSQLException,java.lang.ClassNotFoundException{
StringDriverName="com.microsoft.sqlserver.jdbc.SQLServerDriver";
StringURL="jdbc:
sqlserver:
//localhost:
1433;DatabaseName=TRAVEL";
StringuserName="sa";
StringuserPwd="1";
Class.forName(DriverName);
Connectioncon=DriverManager.getConnection(URL,userName,userPwd);
returncon;
}
4.3.2登录模块
在旅游管理的首页有两个按钮,输入用户名与密码,系统将自动在数据库中查找相应的用户并核对密码,密码是否填写正确系统都将给与提示,核对成后即可登录系统。
在登录首页也有注册按钮可供选择,当用户没有帐号密码的情况下,可点击注册按钮进行注册,注册过程中,系统也将自动在数据库中核对是否存在该注册用户,在不存在的情况下允许注册,否则提示用户存在等提示信息。
图4-23进入系统显示图
数据库登录界面的登录判断代码
if(lwindow.lsign==1){//登陆界面的登录判断
Stringun=lwindow.use.getText();
Stringuk=lwindow.key.getText();
try{
Connectioncon=ge