| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162 |
- -- ============================================================
- -- SmartBizTrip 全量建表脚本
- -- 合并所有业务表的 CREATE TABLE 语句
- -- 数据库: biztrip_rag
- -- ============================================================
- SET NAMES utf8mb4;
- DROP DATABASE IF EXISTS biztrip_rag;
- CREATE DATABASE biztrip_rag CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
- USE biztrip_rag;
- -- ==================== 高铁票表 ====================
- DROP TABLE IF EXISTS train_tickets;
- CREATE TABLE train_tickets (
- id INT AUTO_INCREMENT PRIMARY KEY COMMENT '主键,自增,唯一标识每条记录',
- departure_city VARCHAR(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '出发城市(如"北京")',
- arrival_city VARCHAR(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '到达城市(如"上海")',
- departure_time DATETIME NOT NULL COMMENT '出发时间',
- arrival_time DATETIME NOT NULL COMMENT '到达时间',
- train_number VARCHAR(20) NOT NULL COMMENT '火车车次(如"G1001")',
- seat_type VARCHAR(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '座位类型(如"二等座")',
- total_seats INT NOT NULL COMMENT '总座位数',
- remaining_seats INT NOT NULL COMMENT '剩余座位数',
- price DECIMAL(10, 2) NOT NULL COMMENT '票价(如 553.50)',
- created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间,自动记录插入时间',
- UNIQUE KEY unique_train (departure_time, train_number, seat_type)
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='高铁票信息表';
- -- ==================== 航班票务表 ====================
- DROP TABLE IF EXISTS flight_tickets;
- CREATE TABLE flight_tickets (
- id INT AUTO_INCREMENT PRIMARY KEY COMMENT '主键,自增,唯一标识每条记录',
- departure_city VARCHAR(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '出发城市',
- arrival_city VARCHAR(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '到达城市',
- departure_time DATETIME NOT NULL COMMENT '出发时间',
- arrival_time DATETIME NOT NULL COMMENT '到达时间',
- flight_number VARCHAR(20) NOT NULL COMMENT '航班号(如"CA1234")',
- cabin_type VARCHAR(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '舱位类型(如"经济舱")',
- total_seats INT NOT NULL COMMENT '总座位数',
- remaining_seats INT NOT NULL COMMENT '剩余座位数',
- price DECIMAL(10, 2) NOT NULL COMMENT '票价',
- created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间,自动记录插入时间',
- UNIQUE KEY unique_flight (departure_time, flight_number, cabin_type)
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='航班票务信息表';
- -- ==================== 会展门票表 ====================
- DROP TABLE IF EXISTS event_tickets;
- CREATE TABLE event_tickets (
- id INT AUTO_INCREMENT PRIMARY KEY COMMENT '主键,自增',
- event_name VARCHAR(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '活动名称',
- city VARCHAR(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '举办城市',
- venue VARCHAR(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '场馆',
- start_time DATETIME NOT NULL COMMENT '开始时间',
- end_time DATETIME NOT NULL COMMENT '结束时间',
- ticket_type VARCHAR(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '票类型(如"VIP")',
- total_seats INT NOT NULL COMMENT '总座位数',
- remaining_seats INT NOT NULL COMMENT '剩余座位数',
- price DECIMAL(10, 2) NOT NULL COMMENT '票价',
- created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
- UNIQUE KEY unique_event (start_time, event_name, ticket_type)
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='会展门票信息表';
- -- ==================== 天气数据表 ====================
- DROP TABLE IF EXISTS weather_data;
- CREATE TABLE IF NOT EXISTS weather_data (
- id INT AUTO_INCREMENT PRIMARY KEY,
- city VARCHAR(50) NOT NULL COMMENT '城市名称',
- fx_date DATE NOT NULL COMMENT '预报日期',
- sunrise TIME COMMENT '日出时间',
- sunset TIME COMMENT '日落时间',
- moonrise TIME COMMENT '月升时间',
- moonset TIME COMMENT '月落时间',
- moon_phase VARCHAR(20) COMMENT '月相名称',
- moon_phase_icon VARCHAR(10) COMMENT '月相图标代码',
- temp_max INT COMMENT '最高温度',
- temp_min INT COMMENT '最低温度',
- icon_day VARCHAR(10) COMMENT '白天天气图标代码',
- text_day VARCHAR(20) COMMENT '白天天气描述',
- icon_night VARCHAR(10) COMMENT '夜间天气图标代码',
- text_night VARCHAR(20) COMMENT '夜间天气描述',
- wind360_day INT COMMENT '白天风向360角度',
- wind_dir_day VARCHAR(20) COMMENT '白天风向',
- wind_scale_day VARCHAR(10) COMMENT '白天风力等级',
- wind_speed_day INT COMMENT '白天风速 (km/h)',
- wind360_night INT COMMENT '夜间风向360角度',
- wind_dir_night VARCHAR(20) COMMENT '夜间风向',
- wind_scale_night VARCHAR(10) COMMENT '夜间风力等级',
- wind_speed_night INT COMMENT '夜间风速 (km/h)',
- precip DECIMAL(5,1) COMMENT '降水量 (mm)',
- uv_index INT COMMENT '紫外线指数',
- humidity INT COMMENT '相对湿度 (%)',
- pressure INT COMMENT '大气压强 (hPa)',
- vis INT COMMENT '能见度 (km)',
- cloud INT COMMENT '云量 (%)',
- update_time DATETIME COMMENT '数据更新时间',
- UNIQUE KEY unique_city_date (city, fx_date)
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='天气数据表';
- -- ==================== 商务用车表 ====================
- DROP TABLE IF EXISTS car_rentals;
- CREATE TABLE car_rentals (
- id INT AUTO_INCREMENT PRIMARY KEY COMMENT '主键,自增',
- company VARCHAR(50) NOT NULL COMMENT '商务用车公司名称',
- pickup_city VARCHAR(50) NOT NULL COMMENT '取车城市',
- return_city VARCHAR(50) NOT NULL COMMENT '还车城市',
- pickup_date DATE NOT NULL COMMENT '取车日期',
- car_type VARCHAR(20) NOT NULL COMMENT '车型分类:经济型/SUV/豪华型/MPV',
- car_model VARCHAR(50) NOT NULL COMMENT '具体车型',
- price_per_day DECIMAL(8,2) NOT NULL COMMENT '每日租金(元)',
- total_available INT NOT NULL DEFAULT 0 COMMENT '可用车辆数',
- transmission VARCHAR(20) NOT NULL COMMENT '变速箱:自动挡/手动挡',
- seats INT NOT NULL COMMENT '座位数',
- deposit DECIMAL(8,2) NOT NULL DEFAULT 0 COMMENT '押金(元)',
- created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
- UNIQUE KEY unique_car (company, car_model, pickup_date)
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='商务用车信息表';
- -- ==================== 保险表 ====================
- DROP TABLE IF EXISTS insurances;
- CREATE TABLE insurances (
- id INT AUTO_INCREMENT PRIMARY KEY COMMENT '主键,自增',
- insurance_type VARCHAR(20) NOT NULL COMMENT '保险类型:综合型/意外型/医疗型/境外型',
- name VARCHAR(100) NOT NULL COMMENT '保险产品名称',
- company VARCHAR(50) NOT NULL COMMENT '保险公司',
- coverage TEXT NOT NULL COMMENT '保障范围说明',
- price DECIMAL(8,2) NOT NULL COMMENT '价格(元/份)',
- duration_days INT NOT NULL COMMENT '保障天数',
- max_coverage DECIMAL(10,2) NOT NULL COMMENT '最高赔付金额(元)',
- medical_coverage DECIMAL(10,2) DEFAULT 0 COMMENT '医疗保障额度(元)',
- baggage_coverage DECIMAL(10,2) DEFAULT 0 COMMENT '行李保障额度(元)',
- flight_delay BOOLEAN DEFAULT FALSE COMMENT '是否包含航班延误',
- created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
- UNIQUE KEY unique_insurance (name)
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='差旅保险信息表';
- -- ==================== 用户偏好表 ====================
- CREATE TABLE IF NOT EXISTS user_profiles (
- profile_key VARCHAR(50) NOT NULL COMMENT '偏好键名',
- profile_value VARCHAR(200) NOT NULL COMMENT '偏好值',
- updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
- PRIMARY KEY (profile_key)
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='用户偏好';
- -- ==================== 查询历史表 ====================
- CREATE TABLE IF NOT EXISTS query_history (
- id INT AUTO_INCREMENT PRIMARY KEY COMMENT '主键',
- intent_type VARCHAR(30) NOT NULL COMMENT '意图类型:weather/flight/train等',
- query_content TEXT NOT NULL COMMENT '查询内容JSON',
- query_time DATETIME NOT NULL COMMENT '查询时间',
- INDEX idx_time (query_time)
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='查询历史';
- -- ==================== 短期对话表 ====================
- CREATE TABLE IF NOT EXISTS short_term_messages (
- id INT AUTO_INCREMENT PRIMARY KEY COMMENT '主键',
- role VARCHAR(10) NOT NULL COMMENT '消息角色:user 或 assistant',
- content TEXT NOT NULL COMMENT '消息内容',
- message_time VARCHAR(10) NOT NULL COMMENT '时间戳 HH:MM:SS',
- message_order INT NOT NULL COMMENT '消息顺序号',
- updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间'
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='短期对话';
|