国家之间的众多联系和哈希表

时间:2017-12-17 20:57:27

标签: database database-design

数据库设计问题:

我必须建模一种情况,我有一个表Hashtag(其中包含hash_id,hashtag_name,count positive和count negative以及hashtag的其他详细信息),它必须与两个不同的表city和country相关。

我进一步将我的问题归类为我们有一个数据库模式,我们在其中存储主题标签,就像twitter网站一样,例如,如果有人上传状态并使用hashtag #java,那么我们搜索用户城市和国家,意味着该用户上传的java hashtag卡拉奇和卡拉奇位于巴基斯坦,因此在标签表和城市表之间存在多对多关系,并且标签表与国家表和县表之间的多对多关系与城市有太多关系。

所以有一个问题 - 一个标签来自许多城市,同样一个标签来自许多国家。任何人都可以帮我简化这个问题吗?

1 个答案:

答案 0 :(得分:0)

  1. 一个城市只有一个国家(不考虑因冲突导致的边境变化,在国际范围内工作时可能需要考虑这些因素)。
  2. 主题标签的单个实例只能来自一个城市。
  3. 主题标签的单个实例与主题标签的集合相关。

    Table: Hashtag
    HashtagID
    HashtagText
    
    Table: Country
    CountryID
    CountryName
    
    Table: City
    CityID
    CityName
    CountryID (FK to Country)
    
    Table: HashtagUsage
    HashtagID (FK to Hashtag)
    CityID (FK to City)
    DateTimeUsed
    
  4. 主题标签的每次使用仅与一个主题标签和一个城市相关,并且具有使用时间戳的时间戳。

    这是一个非常简化的模型,但希望它能帮助您看到建立多对多关系的方法。

    如果您正在为日期仓库,主题标签,城市和国家/地区建模这些维度,则hashtagusage是事件(事实)表。