case_table.sql 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554
  1. DROP TABLE IF EXISTS trans_record;
  2. CREATE TABLE trans_record
  3. (
  4. id BIGINT PRIMARY KEY,
  5. fileId BIGINT,
  6. sheetId BIGINT,
  7. bankName VARCHAR,
  8. personName VARCHAR,
  9. personCertNo VARCHAR,
  10. personAccount VARCHAR,
  11. personCardNo VARCHAR,
  12. otherName VARCHAR,
  13. otherCertNo VARCHAR,
  14. otherAccount VARCHAR,
  15. otherCardNo VARCHAR,
  16. transType VARCHAR,
  17. debitCreditFlag VARCHAR,
  18. currency VARCHAR,
  19. transAmount DECIMAL(18, 2),
  20. transBalance DECIMAL(18, 2),
  21. transDateTime TIMESTAMP,
  22. transDate DATE,
  23. transSerialNo VARCHAR,
  24. otherBalance DECIMAL(18, 2),
  25. otherAccountBank VARCHAR,
  26. transSummary VARCHAR,
  27. branchName VARCHAR,
  28. branchCode VARCHAR,
  29. cashFlag VARCHAR,
  30. terminalNo VARCHAR,
  31. transLocation VARCHAR,
  32. merchantName VARCHAR,
  33. merchantNo VARCHAR,
  34. personIpAddress VARCHAR,
  35. personMacAddress VARCHAR,
  36. transClerkNo VARCHAR,
  37. transChannel VARCHAR,
  38. remark VARCHAR,
  39. personLibId VARCHAR,
  40. ext1 VARCHAR
  41. );
  42. -- DuckDB 索引约定:
  43. -- 1. CREATE INDEX 创建的是 ART 索引,适合单列高选择性等值 / IN 查询。
  44. -- 2. 时间、日期、金额等分析过滤主要依赖 DuckDB 自动维护的 zonemap,不额外创建 ART 索引。
  45. -- 3. 为避免拖慢批量导入,仅给“人 / 卡 / 账号 / 手机 / 证件号”这类高频定位列建索引。
  46. CREATE INDEX idx_trans_record_person_name ON trans_record (personName);
  47. CREATE INDEX idx_trans_record_person_card_no ON trans_record (personCardNo);
  48. CREATE INDEX idx_trans_record_other_name ON trans_record (otherName);
  49. CREATE INDEX idx_trans_record_other_card_no ON trans_record (otherCardNo);
  50. DROP TABLE IF EXISTS trans_record_all;
  51. CREATE TABLE trans_record_all
  52. (
  53. id BIGINT PRIMARY KEY,
  54. fileId BIGINT,
  55. sheetId BIGINT,
  56. bankName VARCHAR,
  57. personName VARCHAR,
  58. personCertNo VARCHAR,
  59. personAccount VARCHAR,
  60. personCardNo VARCHAR,
  61. otherName VARCHAR,
  62. otherCertNo VARCHAR,
  63. otherAccount VARCHAR,
  64. otherCardNo VARCHAR,
  65. transType VARCHAR,
  66. debitCreditFlag VARCHAR,
  67. currency VARCHAR,
  68. transAmount DECIMAL(18, 2),
  69. transBalance DECIMAL(18, 2),
  70. transDateTime TIMESTAMP,
  71. transDate DATE,
  72. transSerialNo VARCHAR,
  73. otherBalance DECIMAL(18, 2),
  74. otherAccountBank VARCHAR,
  75. transSummary VARCHAR,
  76. branchName VARCHAR,
  77. branchCode VARCHAR,
  78. cashFlag VARCHAR,
  79. terminalNo VARCHAR,
  80. transLocation VARCHAR,
  81. merchantName VARCHAR,
  82. merchantNo VARCHAR,
  83. personIpAddress VARCHAR,
  84. personMacAddress VARCHAR,
  85. transClerkNo VARCHAR,
  86. transChannel VARCHAR,
  87. remark VARCHAR,
  88. personLibId VARCHAR,
  89. ext1 VARCHAR
  90. );
  91. DROP TABLE IF EXISTS call_record;
  92. create table call_record
  93. (
  94. id BIGINT PRIMARY KEY DEFAULT nextval('call_seq'),
  95. fileId BIGINT,
  96. sheetId BIGINT,
  97. personName VARCHAR,
  98. personPhone VARCHAR,
  99. personPhoneArea VARCHAR,
  100. personCertNo VARCHAR,
  101. personRegionId VARCHAR,
  102. personCellId VARCHAR,
  103. personStationName VARCHAR,
  104. personStationLongitude VARCHAR,
  105. personStationLatitude VARCHAR,
  106. operatorId VARCHAR,
  107. callDateTime TIMESTAMP,
  108. callDate DATE,
  109. callTime TIME,
  110. duration INTEGER,
  111. callDirection VARCHAR,
  112. callType VARCHAR,
  113. otherName VARCHAR,
  114. otherPhone VARCHAR,
  115. otherPhoneArea VARCHAR,
  116. otherCertNo VARCHAR,
  117. remark VARCHAR,
  118. personLibId VARCHAR,
  119. callLocal VARCHAR
  120. );
  121. CREATE INDEX idx_call_record_person_name ON call_record (personName);
  122. CREATE INDEX idx_call_record_person_phone ON call_record (personPhone);
  123. CREATE INDEX idx_call_record_other_name ON call_record (otherName);
  124. CREATE INDEX idx_call_record_other_phone ON call_record (otherPhone);
  125. DROP TABLE IF EXISTS call_record_all;
  126. create table call_record_all
  127. (
  128. id BIGINT PRIMARY KEY,
  129. fileId BIGINT,
  130. sheetId BIGINT,
  131. personName VARCHAR,
  132. personPhone VARCHAR,
  133. personPhoneArea VARCHAR,
  134. personCertNo VARCHAR,
  135. personRegionId VARCHAR,
  136. personCellId VARCHAR,
  137. personStationName VARCHAR,
  138. personStationLongitude VARCHAR,
  139. personStationLatitude VARCHAR,
  140. operatorId VARCHAR,
  141. callDateTime TIMESTAMP,
  142. callDate DATE,
  143. callTime TIME,
  144. duration INTEGER,
  145. callDirection VARCHAR,
  146. callType VARCHAR,
  147. otherName VARCHAR,
  148. otherPhone VARCHAR,
  149. otherPhoneArea VARCHAR,
  150. otherCertNo VARCHAR,
  151. remark VARCHAR,
  152. personLibId VARCHAR,
  153. callLocal VARCHAR
  154. );
  155. DROP TABLE IF EXISTS use_open_info_call_record;
  156. create table use_open_info_call_record
  157. (
  158. id BIGINT PRIMARY KEY DEFAULT nextval('use_call_seq'),
  159. fileId BIGINT,
  160. sheetId BIGINT,
  161. personName VARCHAR,
  162. personPhone VARCHAR,
  163. personPhoneArea VARCHAR,
  164. personCertNo VARCHAR,
  165. personRegionId VARCHAR,
  166. personCellId VARCHAR,
  167. personStationName VARCHAR,
  168. personStationLongitude VARCHAR,
  169. personStationLatitude VARCHAR,
  170. operatorId VARCHAR,
  171. callDateTime TIMESTAMP,
  172. callDate DATE,
  173. callTime TIME,
  174. duration INTEGER,
  175. callDirection VARCHAR,
  176. callType VARCHAR,
  177. otherName VARCHAR,
  178. otherPhone VARCHAR,
  179. otherPhoneArea VARCHAR,
  180. otherCertNo VARCHAR,
  181. remark VARCHAR,
  182. personLibId VARCHAR,
  183. callLocal VARCHAR
  184. );
  185. DROP TABLE IF EXISTS account_opening_info;
  186. create table account_opening_info
  187. (
  188. id BIGINT PRIMARY KEY,
  189. fileId BIGINT,
  190. sheetId BIGINT,
  191. personName VARCHAR,
  192. holderCertNo VARCHAR,
  193. personCardNo VARCHAR,
  194. personAccountNo VARCHAR,
  195. openingDate date,
  196. balance DECIMAL(18, 2),
  197. availableBalance DECIMAL(18, 2),
  198. currency VARCHAR,
  199. branchCode VARCHAR,
  200. branchName VARCHAR,
  201. accountStatus VARCHAR,
  202. closingDate date,
  203. accountType VARCHAR,
  204. mailingAddress VARCHAR,
  205. phone VARCHAR,
  206. remark VARCHAR,
  207. bankName VARCHAR,
  208. depositTerm VARCHAR,
  209. linkedFundAccount VARCHAR,
  210. closedBranch VARCHAR,
  211. lastTransDateTime TIMESTAMP
  212. );
  213. CREATE INDEX idx_account_opening_info_person_name ON account_opening_info (personName);
  214. CREATE INDEX idx_account_opening_info_person_card_no ON account_opening_info (personCardNo);
  215. CREATE INDEX idx_account_opening_info_phone ON account_opening_info (phone);
  216. DROP TABLE IF EXISTS call_opening_info;
  217. create table call_opening_info
  218. (
  219. id BIGINT PRIMARY KEY,
  220. fileId BIGINT,
  221. sheetId BIGINT,
  222. phoneType VARCHAR,
  223. operatorId VARCHAR,
  224. personPhone VARCHAR,
  225. personType VARCHAR,
  226. personName VARCHAR,
  227. personCertNo VARCHAR,
  228. personCertAddress VARCHAR,
  229. mailingAddress VARCHAR,
  230. province VARCHAR,
  231. city VARCHAR,
  232. phoneStatus VARCHAR,
  233. activationDateTime TIMESTAMP,
  234. closingDateTime TIMESTAMP,
  235. firstCallDateTime TIMESTAMP,
  236. lastSuspensionDateTime TIMESTAMP
  237. );
  238. CREATE INDEX idx_call_opening_info_person_phone ON call_opening_info (personPhone);
  239. CREATE INDEX idx_call_opening_info_person_name ON call_opening_info (personName);
  240. DROP TABLE IF EXISTS express_info;
  241. CREATE TABLE express_info
  242. (
  243. -- 快递收件信息表主键id
  244. id BIGINT PRIMARY KEY,
  245. -- 文件id
  246. fileId BIGINT,
  247. -- sheetId
  248. sheetId BIGINT,
  249. -- 收件人姓名
  250. recipientName VARCHAR,
  251. -- 收件人现住址地址名称
  252. recipientCurrentAddress VARCHAR,
  253. -- 收件人联系电话
  254. recipientPhone VARCHAR,
  255. -- 寄件人姓名
  256. senderName VARCHAR,
  257. -- 寄件人电话
  258. senderPhone VARCHAR,
  259. -- 寄件日期
  260. sendDate TIMESTAMP,
  261. -- 寄件人现住址地址名称
  262. senderCurrentAddress VARCHAR,
  263. -- 运单号
  264. waybillNumber VARCHAR,
  265. -- 始发地名称
  266. departurePlace VARCHAR,
  267. -- 目的地名称
  268. destinationPlace VARCHAR,
  269. -- 收件单位名称
  270. recipientCompany VARCHAR,
  271. -- 快递公司编号
  272. expressCompanyCode VARCHAR,
  273. -- 物品名称
  274. goodsName VARCHAR
  275. );
  276. CREATE INDEX idx_express_info_recipient_name ON express_info (recipientName);
  277. CREATE INDEX idx_express_info_recipient_phone ON express_info (recipientPhone);
  278. CREATE INDEX idx_express_info_sender_phone ON express_info (senderPhone);
  279. DROP TABLE IF EXISTS resident_population_info;
  280. CREATE TABLE resident_population_info
  281. (
  282. -- 主键id
  283. id BIGINT PRIMARY KEY,
  284. -- 文件id
  285. fileId BIGINT,
  286. -- sheetId
  287. sheetId BIGINT,
  288. -- 公民身份号码
  289. personCertNo VARCHAR,
  290. -- 出生地省市县
  291. birthPlace VARCHAR,
  292. -- 出生日期
  293. birthDate DATE,
  294. -- 服务所处
  295. serviceLocation VARCHAR,
  296. -- 籍贯国家(地区)
  297. nativeCountry VARCHAR,
  298. -- 出生地国家(地区)
  299. birthCountry VARCHAR,
  300. -- 籍贯省市县(区)
  301. nativePlace VARCHAR,
  302. -- 民族
  303. nationality VARCHAR,
  304. -- 身高
  305. height VARCHAR,
  306. -- 照片1
  307. photo1 VARCHAR,
  308. -- 所属派出所名称
  309. policeStation VARCHAR,
  310. -- 所属省市县(区)
  311. belongArea VARCHAR,
  312. -- 性别
  313. gender VARCHAR,
  314. -- 姓名
  315. name VARCHAR,
  316. -- 照片2
  317. photo2 VARCHAR,
  318. -- 曾用名
  319. formerName VARCHAR,
  320. -- 住址详址
  321. address VARCHAR,
  322. -- 学历
  323. education VARCHAR,
  324. -- 学位
  325. degree VARCHAR
  326. );
  327. CREATE INDEX idx_resident_population_info_name ON resident_population_info (name);
  328. --1683362389912
  329. DROP TABLE IF EXISTS hotel_stay_info;
  330. CREATE TABLE hotel_stay_info
  331. (
  332. id BIGINT PRIMARY KEY,
  333. fileId BIGINT,
  334. sheetId BIGINT,
  335. personName VARCHAR,
  336. personCertNo VARCHAR,
  337. personCertName VARCHAR,
  338. gender VARCHAR,
  339. addressCity VARCHAR,
  340. addressDetail VARCHAR,
  341. hotelName VARCHAR,
  342. hotelAddress VARCHAR,
  343. roomNo VARCHAR,
  344. inDateTime TIMESTAMP,
  345. outDateTime TIMESTAMP
  346. );
  347. CREATE INDEX idx_hotel_stay_info_person_name ON hotel_stay_info (personName);
  348. CREATE INDEX idx_hotel_stay_info_person_cert_no ON hotel_stay_info (personCertNo);
  349. -- 航班预订信息表
  350. DROP TABLE IF EXISTS flight_ticket_info;
  351. CREATE TABLE flight_ticket_info
  352. (
  353. id BIGINT PRIMARY KEY,
  354. fileId BIGINT,
  355. sheetId BIGINT,
  356. depDateTime TIMESTAMP,
  357. arrDateTime TIMESTAMP,
  358. depAirport VARCHAR,
  359. arrAirport VARCHAR,
  360. personName VARCHAR,
  361. surname VARCHAR,
  362. personNameEn VARCHAR,
  363. personCertNo VARCHAR,
  364. flightNo VARCHAR,
  365. carrier VARCHAR,
  366. pnr VARCHAR,
  367. ticketNo VARCHAR,
  368. fare DECIMAL(18, 2),
  369. issueDate DATE,
  370. agent VARCHAR,
  371. flightClass VARCHAR,
  372. status VARCHAR
  373. );
  374. CREATE INDEX idx_flight_ticket_info_person_name ON flight_ticket_info (personName);
  375. CREATE INDEX idx_flight_ticket_info_person_cert_no ON flight_ticket_info (personCertNo);
  376. -- 航班出发信息表
  377. DROP TABLE IF EXISTS flight_departure_info;
  378. CREATE TABLE flight_departure_info
  379. (
  380. id BIGINT PRIMARY KEY,
  381. fileId BIGINT,
  382. sheetId BIGINT,
  383. flightNo VARCHAR,
  384. flightSuffix VARCHAR,
  385. carrier VARCHAR,
  386. flightDateTime TIMESTAMP,
  387. depDateTime TIMESTAMP,
  388. arrDateTime TIMESTAMP,
  389. depCode VARCHAR,
  390. arrCode VARCHAR,
  391. surname VARCHAR,
  392. givenName VARCHAR,
  393. middleName VARCHAR,
  394. personName VARCHAR,
  395. personNameCn VARCHAR,
  396. gender VARCHAR,
  397. birthDate DATE,
  398. birthPlace VARCHAR,
  399. personCertNo VARCHAR,
  400. seatNo VARCHAR
  401. );
  402. CREATE INDEX idx_flight_departure_info_person_name ON flight_departure_info (personName);
  403. -- 同航班服务
  404. DROP TABLE IF EXISTS together_flight_info;
  405. CREATE TABLE together_flight_info
  406. (
  407. id BIGINT PRIMARY KEY,
  408. fileId BIGINT,
  409. sheetId BIGINT,
  410. flightDateTime TIMESTAMP,
  411. depDateTime TIMESTAMP,
  412. flightNo VARCHAR,
  413. origin VARCHAR,
  414. destination VARCHAR,
  415. seatNo VARCHAR,
  416. cabinClass VARCHAR,
  417. personCertType VARCHAR,
  418. personCertNo VARCHAR,
  419. companionName VARCHAR
  420. );
  421. CREATE INDEX idx_together_flight_info_person_cert_no ON together_flight_info (personCertNo);
  422. CREATE INDEX idx_together_flight_info_companion_name ON together_flight_info (companionName);
  423. -- 同火车服务
  424. DROP TABLE IF EXISTS together_train_info;
  425. CREATE TABLE together_train_info
  426. (
  427. id BIGINT PRIMARY KEY,
  428. fileId BIGINT,
  429. sheetId BIGINT,
  430. trainNo VARCHAR,
  431. depDateTime TIMESTAMP,
  432. origin VARCHAR,
  433. destination VARCHAR,
  434. carNo VARCHAR,
  435. seatNo VARCHAR,
  436. personName VARCHAR,
  437. companionName VARCHAR,
  438. personCertType VARCHAR,
  439. personCertNo VARCHAR
  440. );
  441. CREATE INDEX idx_together_train_info_person_name ON together_train_info (personName);
  442. CREATE INDEX idx_together_train_info_person_cert_no ON together_train_info (personCertNo);
  443. CREATE INDEX idx_together_train_info_companion_name ON together_train_info (companionName);
  444. -- 铁路订票信息
  445. DROP TABLE IF EXISTS train_ticket_info;
  446. CREATE TABLE train_ticket_info
  447. (
  448. id BIGINT PRIMARY KEY,
  449. fileId BIGINT,
  450. sheetId BIGINT,
  451. personName VARCHAR,
  452. personCertNo VARCHAR,
  453. trainNo VARCHAR,
  454. origin VARCHAR,
  455. destination VARCHAR,
  456. depDateTime TIMESTAMP,
  457. carNo VARCHAR,
  458. seatNo VARCHAR,
  459. ticketStatus VARCHAR,
  460. refundDate TIMESTAMP,
  461. changeDate TIMESTAMP
  462. );
  463. CREATE INDEX idx_train_ticket_info_person_name ON train_ticket_info (personName);
  464. -- 同住服务
  465. DROP TABLE IF EXISTS together_live_info;
  466. CREATE TABLE together_live_info
  467. (
  468. id BIGINT PRIMARY KEY,
  469. fileId BIGINT,
  470. sheetId BIGINT,
  471. queryName VARCHAR,
  472. queryCertNo VARCHAR,
  473. queryCertType VARCHAR,
  474. queryGender VARCHAR,
  475. queryAge integer,
  476. queryEthnicity VARCHAR,
  477. queryOrigin VARCHAR,
  478. togetherCertNo VARCHAR,
  479. hotelName VARCHAR,
  480. roomNo VARCHAR,
  481. inDateTime TIMESTAMP,
  482. outDateTime TIMESTAMP,
  483. coType VARCHAR,
  484. stayCount integer,
  485. remark VARCHAR
  486. );
  487. CREATE INDEX idx_together_live_info_together_name ON together_live_info (queryName);
  488. CREATE INDEX idx_together_live_info_query_cert_no ON together_live_info (queryCertNo);
  489. -- 汽车票务联网售票记录
  490. DROP TABLE IF EXISTS track_car_ticket_info;
  491. CREATE TABLE track_car_ticket_info
  492. (
  493. id BIGINT PRIMARY KEY,
  494. fileId BIGINT,
  495. sheetId BIGINT,
  496. busCarType VARCHAR,
  497. busNumber VARCHAR,
  498. busClassType VARCHAR,
  499. personName VARCHAR,
  500. personCertType VARCHAR,
  501. plateNumber VARCHAR,
  502. ticketPrice VARCHAR,
  503. ticketType VARCHAR,
  504. ticketStatus VARCHAR,
  505. depDateTime TIMESTAMP,
  506. buyDateTime TIMESTAMP,
  507. receiveSmsPhone VARCHAR,
  508. destination VARCHAR,
  509. pickUpTime TIMESTAMP,
  510. origin VARCHAR,
  511. refundAmount VARCHAR,
  512. refundDateTime TIMESTAMP,
  513. salesChannelCode VARCHAR,
  514. personCertNo VARCHAR,
  515. seatNo VARCHAR
  516. );
  517. CREATE INDEX idx_track_car_ticket_info_person_name ON track_car_ticket_info (personName);
  518. CREATE INDEX idx_track_car_ticket_info_person_cert_no ON track_car_ticket_info (personCertNo);
  519. -- 时序表
  520. DROP TABLE IF EXISTS time_series_info;
  521. CREATE TABLE time_series_info
  522. (
  523. id BIGINT PRIMARY KEY,
  524. tableNameEn VARCHAR,
  525. tableNameCn VARCHAR,
  526. personName VARCHAR,
  527. otherName VARCHAR,
  528. seriesDateTime TIMESTAMP,
  529. ext1 VARCHAR,
  530. ext2 VARCHAR,
  531. ext3 VARCHAR,
  532. ext4 VARCHAR,
  533. ext5 VARCHAR,
  534. ext6 VARCHAR,
  535. ext7 VARCHAR,
  536. ext8 VARCHAR,
  537. ext9 VARCHAR
  538. );
  539. CREATE INDEX idx_time_series_info_person_name ON time_series_info (personName);
  540. CREATE INDEX idx_time_series_info_other_name ON time_series_info (otherName);