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