62 lines
3.0 KiB
MySQL
62 lines
3.0 KiB
MySQL
|
|
-- 充电站基础信息表 (SCD2)
|
||
|
|
-- 保存场站的名称、地址等相对稳定的信息
|
||
|
|
DROP TABLE IF EXISTS t_station_profile_scd;
|
||
|
|
CREATE TABLE IF NOT EXISTS t_station_profile_scd (
|
||
|
|
`station_hash` VARCHAR(32) NOT NULL COMMENT '业务主键 (名称的MD5值)',
|
||
|
|
`valid_start_time` DATETIME NOT NULL COMMENT '记录生效开始时间',
|
||
|
|
`id` VARCHAR(50) NOT NULL COMMENT '唯一ID (UUID)',
|
||
|
|
`operator` VARCHAR(50) NOT NULL COMMENT '运营商名称',
|
||
|
|
`station_name` VARCHAR(255) NOT NULL COMMENT '场站名称',
|
||
|
|
`address` VARCHAR(500) COMMENT '详细地址',
|
||
|
|
`coord_x` DOUBLE COMMENT '经度 (高德坐标系)',
|
||
|
|
`coord_y` DOUBLE COMMENT '纬度 (高德坐标系)',
|
||
|
|
`valid_end_time` DATETIME NOT NULL DEFAULT '9999-12-31 23:59:59' COMMENT '记录生效结束时间',
|
||
|
|
`is_current` TINYINT NOT NULL DEFAULT 1 COMMENT '是否为当前最新记录 (1=是, 0=否)'
|
||
|
|
)
|
||
|
|
UNIQUE KEY(`station_hash`, `valid_start_time`, `id`)
|
||
|
|
DISTRIBUTED BY HASH(`station_hash`) BUCKETS 10
|
||
|
|
PROPERTIES (
|
||
|
|
"replication_num" = "1"
|
||
|
|
);
|
||
|
|
|
||
|
|
-- 充电站实时状态表 (SCD2 / Log)
|
||
|
|
-- 保存场站的桩数、空闲数等动态信息
|
||
|
|
-- 每次抓取如果状态变化则写入新记录
|
||
|
|
DROP TABLE IF EXISTS t_station_status_scd;
|
||
|
|
CREATE TABLE IF NOT EXISTS t_station_status_scd (
|
||
|
|
`station_hash` VARCHAR(32) NOT NULL COMMENT '业务主键 (名称的MD5值)',
|
||
|
|
`valid_start_time` DATETIME NOT NULL COMMENT '记录生效开始时间',
|
||
|
|
`id` VARCHAR(50) NOT NULL COMMENT '唯一ID (UUID)',
|
||
|
|
`total_piles` INT COMMENT '总桩数',
|
||
|
|
`free_piles` INT COMMENT '空闲桩数',
|
||
|
|
`piles_detail_json` TEXT COMMENT '详细桩信息 (JSON格式)',
|
||
|
|
`current_price` DECIMAL(10, 4) COMMENT '当前价格快照',
|
||
|
|
`pro_price` DECIMAL(10, 4) COMMENT 'PRO会员专享价快照',
|
||
|
|
`parking_info` VARCHAR(500) COMMENT '停车收费信息',
|
||
|
|
`distance` VARCHAR(50) COMMENT '距离信息 (例如 5.3km)',
|
||
|
|
`valid_end_time` DATETIME NOT NULL DEFAULT '9999-12-31 23:59:59' COMMENT '记录生效结束时间',
|
||
|
|
`is_current` TINYINT NOT NULL DEFAULT 1 COMMENT '是否为当前最新记录'
|
||
|
|
)
|
||
|
|
UNIQUE KEY(`station_hash`, `valid_start_time`, `id`)
|
||
|
|
DISTRIBUTED BY HASH(`station_hash`) BUCKETS 10
|
||
|
|
PROPERTIES (
|
||
|
|
"replication_num" = "1"
|
||
|
|
);
|
||
|
|
|
||
|
|
-- 充电站价格时段表 (SCD2)
|
||
|
|
-- 保存场站的全天价格时段信息
|
||
|
|
DROP TABLE IF EXISTS t_station_price_schedule_scd;
|
||
|
|
CREATE TABLE IF NOT EXISTS t_station_price_schedule_scd (
|
||
|
|
`station_hash` VARCHAR(32) NOT NULL COMMENT '业务主键 (名称的MD5值)',
|
||
|
|
`valid_start_time` DATETIME NOT NULL COMMENT '记录生效开始时间',
|
||
|
|
`id` VARCHAR(50) NOT NULL COMMENT '唯一ID (UUID)',
|
||
|
|
`schedule_json` TEXT COMMENT '价格时段详情 (JSON格式)',
|
||
|
|
`valid_end_time` DATETIME NOT NULL DEFAULT '9999-12-31 23:59:59' COMMENT '记录生效结束时间',
|
||
|
|
`is_current` TINYINT NOT NULL DEFAULT 1 COMMENT '是否为当前最新记录'
|
||
|
|
)
|
||
|
|
UNIQUE KEY(`station_hash`, `valid_start_time`, `id`)
|
||
|
|
DISTRIBUTED BY HASH(`station_hash`) BUCKETS 10
|
||
|
|
PROPERTIES (
|
||
|
|
"replication_num" = "1"
|
||
|
|
);
|