数据库设计问题:
我必须建模一种情况,我有一个表Hashtag(其中包含hash_id,hashtag_name,count positive和count negative以及hashtag的其他详细信息),它必须与两个不同的表city和country相关。
我进一步将我的问题归类为我们有一个数据库模式,我们在其中存储主题标签,就像twitter网站一样,例如,如果有人上传状态并使用hashtag #java,那么我们搜索用户城市和国家,意味着该用户上传的java hashtag卡拉奇和卡拉奇位于巴基斯坦,因此在标签表和城市表之间存在多对多关系,并且标签表与国家表和县表之间的多对多关系与城市有太多关系。
所以有一个问题 - 一个标签来自许多城市,同样一个标签来自许多国家。任何人都可以帮我简化这个问题吗?
答案 0 :(得分:0)
主题标签的单个实例与主题标签的集合相关。
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
主题标签的每次使用仅与一个主题标签和一个城市相关,并且具有使用时间戳的时间戳。
这是一个非常简化的模型,但希望它能帮助您看到建立多对多关系的方法。
如果您正在为日期仓库,主题标签,城市和国家/地区建模这些维度,则hashtagusage是事件(事实)表。