资源描述
湖南文理学院
《数据库原理及应用》课程设计说明书
题 目:旅行社数据库系统
学生姓名:杨 欢
学 号:201217010225
专 业:计算机
班 级:计科10102
指导教师:周汉斌
湖南文理学院课程设计任务书
课程名称
数据库原理及应用
设计题目、等级
设计题目6:旅行社数据库课程设计
指导教师
周汉斌
时间
2013.12。2 – 2013。12.14
一、教学要求
1.从附录一中选择一个题目进行数据库应用系统设计。
2.功能设计:用Visual FoxPro,Visual Basic、PB等开发工具与数据库管理系统SQL—SEVER或Access制作一个小型管理系统.所设计的小型管理系统应包含输入输出、查询、插入、删除等基本功能.设计课题可以从候选的项目中选出,根据题目的基本需求,画出流程图,编写程序,并写出详细的设计说明书。(本项实际系统设计与实现可选,但必须有功能设计过程)
3.数据库的设计:
根据数据库应用系统设计过程,通过需求分析和系统分析,进行数据库的概念结构设计、逻辑结构设计等工作:
l 概念结构设计的E-R图
l 数据库逻辑结构设计是以表格的形式说明数据库中有几个表,每个表的表名以及每个表的各字段名,类型和约束(主、外码);
l 确定表之间的关联(一对一、一对多、多对多)
l 运用数据库理论确定每个表至少属于3NF。
二、设计资料及参数
作为化妆品行业的世界领导者,欧莱雅近一个世纪来以投身美的事业为己任,向全世界消费者不遗余力地奉献着优质产品,并以坚持创新性为人们所熟知.她在全球拥有500多个品牌,其中世界知名品牌就有巴黎欧莱雅、美宝莲、卡尼尔、兰蔻、赫莲娜、碧欧泉、薇姿、卡诗等.事业遍及150多个国家和地区,2001年销售额高达137亿欧元,连续十七年利润增长达到两位数.
作为这样一个规模庞大,生产、销售遍布世界各地的企业,想要有效的管理其庞大的销售系统,在竞争中占据主导地位,扩大其品牌影响力和市场分额,掌握第一手的信息资源是必不可少的条件。而且作为轻工业,它的生产过程、配料也比较复杂.因此,我们小组决定选取这个企业作为模型,为它建立一个数据库。在管理模式上,它采取的是各个子品牌独立经营,总公司总体规划的方法。而我们选取其中的一个子品牌“lancome(兰蔻)”,做它的数据库,其它的子品牌可以以此类推。
三、设计要求及成果
1.按照数据库应用系统设计步骤进行数据库结构设计。
2.使用开放工具及数据库管理系统开放应用系统(可选)。
3.书写论文(具体要求见论文模板)。
四、进度安排
1、安排工作.
2、数据库结构设计、功能设计。
3、检查E—R图,关系表。
4、应用系统验收。
5、上交论文。
五、评分标准
1.数据库结构正确性(30%)。
2.数据库结构复杂性,由题目等级决定(30%).
3.设计报告完成的质量(30%).
4.出勤(10%)。
5.成绩采用五级分制评定。
六、建议参考资料
1、施伯乐,丁宝康,汪 卫.数据库系统教程(第三版)。北京:高等教育出版社,2008
2、 张守志,丁宝康,汪 卫.数据库系统教程(第三版)习题解答与实验指导。北京:高等教育出版社,2008
3、 郭郑州,陈军红。SQL Server 2008 完全学习手册。北京:清华大学出版社 2011
目录
目录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 2008
本系统运行环境: 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 2008中实现了数据库的建立工作.
在学习设计过程中,我对数据库的设计过程有了更加好的理解,一个好的数据库需经过概述设计、需求分析、概念结构设计、逻辑结构设计、物理结构设计、数据库的维护等,同时,一个好的数据库也应该拥有比较合乎逻辑与事实的数据.
我从本次课程设计中学到了许多课本上没有的知识,从刚开始到今天基本实现设计要求,我学到了很多.知识是在课堂上,老师教授的,在书本中学到的,实践则是要自己动手,自己去做才能掌握。随着时间的推移,我开始慢慢的掌握了设计时所需要的一些基础知识。扎实的基本功和良好的学习习惯,能使自己在学习新知识时有更深刻的认识力和更快的领会力。脚踏实地、认真严谨、实事求是的学习态度,不怕困难、坚持不懈、吃苦耐劳的精神是我在这次设计中最大的收益。我想这是一次意志的磨练,是对我实际能力的一次提升,相信也会对我未来的学习和工作有很大的帮助.
参 考 文 献
【1】王珊、萨师煊编著[M]。数据库系统概论(第四版),高等教育出版社2006年5月
【2】李卫华编著[M]。JAVA技术及其应用,清华教育出版社。2009年6月第一版
展开阅读全文