sql.sql 6.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107
  1. -- 人员信息表
  2. CREATE TABLE person_info (
  3. id INT PRIMARY KEY AUTO_INCREMENT COMMENT 'ID',
  4. realname VARCHAR(50) NOT NULL COMMENT '姓名',
  5. id_card VARCHAR(18) UNIQUE COMMENT '身份证号',
  6. ethnic VARCHAR(30) COMMENT '民族',
  7. age TINYINT COMMENT '年龄',
  8. gender TINYINT NOT NULL COMMENT '性别: 1-男, 2-女, 0-未知',
  9. birth_date DATE COMMENT '出生日期',
  10. population_category TINYINT COMMENT '人口类别:0-本村户籍 ,1-非本村户籍',
  11. phone VARCHAR(20) COMMENT '电话',
  12. population_tags VARCHAR(1024) COMMENT '人口标签(标签 json 列表)',
  13. occupation VARCHAR(50) COMMENT '职业',
  14. grid VARCHAR(30) COMMENT '所属网格',
  15. education_level VARCHAR(20) COMMENT '文化程度',
  16. marital_status TINYINT COMMENT '婚姻状况: 1-未婚, 2-已婚, 3-丧偶, 4-离婚',
  17. political_status VARCHAR(20) COMMENT '政治面貌',
  18. religion VARCHAR(30) COMMENT '宗教信仰',
  19. photo_url VARCHAR(255) COMMENT '照片URL',
  20. household_id INT COMMENT '所属户籍ID',
  21. household_relation VARCHAR(30) COMMENT '户籍关系',
  22. special_identity VARCHAR(100) COMMENT '特殊身份',
  23. create_time datetime null comment '创建时间',
  24. create_by varchar(64) null comment '创建人',
  25. update_time datetime null comment '修改时间',
  26. update_by varchar(64) null comment '修改人',
  27. del_flag char default '0' null comment '删除标志',
  28. INDEX idx_realname (realname),
  29. INDEX idx_ethnic (ethnic),
  30. INDEX idx_id_card (id_card),
  31. INDEX idx_household (household_id),
  32. INDEX idx_special_identity (special_identity)
  33. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='人员信息表';
  34. -- 户籍信息表
  35. CREATE TABLE household_info (
  36. id INT PRIMARY KEY AUTO_INCREMENT COMMENT '户籍ID',
  37. household_code VARCHAR(50) UNIQUE NOT NULL COMMENT '户籍编号',
  38. household_head VARCHAR(50) NOT NULL COMMENT '户主姓名',
  39. household_head_id_card VARCHAR(18) COMMENT '户主身份证号',
  40. household_type TINYINT NOT NULL COMMENT '户籍类型: 1-农业户口, 2-非农业户口',
  41. household_address VARCHAR(200) COMMENT '户籍地址',
  42. belonging_area VARCHAR(200) COMMENT '归属地区',
  43. house_code VARCHAR(50) COMMENT '房屋编号',
  44. create_time datetime null comment '创建时间',
  45. update_time datetime null comment '修改时间',
  46. del_flag char default '0' null comment '删除标志',
  47. del_flag char default '0' null comment '删除标志',
  48. INDEX idx_household_number (household_code),
  49. INDEX idx_household_head (household_head),
  50. INDEX idx_house_code (house_code)
  51. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='户籍信息表';
  52. -- 房屋信息表
  53. CREATE TABLE house_info (
  54. id INT PRIMARY KEY AUTO_INCREMENT COMMENT '房屋ID',
  55. house_code VARCHAR(20) UNIQUE NOT NULL COMMENT '房屋编号(如FW0000580689)',
  56. doorplate_number VARCHAR(50) COMMENT '门牌号',
  57. house_address VARCHAR(200) COMMENT '房屋详细地址',
  58. house_owner_id INT COMMENT '房主人员ID',
  59. total_points INT DEFAULT 0 COMMENT '总积分',
  60. remaining_points INT DEFAULT 0 COMMENT '剩余积分',
  61. house_category TINYINT COMMENT '房屋类别:1-修缮,2-原址重建,3-集中安置',
  62. building_area DECIMAL(10,2) COMMENT '宅基地面积(㎡)',
  63. grid INT COMMENT '所属网格',
  64. photo_url VARCHAR(256) COMMENT '照片URL',
  65. house_tags VARCHAR(1024) COMMENT '家庭标签(JSON数组)',
  66. create_time datetime null comment '创建时间',
  67. update_time datetime null comment '修改时间',
  68. del_flag char default '0' null comment '删除标志',
  69. -- 索引
  70. INDEX idx_house_code (house_code),
  71. INDEX idx_doorplate (doorplate_number),
  72. INDEX idx_owner (house_owner_id),
  73. INDEX idx_house_category (house_category),
  74. INDEX idx_address (house_address)
  75. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='房屋信息表';
  76. -- 人员-房屋 关联表
  77. CREATE TABLE person_house_relation (
  78. id INT PRIMARY KEY AUTO_INCREMENT COMMENT 'ID',
  79. person_id INT NOT NULL COMMENT '人员ID',
  80. house_id INT NOT NULL COMMENT '房屋ID',
  81. create_time datetime null comment '创建时间',
  82. update_time datetime null comment '修改时间',
  83. del_flag char default '0' null comment '删除标志',
  84. -- 联合唯一约束(防止重复关联)
  85. UNIQUE KEY uk_person_house (person_id, house_id)
  86. ) ENGINE=InnoDB COMMENT='人员房屋关系表';
  87. -- 项目表
  88. CREATE TABLE projects (
  89. id INT PRIMARY KEY AUTO_INCREMENT COMMENT '项目ID',
  90. project_name VARCHAR(100) NOT NULL COMMENT '项目名称',
  91. project_description VARCHAR(256) COMMENT '项目内容',
  92. investment_amount DECIMAL(15,2) COMMENT '投资金额(元)',
  93. start_date DATE COMMENT '项目开始日期',
  94. estimated_completion_date DATE COMMENT '预计建成日期',
  95. actual_completion_date DATE COMMENT '实际建成日期',
  96. progress TINYINT DEFAULT 0 COMMENT '项目进度(0-建设中 1-已建成)',
  97. create_time datetime null comment '创建时间',
  98. update_time datetime null comment '修改时间',
  99. del_flag char default '0' null comment '删除标志',
  100. INDEX idx_progress (progress),
  101. INDEX idx_name (project_name),
  102. INDEX idx_dates (start_date, estimated_completion_date)
  103. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='项目表';