资源描述
湖南文理学院
《数据库原理及应用》课程设计说明书
题 目:旅行社数据库系统
学生姓名:杨 欢
学 号:17010225
专 业:计算机
班 级:计科10102
指导老师:周汉斌
湖南文理学院课程设计任务书
课程名称
数据库原理及应用
设计题目、等级
设计题目6:旅行社数据库课程设计
指导老师
周汉斌
时间
.12.2 – .12.14
一、教学要求
1.从附录一中选择一个题目进行数据库应用系统设计。
2.功效设计:用Visual FoxPro,Visual Basic、PB等开发工具和数据库管理系统SQL-SEVER或Access制作一个小型管理系统。所设计小型管理系统应包含输入输出、查询、插入、删除等基础功效。设计课题能够从候选项目中选出,依据题目标基础需求,画出步骤图,编写程序,并写出具体设计说明书。(本项实际系统设计和实现可选,但必需有功效设计过程)
3.数据库设计:
依据数据库应用系统设计过程,经过需求分析和系统分析,进行数据库概念结构设计、逻辑结构设计等工作:
l 概念结构设计E-R图
l 数据库逻辑结构设计是以表格形式说明数据库中有多个表,每个表表名和每个表各字段名,类型和约束(主、外码);
l 确定表之间关联(一对一、一对多、多对多)
l 利用数据库理论确定每个表最少属于3NF。
二、设计资料及参数
作为化妆品行业世界领导者,欧莱雅近一个世纪来以投身美事业为己任,向全世界消费者不遗余力地奉献着优质产品,并以坚持创新性为大家所熟知。她在全球拥有500多个品牌,其中世界著名品牌就有巴黎欧莱雅、美宝莲、卡尼尔、兰蔻、赫莲娜、碧欧泉、薇姿、卡诗等。事业遍布150多个国家和地域,销售额高达137亿欧元,连续十七年利润增加达成两位数。
作为这么一个规模庞大,生产、销售遍布世界各地企业,想要有效管理其庞大销售系统,在竞争中占据主导地位,扩大其品牌影响力和市场分额,掌握第一手信息资源是必不可少条件。而且作为轻工业,它生产过程、配料也比较复杂。所以,我们小组决定选择这个企业作为模型,为它建立一个数据库。在管理模式上,它采取是各个子品牌独立经营,总企业总体计划方法。而我们选择其中一个子品牌“lancome(兰蔻)”,做它数据库,其它子品牌能够以这类推。
三、设计要求及结果
1.根据数据库应用系统设计步骤进行数据库结构设计。
2.使用开放工具及数据库管理系统开放应用系统(可选)。
3.书写论文(具体要求见论文模板)。
四、进度安排
1、安排工作。
2、数据库结构设计、功效设计。
3、检验E-R图,关系表。
4、应用系统验收。
5、上交论文。
五、评分标准
1.数据库结构正确性(30%)。
2.数据库结构复杂性,由题目等级决定(30%)。
3.设计汇报完成质量(30%)。
4.出勤(10%)。
5.成绩采取五级分制评定。
六、提议参考资料
1、 施伯乐,丁宝康,汪 卫.数据库系统教程(第三版).北京:高等教育出版社,
2、 张守志,丁宝康,汪 卫.数据库系统教程(第三版)习题解答和试验指导.北京:高等教育出版社,
3、 郭郑州,陈军红.SQL Server 完全学习手册.北京:清华大学出版社
目录
目录 2
一 引言 3
1.1课程设计选题 3
1.2课程设计目标 3
1.3本选题设计背景 3
二 系统分析和设计 3
2.1 功效及性能分析 3
2.2 系统开发运行环境 4
2.3 系统总体设计 4
2.4 系统功效模块图 5
三 数据库设计 5
3.1 数据库概念结构 5
3.2整体E-R图 6
3.3 数据库逻辑结构 6
3.4 数据库实现 7
四 具体设计和实现 11
4.1 创建数据库 11
4.2数据查找 17
4.3数据库代码 17
结论和总结 20
参 考 文 献 21
一 引言
1.1课程设计选题
《旅行社管理信息系统》
1.2课程设计目标
数据库系统课程设计,是为了能够熟悉SQL SERVER数据库管理系统结构和组成;掌握了SQL SERVER数据库管理系统应用技术和使用;使用软件Eclipse为数据库应用系统设计一个用户可视化界面,同时,学习Eclipse和SQL SERVER两个软件连接、设计方法、开发过程和SQL SERVER数据库管理和维护。最终达成掌握数据库管理系统使用和开发,提升分析问题、处理问题和实践应用能力。
1.3本选题设计背景
一个比很好旅行社管理系统应该方便用户查看,同时也应该便于管理者管理信息。旅行社管理信息系统功效是对旅行社生产服务过程管理实现信息化,从而提升旅行社生产率和管理效率,同时提升旅行社市场竞争能力,满足现代人个性化服务要求。设计旅行社管理系统目标是提升旅行社管理效率,增加效益。简单定义为旅行社管理信息系统是利用计算机技术和通讯技术,对旅行社经营全部信息进行综合管理和控制以人为主体人机综合系统。
二 系统分析和设计
2.1 功效及性能分析
2.1.1 功效需求
管理者功效:能够修改个人信息进行修改、能够对旅游路线、用户信息、酒店信息、导游信息、旅游班次信息、旅游团信息进行管理,同时,还应该提供一个比较安全全方面信息系统。
不一样用户功效:能够对个人信息进行修改,能够有对旅游路线查看功效,同时,还需有一个比较综合旅游信息。
2.1.2 性能需求
确保系统数据安全性:管理员能够对系统相关信息进行修改,不过对用户个人信息不能随意进行改动,而一般用户只能够修改自己个人资料或报名这两个数据操作。
确保系统数据一致性:管理员对数据增加、删除、修改等操作必需写回数据库,同时,数据应该符号数据库实体完整性、参考完整性、用户定义完整性;另外,一般用户报名操作也必需同时更新到数据库中,个人信息改动也修写回数据库。
2.2 系统开发运行环境
本系统开发平台: Eclipse + SQL Server
本系统运行环境: Windows 7
2.3 系统总体设计
图2-1 系统总体设计图
2.4 系统功效模块图
图2-2 系统功效模块图
三 数据库设计
3.1 数据库概念结构
3.1.1数据库中各表数据描述
依据前面所作需求分析本系统实体及其属性以下:
旅游线路(路线号,起点,终点,天数,关键景点)
旅游班次(班次号,出发日期,回程日期,旅游标准,报价)
旅游团(团号,团名,人数,联络人,地址,电话)
游客(游客编号,姓名,性别,年纪,身份证号码,住址,电话)
导游(导游编号,姓名,性别,年纪,身份证号码,住址,电话,语种,等级,业绩)
交通工具(旅游班次号,出发工具,出发日期,出发班次,出发时间,回程工具,回程日期,回程班次,回程时间)
宾馆(宾馆编号,宾馆名,城市,星级,标准房价,联络人,职务,地址,电话,传真)
保险单(保险单编号,保险费,投保日期)
用户(用户名,用户密码,权限,编号)
3.2整体E-R图
图3-1 整体E-R图
3.3 数据库逻辑结构
3.3.1 关系模型及优化
旅游线路(路线号,起点,终点,天数,关键景点)
旅游班次(班次号,路线号,旅游标准,报价,出发工具,出发日期,出发班次,出发时间, 回程工具,回程日期,回程班次,回程时间)
旅游团(团号,旅游班次号,团名,人数,联络人,地址,电话)
游客(游客编号,团号)
导游(导游编号,姓名,性别,年纪,身份证号码,住址,电话,语种,等级,业绩)
宾馆(宾馆编号,宾馆名,城市,星级,标准房价,联络人,职务,地址,电话,传真)
陪同(旅游班次号,导游编号)
食宿(旅游班次号,宾馆编号)
用户信息(游客编号,姓名,性别,年纪,身份证号码,地址,电话)
3.3.2 视图设计
唯一设计了一个视图,即综合信息查询:包含了团号,团名,旅游团价格,酒店名,酒店星级,酒店价格,导游和旅游景点。
3.4 数据库实现
3.4.1数据字典
3.4.1.1旅游线路表(TLINE)用来统计旅游线路信息
字段
字段名
类型
长度
说明
1
l_num
整型
路线号、主码
2
l_start
字符型
20
起点
3
l_end
字符型
20
终点
4
l_day
整型
天数
5
l_view
字符型
35
景点
表3-1 旅游线路表
3.4.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.4.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.4.1.4游客表(TVISITOR)统计了该游客编号所报名旅游团
字段
字段名
类型
长度
说明
1
v_num
整型
游客编号、主码
2
g_num
整型
团号、主码
表3-4 游客表
3.4.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.4.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.4.1.7陪同表(TCOM)指明旅游班次导游人
字段
字段名
类型
长度
说明
1
n_num
整型
旅游班次号、主码
2
u_num
整型
导游编号
表3-7 陪同表
3.3.1.8食物表(TFOOD)用于指明旅游班次居住酒店
字段
字段名
类型
长度
说明
1
n_num
整型
旅游班次号、主码
2
h_num
整型
宾馆编号
表3-8 食物表
3.4.1.9用户信息表(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-9 用户信息表
3.4.2 安全性设计
该系统只提供两种用户,一个是管理员,另一个是一般用户,管理员含有对数据库操作全部权限,一般用户权限受限,只能对用户个人信息进行修改或报名旅游。
3.4.3 一致性设计
关键是对数据库表三种完整性进行设计:
实体完整性:经过对每个关系表设置主键实现。
参考完整性:经过对不一样表设置外键联络实现
图3-2 数据表参考完整性图
用户自定义完整性:在该系统中,并无用户定义自定义完整性约束。
3.4.4视图设计
经过六个表外键联络组成
实现截图:
图3-3 视图设计图
四 具体设计和实现
4.1 创建数据库
4.1.1旅游线路表(TLINE)用来统计旅游线路信息
CREATE TABLE TLINE(
l_num int PRIMARY KEY,
l_start varchar(20) not null,
l_end varchar(20) not null,
l_day int,
l_view varchar(60)
);
图4-1 旅游线路实现图
4.1.2旅游班次表(TNUM)用来统计该旅游班次出发和回程时间工具等
CREATE TABLE TNUM(
n_num int PRIMARY KEY,
l_num int,
n_stand varchar(20),
n_value int,
n_gt varchar(15),
n_gd varchar(10),
n_gm int,
n_got varchar(8),
n_bt varchar(15),
n_bd varchar(10),
n_bm int,
n_bat varchar(8),
FOREIGN KEY (l_num) REFERENCES TLINE(l_num)
);
图4-2 旅游班次表实现图
4.1.3旅游团表(TGROUP)用来统计该旅游号旅游班次及团名人数等相关信息
CREATE TABLE TGROUP(
g_num int PRIMARY KEY,
n_num int,
g_name varchar(20),
g_sum int,
g_pep varchar(20),
g_add varchar(30),
g_tel varchar(15),
FOREIGN KEY (n_num) REFERENCES TNUM(n_num)
);
图4-3 旅游团表实现图
4.1.4游客表(TVISITOR)统计了该游客编号所报名旅游团
CREATE TABLE TVISITOR(
v_num int,
g_num int,
PRIMARY KEY(v_num,g_num),
FOREIGN KEY (v_num) REFERENCES TUSE(v_num),
FOREIGN KEY (g_num) REFERENCES TGROUP(g_num)
);
图4-4 游客表实现图
4.1.5导游表(TGUIDE)统计导游相关信息
CREATE TABLE TGUIDE(
u_num int PRIMARY KEY,
u_name varchar(20),
u_sex varchar(5),
u_age int,
u_id varchar(20),
u_add varchar(35),
u_tel varchar(15),
u_lan varchar(20),
u_lea varchar(5),
u_ach varchar(30)
);
图4-5 导游表实现图
4.1.6宾馆表(THOTEL)用于统计宾馆相关信息
CREATE TABLE THOTEL(
h_num int PRIMARY KEY,
h_name varchar(20),
h_city varchar(20),
h_lea varchar(5),
h_value int,
h_pep varchar(20),
h_post varchar(20),
h_add varchar(35),
h_tel varchar(15),
h_fax varchar(20)
);
图4-6 宾馆表实现图
4.1.7陪同表(TCOM)指明旅游班次导游人
CREATE TABLE TCOM(
n_num int PRIMARY KEY,
u_num int,
FOREIGN KEY (n_num) REFERENCES TNUM(n_num),
FOREIGN KEY (u_num) REFERENCES TGUIDE(u_num)
);
图4-8 陪同表实现图
4.1.8食物表(TFOOD)用于指明旅游班次居住酒店
CREATE TABLE TFOOD(
n_num int PRIMARY KEY,
h_num int,
FOREIGN KEY (n_num) REFERENCES TNUM(n_num),
FOREIGN KEY (h_num) REFERENCES THOTEL(h_num)
);
图4-8 食物表实现图
4.1.9用户信息表(TFIN)用于存放注册包含用户编号,姓名等用户信息
CREATE TABLE TINF(
v_num int PRIMARY KEY,
v_name varchar(20),
v_sex varchar(5),
v_age int,
v_id varchar(20),
v_add varchar(20),
v_tel varchar(15),
FOREIGN KEY (v_num) REFERENCES TUSE(v_num),
);
图4-9 用户信息表实现图
4.2 数据库数据初始化
4.2.1旅游线路表(TLINE)用来统计旅游线路信息
图4-10 旅游线路表数据初始化完成图
4.2.2旅游班次表(TNUM)用来统计该旅游班次出发和回程时间工具等
图4-11 旅游班次表数据初始化完成图
4.2.3旅游团表(TGROUP)用来统计该旅游号旅游班次及团名人数等相关信息
图4-12 旅游团表数据初始化完成图
4.2.4游客表(TVISITOR)统计了该游客编号所报名旅游团
图4-13 游客表数据初始化完成图
4.2.5导游表(TGUIDE)统计导游相关信息
图4-14 导游表数据初始化完成图
4.2.6宾馆表(THOTEL)用于统计宾馆相关信息
图4-15 宾馆表数据初始化完成图
4.2.7陪同表(TCOM)指明旅游班次导游人
图4-16 陪同表数据初始化完成图
4.2.8食物表(TFOOD)用于指明旅游班次居住酒店
图4-17食物表数据初始化完成图
4.2.11用户信息表(TINF)用于存放注册包含用户编号,姓名等用户信息
图4-18 用户信息表数据初始化完成图
4.2数据查找
SELECT TOP 3 * FROM TGUIDE
图4—19查找图
4.3数据库代码
CREATE DATABASE ssss
ON
(
NAME='ssss_data',
FILENAME='d:\数据库课设\ssss_data.mdf',
SIZE=3mb,
FILEGROWTH=15%
)
LOG ON
(
NAME= 'ssss_log',
FILENAME='d:\数据库课设\ssss_log.ldf',
SIZE=3mb,
FILEGROWTH=15%
)
GO
use ssss
CREATE TABLE TLINE(
l_num int PRIMARY KEY,
l_start varchar(20) not null,
l_end varchar(20) not null,
l_day int,
l_view varchar(60)
);
CREATE TABLE TNUM(
n_num int PRIMARY KEY,
l_num int,
n_stand varchar(20),
n_value int,
n_gt varchar(15),
n_gd varchar(10),
n_gm int,
n_got varchar(8),
n_bt varchar(15),
n_bd varchar(10),
n_bm int,
n_bat varchar(8),
FOREIGN KEY (l_num) REFERENCES TNUM(n_num)
);
CREATE TABLE TGROUP(
g_num int PRIMARY KEY,
n_num int,
g_name varchar(20),
g_sum int,
g_pep varchar(20),
g_add varchar(30),
g_tel varchar(15),
FOREIGN KEY (n_num) REFERENCES TGROUP(g_num)
);
CREATE TABLE TVISITOR(
v_num int,
g_num int,
PRIMARY KEY(v_num,g_num),
FOREIGN KEY (v_num) REFERENCES TNUM(n_num),
FOREIGN KEY (g_num) REFERENCES TGROUP(g_num)
);
CREATE TABLE TGUIDE(
u_num int PRIMARY KEY,
u_name varchar(20),
u_sex varchar(5),
u_age int,
u_id varchar(20),
u_add varchar(35),
u_tel varchar(15),
u_lan varchar(20),
u_lea varchar(5),
u_ach varchar(30),
);
CREATE TABLE THOTEL(
h_num int PRIMARY KEY,
h_name varchar(20),
h_city varchar(20),
h_lea varchar(5),
h_value int,
h_pep varchar(20),
h_post varchar(20),
h_add varchar(35),
h_tel varchar(15),
h_fax varchar(20)
);
CREATE TABLE TUSE(
v_num int PRIMARY KEY,
v_name varchar(20),
v_sex varchar(5),
v_age int,
v_id varchar(20),
v_add varchar(20),
v_tel varchar(15),
FOREIGN KEY (v_num) REFERENCES TNUM(n_num),
);
CREATE TABLE TCOM(
n_num int PRIMARY KEY,
u_num int,
FOREIGN KEY (n_num) REFERENCES TNUM(n_num),
FOREIGN KEY (u_num) REFERENCES TGUIDE(u_num)
);
CREATE TABLE TFOOD(
n_num int PRIMARY KEY,
h_num int,
FOREIGN KEY (n_num) REFERENCES TNUM(n_num),
FOREIGN KEY (h_num) REFERENCES THOTEL(h_num)
);
结论和总结
经过四天时间,经过分析了旅游系统数据库设计概述,进行了旅游系统需求分析,以后经过概念结构设计分析,进行数据抽象,经过画E-R图对逻辑结构设计继续分析设计,最终经过SQL语言在SQL SEVERE 中实现了数据库建立工作。
在学习设计过程中,我对数据库设计过程有了愈加好了解,一个好数据库需经过概述设计、需求分析、概念结构设计、逻辑结构设计、物理结构设计、数据库维护等,同时,一个好数据库也应该拥有比较合乎逻辑和事实数据。
我以后次课程设计中学到了很多书本上没有知识,从刚开始到今天基础实现设计要求,我学到了很多。知识是在课堂上,老师教授,在书本中学到,实践则是要自己动手,自己去做才能掌握。伴随时间推移,我开始慢慢掌握了设计时所需要部分基础知识。扎实基础功和良好学习习惯,能使自己在学习新知识时有更深刻认识力和愈加快领会力。脚扎实地、认真严谨、实事求是学习态度,不怕困难、坚持不懈、吃苦耐劳精神是我在这次设计中最大收益。我想这是一次意志磨练,是对我实际能力一次提升,相信也会对我未来学习和工作有很大帮助。
参 考 文 献
【1】王珊、萨师煊编著[M].数据库系统概论(第四版),高等教育出版社5月
【2】李卫华编著[M].JAVA技术及其应用,清华教育出版社.6月第一版
展开阅读全文