设计两个不同的表

时间:2012-09-21 23:08:36

标签: mysql sql sqlite

我设计了以下内容,但我正在寻找一种更简单的设计方法(目前当我要检索用户感兴趣的子类别列表时,我应该对每种类型的运动都有不同的查询):

用户表具有每个用户对运动类别数感兴趣的用户信息,每个类别具有不同的子类别,用户可以对类别(所有子类别)或特定类别的多个子类别感兴趣。

User      UserID                                         12

Sport     CategoryID Category                            1 Aquatic,    2 Running 

Aquatic   SubCategoryID SubCategory,CategoryID           1 Swimming 1, 2 Surfing 2 

Running   SubCateogryID SubCategory,CategoryID           1 200m 2,     2 300m 2 

LikeSport UserID CateogryID SubCategoryID                12 1 1,       12 2 nill

它显示ID为12的用户喜欢水上运动,但只是游泳,喜欢所有类型的跑步运动。

2 个答案:

答案 0 :(得分:1)

用户表: 用户id,用户名

类别表: categoryId,categoryName

子类别表: subCategoryId,subCategoryName,categoryId(FK)

像表一样: 用户ID(FK),的categoryId(FK),subCategoryId(FK)

答案 1 :(得分:0)

Users:                         UserID
Categories:                    CategoryID, CategoryName
Subcategories:                 SubcategoryID, SubcategoryName
CategoriesSubcategories:       CategorySubcategoryID, CategoryID, SubcategoryID
LikeSports:                    UserID, CategorySubcategoryID