Я планирую схему БД для моего следующего проекта (на рынке), пожалуйста, проверьте следующее …
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
так что если у вас есть только 1 категория на профиль, вы можете добавить новое поле service_category_id
на ваш tbl_profiles
если каждому профилю можно назначить несколько категорий, вы можете создать сводную таблицу:
tbl_profile_categories: id, profile_id, service_category_id
Других решений пока нет …