2015-04-14 3 views
0

Я планирую дб схему для моего следующего проекта (рыночная площадь), пожалуйста, проверьте следующее ...MySQL схемы помощи для рынка

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 например, механики, художники, химчистки, слуги и т. д., но они будут разделены на различные 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 

ли мой выше подход правильно или вы можете предложить лучше решение?

Благодаря

ответ

0

Почему вы не просто идти по этому пути (если я получил вашу цель правильно):

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 
+0

У вас есть идея, и мне нравится ваше предложение, я пытаюсь сделать его эффективным и быстрым, вы думаете, что это лучший способ сделать его эффективным? – seoppc

+0

Конечно, это классический способ imho – Alex

+0

Большое спасибо Alex. – seoppc

Смежные вопросы