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

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


我的上述方法是否正确,或者您可以提出任何更好的解决方案?

谢谢

最佳答案

您为什么不这样走呢(如果我正确地实现了您的目标):

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


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

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

tbl_profile_categories: id, profile_id, service_category_id

关于php - 用于市场的mysql模式帮助,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29627624/

10-12 04:54