旅游管理系统剖析.docx

上传人:b****6 文档编号:6989274 上传时间:2023-01-15 格式:DOCX 页数:45 大小:571.16KB
下载 相关 举报
旅游管理系统剖析.docx_第1页
第1页 / 共45页
旅游管理系统剖析.docx_第2页
第2页 / 共45页
旅游管理系统剖析.docx_第3页
第3页 / 共45页
旅游管理系统剖析.docx_第4页
第4页 / 共45页
旅游管理系统剖析.docx_第5页
第5页 / 共45页
点击查看更多>>
下载资源
资源描述

旅游管理系统剖析.docx

《旅游管理系统剖析.docx》由会员分享,可在线阅读,更多相关《旅游管理系统剖析.docx(45页珍藏版)》请在冰豆网上搜索。

旅游管理系统剖析.docx

旅游管理系统剖析

旅游管理系统

目录

一、系统的需求分析2

1.1、背景材料2

1.2、需求分析2

二、系统的概要设计3

2.1、系统的功能设计3

2.2、系统的数据字典3

2.3、系统的E-R图6

2.3.1实体-属性图6

2.3.2实体-联系图8

三、系统的详细设计9

3.1系统的数据库设计9

3.1.1数据库的逻辑设计9

3.1.2数据库的物理设计10

四、旅游管理系统实施18

4.1系统的功能模块设计18

4.2个人系统模块的划分及实现20

4.2.1个人系统模块划分20

4.2.2旅游团管理模块的设计及实现21

4.2.3模块的测试运行32

五、评价与总结38

5.1旅游管理系统优点38

5.2旅游管理系统缺点38

5.3总结38

一、系统的需求分析

1.1、背景材料

某旅行社要开发一个小型旅游管理子系统,主要涉及的基本实体及其基本信息如下:

旅游线路:

线路编号、起点、终点、旅游天数、主要景点。

旅游班次:

班次编号、出发日期、回程日期、旅游标准、报价、折扣率。

导游:

导游编号、身份证号、姓名、性别、出生日期、住址、联系电话、语种、等级。

宾馆:

宾馆编号、宾馆名称、所在城市、星级、标准房价、联系人、职务、联系地址、联系电话、传真。

游客:

游客编号、身份证号、姓名、性别、出生日期、住址、联系电话,旅游线路、出发日期、回程日期。

保险:

保险单号、人均保险费、保险期限。

1.2、需求分析

一条旅游线路可以开设多条旅游班次,但一个旅游班次只在固定的某一条旅游线路上;每条旅游班次可以有多个旅游团,但某个旅游团只参加某个固定的旅游班次;每个旅游班次可以有多名导游陪同,一名导游可以在不同的时间陪同不同旅游班次的旅游团;一家宾馆可以接待多个旅游班次,一个旅游班次在旅游期间可以再多加宾馆食宿;该旅行社接受游客的个人报名,但将若干相同出发日期、回程日期、旅游线路的游客组织成旅游团的方式开展旅游活动,每个旅游团的人数下限为20人,上限为50人,每个旅游团包括团号、团名、实际人数、联系人、住址、联系电话等信息;游客以旅游团为单位参见保险,一张保险单只对一个旅游团,一个旅游团在旅游期间只能参见一次保险。

二、系统的概要设计

2.1、系统的功能设计

⑴游客报名管理子系统。

至少包括:

游客报名数据的录入,游客报名数据的修改、游客报名数据的注销、游客报名情况查询(尽可能多的查询方式)。

⑵旅游团组团管理子系统。

至少包括:

旅游团的组建工作,当出现相同出发日期、回程日期、旅游线路的游客人数达到组团要求时组建一个旅游团,然后通过存储过程完成旅游班次、导游、办理保险、住宿宾馆等旅游的安排工作、旅游团组团情况查询(尽可能多的查询方式)。

⑶旅游团统计子系统。

至少包括:

按不同的时间段(月、季、年)统计各旅游线路的旅游团的总团数、最少(团的)人数、最多(团的)人数、平均人数、总人数。

等信息;按不同的时间段(月、季、年)统计各宾馆所接待的旅游线路的旅游团的总团数、最少(团的)人数、最多(团的)人数、平均人数、总人数。

等信息。

⑷系统维护子系统。

至少包括:

操作者权限的设置、取消和更改;数据库数据的导入和导出;数据库的备份扥功能。

2.2、系统的数据字典

系统的数据字典:

数据项名

数据类型

宽度,小数位数

取值范围或格式

拟用字段名

线路编号

Char

10

第1位(固定):

1;

第2、3、4位(数字):

国家;第5、6位(数字):

省份;第7、8、9、10位(数字):

编号

Line_no

起点

nvarChar

10

Line_start

终点

nvarChar

10

Line_end

旅游天数

tinyint

Line_days

主要景点

nvarChar

80

Line_sight

班次编号

Char

10

第1位(固定):

2;

第2、3、4位(数字):

国家;第5、6位(数字):

省份;第7、8、9、10位(数字):

编号

Order_no

出发日期

smallDatetime

小于或等于当前日期

Order_go

回程日期

smallDatetime

大于当前日期

Order_back

旅游标准

nvarChar

10

‘豪华’‘经济’

Order_standard

报价

smallMoney

Order_price

实际价格

smallMoney

Order_amout

折扣

float

4

Order_discout

导游编号

Char

7

第1位(固定):

3;

第2、3、4(数字):

国籍;第5、6、7位(数字):

编号

Guide_no

身份证

Char

18

前17位为数字最后一位可为数字或字母

Guide_id

姓名

nChar

10

Guide_name

性别

varChar

2

‘男’或者‘女’

Guide_sex

出生日期

smallDatetime

不得超过当前日期

Guide_birth

住址

nvarChar

50

Guide_address

联系电话

Char

11

Guide_phone

语种

nvarChar

30

Guide_language

等级

nvarChar

5

‘实习’;‘兼职’;‘全职’

Guide_level

团号

Char

10

Group_no

团名

nChar

10

Group_name

实际人数

tinyint

>=20AND<=50

Group_peoples

联系人

nChar

10

Group_charge

住址

nChar

30

Group_address

联系电话

Char

11

Group_phone

宾馆编号

Char

7

第1位(固定):

4;

第2、3、4位(数字):

国家;第5、6、7位(数字):

编号;

Hotels_no

宾馆名称

nVarchar

30

Hotels_name

所在城市

nVarchar

10

内地各城市宾馆

Hotels_city

宾馆星级

nvarChar

10

‘一星级’,‘二星级’,‘三星级’,‘四星级’,‘五星级’

Hotels_star

标准房价

smallmoney

Hotels_price

联系人

nChar

12

Hotels_charge

职务

nChar

14

Hotels_duties

联系地址

nVarchar

60

Hotels_address

联系电话

nChar

11

Hotels_phone

传真

nChar

11

Hotels_faks

游客编号

nChar

7

第1位(固定):

5;

其余位数:

编号

Visitors_no

游客身份证

Char

18

Visitors_code

游客姓名

nChar

12

Visitors_name

游客性别

varChar

2

‘男’或者‘女’

Visitors_sex

游客出生日期

smallDatetime

不得超过当前日期

Visitors_birthdate

游客住址

nVarchar

60

Visitors_address

游客联系电话

Char

13

Visitors_phone

游客旅游线路

nVarchar

100

Visitors_line

出发日期

smallDatetime

不能超过当前日期

Visitors_leave_time

回程日期

smallDatetime

Visitors_return_time

保险单号

nChar

10

第1位(固定):

6;

其余位(数字):

编号

Insurance_no

人均保险费

smallmoney

Insurance_pay

保险期限

Smalldatetime

Insurance_period

2.3、系统的E-R图

2.3.1实体-属性图

旅游线路实体及其属性

旅游班次实体及其属性

导游实体及其属性

旅游团实体及其属性

宾馆实体及其属性

游客实体及其属性

保险实体及其属性

2.3.2实体-联系图

 

 

三、系统的详细设计

3.1系统的数据库设计

3.1.1数据库的逻辑设计

一、根据系统的E-R图,转换得到关系模式及每个关系模式的主码、外码如下:

(1)旅游线路(线路编号,起点,终点,旅游天数,主要景点,设计者)主码:

线路编号;外码:

(2)旅游班次(班次编号,出发日期,回程日期,旅游标准,报价,折扣率,线路编号)主码:

班次编号;外码:

线路编号

(3)导游资料(导游编号,身份证号,姓名,性别,出生日期,住址,联系电话,等级,语种)主码:

导游编号;外码:

(4)旅游团(团号,团名,实际人数,联系人,住址,联系电话,旅游班次)主码:

团号;外码:

旅游班次

(5)宾馆(宾馆编号,宾馆名称,所在城市,星级,标准房间,联系人,联系地址,传真,联系电话,旅游班次)主码:

宾馆编号;外码:

旅游班次

(6)游客(游客编号,身份证号,姓名,性别,出生日期,住址,出发日期,回程日期,班次编号)主码:

旅客编号,身份证号;外码:

班次编号

(7)保险(保险单号,人均保险费,保险期限,团号)主码:

保险单号;外码:

团号

(8)陪同(导游编号,团号)主键:

导游编号,团号,外码:

(9)接待(宾馆编号,团号)主键:

导游编号,团号;外码:

 

二、在上述的所定义的所有关系模式中,“游客报名单项”关系模型中,报名费=报价*折扣率,存在“传递依赖”该模式属于2NF,“参保单项”关系模型中,参保总额=人均保险费*实际人数,存在“传递依赖”,只满足2NF。

其他的所有关系模式都满足3NF。

非规范化处理:

1、“游客报名单项”关系模式

若考虑如下两种情况:

如果不存在折扣率优惠,以上的“报名费”的计算公式不成立;

存在折扣率优惠时,该计算公式成立。

为保持处理效率,避免每次查询“报名费”都要重新计算,所以得保留该数据项。

2、“游客报名单”关系模式

为了便于查询报名单的“报名总额”且避免频繁的查询进行计算,而增加“报名总额”这项。

该项是各游客报名费之和。

所以增加“报名总额”数据项。

(1)旅游线路(线路编号,起点,终点,旅游天数,主要景点,设计者)主码:

线路编号;外码:

(2)旅游班次(班次编号,出发日期,回程日期,旅游标准,报价,折扣率,线路编号)主码:

班次编号;外码:

线路编号

(3)导游资料(导游编号,身份证号,姓名,性别,出生日期,住址,联系电话,等级,语种)主码:

导游编号,身份证号;外码:

(4)旅游团(团号,团名,实际人数,联系人,住址,联系电话,旅游班次)主码:

团号;外码:

旅游班次

(5)宾馆(宾馆编号,宾馆名称,所在城市,星级,标准房间,联系人,联系地址,传真,联系电话)主码:

宾馆编号;外码:

(6)游客(游客编号,身份证号,姓名,性别,出生日期,住址,出发日期,旅游线路,回程日期,报名费)主码:

旅客编号,身份证号;外码:

(7)保险(保险单号,人均保险费,保险期限,团号)主码:

保险单号;外码:

团号

(8)陪同(陪同单号,导游编号,团号,陪同开始日期,陪同天数)主键:

报名单号,外码:

导游编号,团号

(9)接待(接待单号,宾馆编号,团号,入住时间,接待天数)主键:

接待单号;外码:

宾馆编号,团号

(10)报名(报名单号,报名日期,游客编号,班次编号)主键:

报名单号;外键:

游客编号,班次编号

3.1.2数据库的物理设计

一、根据关系模式分析,得出如下数据库表

⏹tb_User(用户信息表)

表tb_User用于保存客户信息,该表的结构如表5.1所示。

表5.1用户信息表

字段名

数据类型

长度

主键否

描述

User_id

CHAR

8

主键

用户编号

User_name

Nvarchar

20

用户名称

User_pwd

char

20

用户密码

User_right

char

10

用户权限

⏹tb_Line(旅游线路信息表)

表tb_Line用于保存旅游线路信息,该表的结构如表5.2所示。

表5.2旅游线路信息表

字段名

数据类型

长度

主键否

描述

Line_no

Char

10

主键

线路编号

Line_start

NVARchar

10

起点

Line_end

NVARchar

10

旅游线路终点

Line_days

Tinyint

1

旅游天数

Line_sight

Nvarchar

80

旅游主要景点

Line_designer

NVARCHAR

8

旅游线路设计者

⏹tb_Order(旅游班次信息表)

表tb_Order用于保存旅游班次信息,该表的结构如表5.3所示。

表5.3旅游班次信息表

字段名

数据类型

长度

主键否

描述

Order_no

Char

10

主键

班次编号

Order_go

smallDatetime

4

班次出发日期

Order_back

smallDatetime

4

班次回程日期

Order_standard

Nchar

10

旅游标准

Order_price

smallMoney

4

旅游报价

Order_discout

Char

4

旅游折扣

Line_no

Char

10

外键

线路编号

⏹tb_Guide(导游信息表)

表tb_Guide用于保存导游信息,该表的结构如表5.4所示。

表5.4导游信息表

字段名

数据类型

长度

主键否

描述

Guide_no

Char

7

主键

导游编号

Guide_id

Char

18

主键

导游身份证

Guide_name

NVARchar

10

导游姓名

Guide_sex

Nchar

1

导游性别

Guide_birth

smallDatetime

出生日期

Guide_address

Nvarchar

50

住址

Guide_phone

Char

11

导游联系电话

Guide_language

NVARchar

30

导游掌握的语种

Guide_level

NVARchar

5

导游级别

⏹tb_Group(旅游团信息表)

表tb_group用于保存旅游团信息,该表的结构如表5.4所示。

表55旅游团信息表

字段名

数据类型

长度

主键否

描述

Group_no

Char

10

主键

团号

Group_name

NVARchar

10

团名

Group_people

tinyInt

1

旅游团实际人数

Grop_charge

NVARchar

10

旅游团联系人

Group_address

NVARchar

30

住址

Group_phone

Char

11

联系电话

Order_no

CHAR

10

外键

旅游班次

⏹tb_Hotels(宾馆信息表)

表tb_Hotels用于保存宾馆信息,该表的结构如表5.5所示。

表5.6宾馆信息表

字段名

数据类型

长度

主键否

描述

Hotels_no

Char

7

主键

宾馆编号

Hotels_name

NvARchar

20

宾馆名称

Hotels_city

Nvarchar

10

所在城市

Hotels_star

Nchar

10

宾馆星级

Hotels_price

smallMoney

4

宾馆标准房价

Hotels_charge

NVARchar

12

宾馆联系人

Hotels_address

Nvarchar

60

宾馆地址

Hotels_phone

char

11

宾馆联系电话

Hotels_faks

char

11

宾馆传真号码

⏹tb_Vistor(游客信息表)

表tb_Vistor用于保存游客信息表,该表的结构如表5.6所示

表5.7游客信息表

字段名

数据类型

长度

主键否

描述

Vistors_no

char

7

主键

游客编号

Visitors_code

Char

18

主键

游客身份证

Visitors_name

NVARchar

12

游客姓名

Visitors_sex

VARchar

1

游客性别

Visitors_birth

smallDatetime

4

游客出生日期

Visitors_address

Nvarchar

60

游客住址

Visitors_phone

Char

11

游客联系电话

Visitors_leavetime

smallDatetime

4

出发日期

Visitors_returntime

smallDatetime

4

回程日期

Visitors_payment

Smallmoney

4

报名费

⏹tb_Insurance(保险信息表)

表tb_Insurance用于保存保险信息,该表的结构如表5.7所示。

表5.8保险信息表

字段号

数据类型

长度

主键否

描述

Insurance_no

char

10

主键

保险单号

Insurance_pay

smallMoney

4

人均保险费

Insurance_period

Smalldatetime

4

保险期限

Group_no

Char

10

外键

团号

⏹tb_accompany(陪同关系表)

表tb_accompany用于联系导游与旅游团的关系,该表的结构如表5.8所示。

表5.9陪同关系表

字段号

数据类型

长度

主键否

描述

Accomp_no

CHAR

10

主键

陪同单号

Guide_no

Char

7

外键

导游编号

Group_no

Char

10

外键

团号

Accomp_start

SMALLDATETIME

4

陪同起始日期

Accomp_days

Tinyint

1

陪同天数

⏹tb_reception(接待关系表)

表tb_reception用于联系宾馆信息与旅游团的关系,该表的结构如表5.9所示。

表5.10接待关系表

字段号

数据类型

长度

主键否

描述

Reception_no

CHAR

10

主键

接待单号

Hotels_no

Char

7

外键

宾馆编号

Group_no

Char

10

外键

团号

Reception_start

SMALLDATETIME

4

入住时间

Reception_days

TINYINT

1

入住天数

⏹tb_enroll(报名关系表)

表tb_enroll用于联系游客信息与旅游班次关系和保存报名所需费用的信息,该表的结构如表5.10所示。

表5.11报名关系表

字段号

数据类型

长度

主键否

描述

Enroll_no

CHAR

10

主键

报名单号

Enroll_date

SMALLDATETIME

4

报名日期

Visitors_no

Nchar

7

外键

游客编号

Order_no

Char

10

外键

旅游班次编号

二、数据库相关代码

数据库创建

CREATEDATABASETourMDB

ONPRIMARY

(NAME=Tour_dat1,

FILENAME='E:

\data\Tourdat1.mdf',

SIZE=10MB,

MAXSIZE=200MB,

FILEGROWTH=10%),

(NAME=Tour_dat2,

FILENAME='E:

\data2\Tourdat2.ndf',

SIZE=10MB,

MAXSIZE=500MB,

FILEGROWTH=20%)

LOGON

(NAME=Tour_log1,

FILENAME='F:

\log\Tourlog1.ldf',

SIZE=10MB,

MAXSIZE=100MB,

FILEGROWTH=10%)

数据库自动收缩

ALTERDATABASETourMDB

SETAUTO_SHRINKON

表1

CREATETABLEtb_User

(User_idchar(8)CONSTRAINTpk_useridPRIMARYKEYCLUSTERED,

User_namenvarchar(20)NOTNULL,

User_pwdvarchar(20)NOTNULL,

User_rightvarchar(10)NOTNUL

第1位(固定):

1;

第2、3、4位(数字):

国家;第5、6位(数字):

省份;第7、8、9、10位(数字):

编号

表2

CREATETABLEtb_Line

(Line_noCHAR(10)check(Line_noLIKE’[1][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]’)PRIMARYKEY,

Line_startNVARCHAR(10),

Line_endNVARCHAR(10),

Line_daysTINYINT,

Line_sightNVARCHAR(80)

Line_designerNVARCHAR(8)

第1位(固定):

2;

第2、3、4位(数字):

国家;第5、6位(数字):

省份;第7、8、9、10位(数字):

编号

表3

CREATETABLEtb_Order

(Order_noCHAR(10)check(Order_noLIKE’[2][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]’)PRIMARYKEY,

Order_goSMALLDATETIME,

Order_backSM

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工作范文 > 行政公文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1