数据库课程设计--旅行社管理系统.docx

上传人:scccc 文档编号:11178822 上传时间:2021-07-09 格式:DOCX 页数:38 大小:346.60KB
返回 下载 相关 举报
数据库课程设计--旅行社管理系统.docx_第1页
第1页 / 共38页
数据库课程设计--旅行社管理系统.docx_第2页
第2页 / 共38页
数据库课程设计--旅行社管理系统.docx_第3页
第3页 / 共38页
数据库课程设计--旅行社管理系统.docx_第4页
第4页 / 共38页
数据库课程设计--旅行社管理系统.docx_第5页
第5页 / 共38页
点击查看更多>>
资源描述

《数据库课程设计--旅行社管理系统.docx》由会员分享,可在线阅读,更多相关《数据库课程设计--旅行社管理系统.docx(38页珍藏版)》请在三一文库上搜索。

1、目 录1.课题描述-12.设计过程2.1需求分析 2.1.1数据流图-1 2.1.2数据字典-22.2概念设计2.2.1实体间的联系-62.2.2数据库关系图-72.3 逻辑设计2.3.1E-R图-72.3.2关系模式-82.4 物理设计2.4.1主窗体代码-102.4.2数据库源代码-21 2.4.3触发器及存储过程-302.4.4数据库的实施-363.总结-371. 课题描述 课题具体目标与要求: 1)、会员登录与注册管理; 2)、实现旅游信息管理。包括路线、景点、会员进行管理等; 3)、实现客房管理。包括对客房如客房信息、入住信息的录入、修改与查询,并可以实现订房与退房服务等; 2.设计

2、过程 2.1需求分析 2.1.1数据流图2.1.2数据字典管理员属性名存储代码类型长度备注管理员idadminidchar11用户名usernamechar12登录账号密码passwordchar8登录密码类型idtypeidchar8预定房间属性名存储代码类型长度备注房间号roomidchar8订房用户bookuserchar30订房时间booktimechar50订房日期bookdatechar30房价pricechar20订房价格导游表属性名存储代码类型长度备注导游编号guideidchar8导游姓名guidenamechar30联系电话telephonechar11酒店表属性名存储代码

3、类型长度备注酒店编号hotelidchar11房间编号roomidchar8酒店名字hotelnamechar15酒店地址hoteladdrchar50订房信息bookinfochar50客人信息订房价格pricechar50联系电话telephonechar11酒店的电话景点表属性名存储代码类型长度备注景点编号spotidchar15景点名称spotnamechar15所在城市citychar20票价ticketchar5联系电话telephonechar11开放时间opentimechar50路线编号routeidchar8旅游表属性名存储代码类型长度备注用户编号useridint8景点编

4、号spotidchar15酒店编号hotelidchar11旅游时间tourtimechar40留言remarkchar100导游编号guideidchar8路线表属性名存储代码类型长度备注路线编号routeidchar8起点startpointchar20终点endpointchar20所需时间timeneedchar15票价ticketchar12类型表属性名存储代码类型长度备注类型编号typeid类型名称typename用户表属性名存储代码类型长度备注用户编号useridint8用户真名realnamechar20年龄agechar5性别sexchar2联系电话telephonechar

5、11居住地址addresschar20身份证号idnumchar30用户名usernamechar20密码passwordchar8酒店编号hotelidchar11房间编号roomidchar8(1)管理员信息:建立管理员信息表,对管理员统一编号,设定管理员用户名、密码、和类型编号。 (2)用户信息:建立用户信息表,对用户统一编号,设定用户姓名、性别、年龄、联系电话、联系地址、身份证号、以及客户登录密码等。 (3)酒店信息:建立酒店信息表,以酒店名称辨别酒店,另外设定酒店地址、预订信息、客房编号、房间价格等属性。 (4) 景点信息:建立景点信息表,以景点名称对景点分类,并设定景点所在城市、门

6、票价格、路线编号、联系电话、开放时间属性。 (5)用户住房信息:建立用户住房信息,明确用户与酒店之间的关系,并且用户住房信息中包含客户的住、退房日期,是酒店与用户之间的联系更加明朗化,用户可通过客户登录密码进入该表查询其住宿信息。 (6)用户旅游信息:建立用户旅游信息,明确用户旅游的目的地、线路安排、以及本次旅行的交通问题、费用等,用户同样可根据其登录密码查询其旅游信息. (7)管理员管理用户信息:管理员可利用其特殊的权限对用户信息进行添加、修改、删除。 (8)管理员管理景点信息:管理员可利用其特殊权限对景点信息进行添加、修改、删除。 (9)管理员管理酒店信息:管理员可利用其特殊的权限对酒店客

7、房信息进行添加、修改、删除。 2.2概念设计 2.2.1实体间的联系 1.一个用户只能入住一个房间,一个房间可以入住多个用户。 2.多名用户可以同时游览一个景点,但是一名用户不能同时游览多个景点。 3.一个系统管理员可以处理多个客房信息,一个客房信息可以被多名系统管理员管理。 4.一个系统管理员可以处理多个景点信息,一个景点信息可以被多名系统管理员管理。 5.一个系统管理员可以处理多个酒店信息,一个酒店信息可以被多名系统管理员管理。 6.一个普通客户只能查询一个客户详细信息。 2.2.2数据库关系图 旅行社信息管理系统数据库关系图 2.2 旅行社信息管理系统E-R模型图 2.3 逻辑设计 2.

8、3.1关系模式用户表(用户编号,用户姓名,用户性别,用户年龄,联系电话,用户密码,联系地址); 酒店表(酒店编号,酒店名称,酒店地址,客房号码,房间价格); 客户住房表(用户编码,酒店名称,住房日期,退房日期)。客户表(用户编号,用户姓名,用户性别,用户年龄,联系电话,用户密码); 景点表(景点名称,所在城市,门票价格,开放时间,路线编号,联系电话); 用户旅游表(用户编号,景点名称,旅游路线,交通方式,旅游类型)。 管理员表(管理员编码,用户名,密码,级别); 酒店表(酒店名称,酒店地址,客房等级,客房号码,房间价格)。管理员表(管理员编码,用户名,密码,级别); 用户表(用户编号,用户真名

9、,用户名,用户性别,用户年龄,联系电话,身份证号,客户密码)。 景点表(景点名称,所在城市,门票价格,景点特色,导游姓名,导游电话)。 2.4 物理设计 2.4.1主窗体代码Login.javapackage com.steve;import java.awt.EventQueue;import javax.swing.JFrame;import javax.swing.JPanel;import java.awt.BorderLayout;import java.awt.Button;import javax.swing.JLabel;import javax.swing.JTextFiel

10、d;import java.awt.FlowLayout;import javax.swing.JButton;import javax.swing.JMenuBar;import javax.swing.BoxLayout;import java.awt.Color;import java.awt.SystemColor;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.JRadioButton;import javax.swing.Box;import java

11、x.swing.border.LineBorder;import javax.swing.SwingConstants;public class login private JFrame frame;private JPanel panel;private Box verticalBox;private JPanel panel_1;private Box verticalBox_1;private JLabel label;private JTextField textField;private JPanel panel_2;private Box verticalBox_2;private

12、 JLabel label_1;private JTextField textField_1;private JPanel panel_3;private Box horizontalBox;private JButton button;private JButton button_1;/* * Launch the application. */public static void main(String args) EventQueue.invokeLater(new Runnable() public void run() try login window = new login();w

13、indow.frame.setVisible(true); catch (Exception e) e.printStackTrace(););/* * Create the application. */public login() initialize();frame.setTitle(旅行社登录注册页面);/* * Initialize the contents of the frame. */private void initialize() frame = new JFrame();frame.setBackground(new Color(102, 0, 204);frame.se

14、tBounds(500,500,500,500);frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frame.getContentPane().setLayout(new BoxLayout(frame.getContentPane(), BoxLayout.X_AXIS);panel = new JPanel();frame.getContentPane().add(panel);verticalBox = Box.createVerticalBox();verticalBox.setBorder(new LineBorder(new

15、 Color(0, 0, 0), 1, true);panel.add(verticalBox);panel_1 = new JPanel();verticalBox.add(panel_1);verticalBox_1 = Box.createVerticalBox();panel_1.add(verticalBox_1);label = new JLabel(用户名:);label.setBackground(SystemColor.textHighlight);panel_1.add(label);textField = new JTextField();textField.setHor

16、izontalAlignment(SwingConstants.LEFT);textField.setColumns(10);panel_1.add(textField);panel_2 = new JPanel();verticalBox.add(panel_2);verticalBox_2 = Box.createVerticalBox();panel_2.add(verticalBox_2);label_1 = new JLabel(密码: );panel_2.add(label_1);textField_1 = new JTextField();textField_1.setHoriz

17、ontalAlignment(SwingConstants.LEFT);textField_1.setColumns(10);panel_2.add(textField_1);panel_3 = new JPanel();verticalBox.add(panel_3);horizontalBox = Box.createHorizontalBox();panel_3.add(horizontalBox);button = new JButton(u767Bu5F55);panel_3.add(button);button_1 = new JButton(u6CE8u518C);panel_3

18、.add(button_1); Register.javapackage com.steve;import java.awt.EventQueue;import javax.swing.JFrame;import javax.swing.JPanel;import javax.swing.border.EmptyBorder;import javax.swing.Box;import javax.swing.JLabel;import javax.swing.JOptionPane;import javax.swing.JTextField;import java.awt.GridLayout

19、;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.border.LineBorder;import java.awt.Color;import javax.swing.JButton;public class register extends JFrame private JPanel contentPane;private JTextField textField_1;private JTextField textField_8;private JTextFie

20、ld textField_9;private JTextField textField_10;private JTextField textField_11;private JTextField textField_12;private JTextField textField_13;private JTextField textField_14;/* * Launch the application. */public static void main(String args) EventQueue.invokeLater(new Runnable() public void run() t

21、ry register frame = new register();frame.setVisible(true); catch (Exception e) e.printStackTrace(););/* * Create the frame. */public register() setTitle(u65C5u884Cu793Eu6CE8u518Cu9875u9762);setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);setBounds(500, 500, 720, 553);contentPane = new JPanel();conten

22、tPane.setBorder(new EmptyBorder(5, 5, 5, 5);setContentPane(contentPane);contentPane.setLayout(new GridLayout(0, 1, 0, 0);JPanel panel = new JPanel();contentPane.add(panel);Box verticalBox = Box.createVerticalBox();verticalBox.setBorder(new LineBorder(new Color(0, 0, 0);panel.add(verticalBox);JPanel

23、panel_1 = new JPanel();verticalBox.add(panel_1);JLabel label = new JLabel(用户名: );panel_1.add(label);textField_1 = new JTextField();panel_1.add(textField_1);textField_1.setColumns(10);JPanel panel_2 = new JPanel();verticalBox.add(panel_2);JLabel label_1 = new JLabel(密码 : );panel_2.add(label_1);textFi

24、eld_8 = new JTextField();panel_2.add(textField_8);textField_8.setColumns(10);JPanel panel_3 = new JPanel();verticalBox.add(panel_3);JLabel label_2 = new JLabel(姓名: );panel_3.add(label_2);textField_9 = new JTextField();textField_9.setColumns(10);panel_3.add(textField_9);JPanel panel_4 = new JPanel();

25、verticalBox.add(panel_4);JLabel label_3 = new JLabel(性别: );panel_4.add(label_3);textField_10 = new JTextField();textField_10.setColumns(10);panel_4.add(textField_10);JPanel panel_5 = new JPanel();verticalBox.add(panel_5);JLabel label_4 = new JLabel(年龄: );panel_5.add(label_4);textField_11 = new JText

26、Field();textField_11.setColumns(10);panel_5.add(textField_11);JPanel panel_6 = new JPanel();verticalBox.add(panel_6);JLabel label_5 = new JLabel(身份证号:);panel_6.add(label_5);textField_12 = new JTextField();textField_12.setColumns(10);panel_6.add(textField_12);JPanel panel_7 = new JPanel();verticalBox

27、.add(panel_7);JLabel label_6 = new JLabel(联系电话:);panel_7.add(label_6);textField_13 = new JTextField();textField_13.setColumns(10);panel_7.add(textField_13);JPanel panel_8 = new JPanel();verticalBox.add(panel_8);JLabel label_7 = new JLabel(地址: );panel_8.add(label_7);textField_14 = new JTextField();te

28、xtField_14.setColumns(10);panel_8.add(textField_14);JPanel panel_9 = new JPanel();verticalBox.add(panel_9);JButton button = new JButton(注册);panel_9.add(button); button.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) JOptionPane.showMessageDialog(null,注册成功!); ); setS

29、ize(400,400);Manage.java2.4.2 数据库源代码 /*Navicat MySQL Data TransferSource Server : travelSource Server Version : 50717Source Host : localhost:3306Source Database : travel_agency_manageTarget Server Type : MYSQLTarget Server Version : 50717File Encoding : 65001Date: 2018-04-28 15:11:52*/SET FOREIGN_KE

30、Y_CHECKS=0;- - Table structure for admin- -DROP TABLE IF EXISTS admin;CREATE TABLE admin ( adminid char(11) NOT NULL, username char(12) DEFAULT NULL, password char(8) DEFAULT NULL, typeid char(8) DEFAULT NULL, PRIMARY KEY (adminid), KEY fk6 (typeid), CONSTRAINT fk6 FOREIGN KEY (typeid) REFERENCES ty

31、pe (typeid) ENGINE=InnoDB DEFAULT CHARSET=utf8;- - Records of admin- -INSERT INTO admin VALUES (1, steve, 123, 1);INSERT INTO admin VALUES (2, bob, 342, 1);INSERT INTO admin VALUES (3, eresd, 2343, 2);- - Table structure for bookroom- -DROP TABLE IF EXISTS bookroom;CREATE TABLE bookroom ( roomid cha

32、r(8) NOT NULL, bookuser varchar(30) DEFAULT NULL, booktime varchar(50) DEFAULT NULL, bookdate varchar(30) DEFAULT NULL, price char(20) DEFAULT NULL, PRIMARY KEY (roomid) ENGINE=InnoDB DEFAULT CHARSET=utf8;- - Records of bookroom- -INSERT INTO bookroom VALUES (1024, bob, 123434, 34234, 32);INSERT INT

33、O bookroom VALUES (1025, steve, 2342, 3423, 323);INSERT INTO bookroom VALUES (1111, haha, 123, 231, 231);INSERT INTO bookroom VALUES (2123, wew, 2312, 123, 123);- - Table structure for guide- -DROP TABLE IF EXISTS guide;CREATE TABLE guide ( guideid char(8) NOT NULL, guidename varchar(30) DEFAULT NUL

34、L, telephone char(11) DEFAULT NULL, PRIMARY KEY (guideid) ENGINE=InnoDB DEFAULT CHARSET=utf8;- - Records of guide- -INSERT INTO guide VALUES (1, sdas, 2312);- - Table structure for hotel- -DROP TABLE IF EXISTS hotel;CREATE TABLE hotel ( hotelid char(11) NOT NULL, roomid char(8) DEFAULT NULL, hotelna

35、me char(15) DEFAULT NULL, hoteladdr varchar(50) DEFAULT NULL, bookinfo varchar(50) DEFAULT NULL, price varchar(50) DEFAULT NULL, telephone char(11) DEFAULT NULL, PRIMARY KEY (hotelid), KEY fk (roomid), CONSTRAINT fk FOREIGN KEY (roomid) REFERENCES bookroom (roomid) ENGINE=InnoDB DEFAULT CHARSET=utf8

36、;- - Records of hotel- -INSERT INTO hotel VALUES (1, 1024, 242, 242, 2424, 242, 242);- - Table structure for spot- -DROP TABLE IF EXISTS spot;CREATE TABLE spot ( spotid char(15) NOT NULL, spotname char(15) DEFAULT NULL, city char(20) DEFAULT NULL, ticket char(5) DEFAULT NULL, telephone char(11) DEFA

37、ULT NULL, opentime varchar(50) DEFAULT NULL, routeid char(8) DEFAULT NULL, PRIMARY KEY (spotid), KEY fk5 (routeid), CONSTRAINT fk5 FOREIGN KEY (routeid) REFERENCES trafficinfo (routeid) ENGINE=InnoDB DEFAULT CHARSET=utf8;- - Records of spot- -INSERT INTO spot VALUES (123, 232, 232, 232, 232, 232, 1)

38、;- - Table structure for tour- -DROP TABLE IF EXISTS tour;CREATE TABLE tour ( userid int(8) NOT NULL AUTO_INCREMENT, spotid char(15) NOT NULL, hotelid char(11) NOT NULL, tourtime varchar(40) NOT NULL, remark varchar(100) DEFAULT NULL, guideid char(8) NOT NULL, PRIMARY KEY (userid,spotid,hotelid,tourtime,guideid), KEY

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

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1