zoukankan      html  css  js  c++  java
  • 城市数据库设计流程

    城市功能

     

    city 最高级

    中国 其他州  (弄出 demo)

    city 最低级

    市;(限制任务的 city 为这个级别)

     

    数据库

     

    数据库字段

    用途

    定位城市:州—城市。 name, data_level,

    推导出热门: 搜索次数。 中国—中国+1; 广州—广州+1;

     

    导入数据

    手动导入中国主要城市、美洲主要城市

    最后

    考虑如何自动导入

    编写自动导入脚本

     

    搜索各国行政区划分

    中国

    其他主要大洲及国家。

    如果只需要部分数据,由需求方提供最好,可以参考旅游网站的热门目的地

    如果需要很多数据,通过  世界各国行政区域和城市人口 进行爬虫?

    谷歌搜索 `全球行政区划分`,没有找到

    谷歌搜索 `全球行政区划分 sql`,能够找到。

     

     

    数据库关系

    city 表关系

    自联接外键关系

    recruit 与 city 表关系

    多对多

     

    传递给前端

    国内以及其他州的树结构

     

    常驻城市

    多对多

     

    任务城市

    多对多

     

    搜索流程

    单个city

    1. 传入 city=中国
    2. 搜索 city = City.object.filter(city=‘中国’)
    3. 展开 city 直到最低级,这里为中国所有城市
    4. 搜索含有这个城市的任务

    多个 cities

    1. 传入 city=中国|日本
    2. 查找出中国,日本
    3. 展开中国、日本到一个 set 里面
    4. 含有这个城市的任务

    获取 name 下级的所有城市

    获取直到最后一个级别的城市。

    同一个 root 下面的叶子级别也可能不相同。

    限制

    用户、任务中的城市级别只能选择 leaf 级别的。

    这样会引起说明架构问题

    缓存数据

    由于要从数据库中递归查找,所以速度会很慢,要十几秒。由于这个时序性要求不高,可以使用redis做缓存。

  • 相关阅读:
    nmon监控及分析(转)
    Python资源大全
    pyqt4使用简易笔记
    windows下 使用pyinstaller 打包os.Popen()问题
    用pyautogui操作windows
    jmeter 报错:java.net.BindException: Address already in use: connect
    jmeter 报错Non HTTP response code: org.apache.http.conn.ConnectTimeoutException
    vue父子组件通信
    centos6.7安装mysql-5.7
    linux下 多python环境 修改默认python2为python3
  • 原文地址:https://www.cnblogs.com/jay54520/p/6644291.html
Copyright © 2011-2022 走看看