【问题标题】:mysql schema help for marketplace市场的 mysql 模式帮助
【发布时间】:2015-04-14 20:55:34
【问题描述】:

我正在为我的下一个项目(市场)计划数据库架构,请检查以下...

tbl_users - id, email, password, created_at
countries - id, name
states - id, name, country_id
cities - id, name, state_id
areas - id, name, city_id
tbl_profiles - id, user_id, area_id, full_name, about, pic, email, phone, created_at

在这之后我有点困惑,现在我需要创建 4-5 个 profile_categories 例如机械师、画家、干洗工、仆人等,但这些将分为各种 service_types 例如画家可以分为 - 干画家,油画家,玻璃画家等。所以我决定提出以下结构......

tbl_mechanics - id, profile_id
tbl_mechanic_services - id, service_name

由于它的多对多关系,我使用数据透视表来加入两者

tbl_mechanic_service_pivot - id, mechanic_id, service_id

现在我应该为其余配置文件类别使用相同的数据库结构...

tbl_painters - id, profile_id
tbl_painter_services - id, service_name
tbl_painter_service_pivotv- id, painter_id, service_id

我的上述方法是否正确,或者您能提出更好的解决方案吗?

谢谢

【问题讨论】:

    标签: php mysql database schema


    【解决方案1】:

    你为什么不走这条路(如果我的目标正确的话):

    tbl_service_type: id, title
    tbl_service_category: id, service_type_id, title
    

    因此,如果每个配置文件只有 1 个类别,您可以将新字段 service_category_id 添加到您的 tbl_profiles

    如果每个配置文件都可以分配到多个类别,您可以创建数据透视表:

    tbl_profile_categories: id, profile_id, service_category_id
    

    【讨论】:

    • 您完全理解了我的想法,我喜欢您的建议,我正在努力使其高效快速,您认为这是提高效率的更好方法吗?
    • 当然,这是经典的方式,恕我直言
    猜你喜欢
    • 1970-01-01
    • 2021-06-28
    • 1970-01-01
    • 2010-12-21
    • 2021-02-03
    • 2011-01-06
    • 1970-01-01
    • 1970-01-01
    • 2011-04-18
    相关资源
    最近更新 更多