Я пытаюсь создать очень базовую форму elance, как дизайн реляционной базы данных.Реляционная база данных Путаница проектирования, есть ли лучший способ связать таблицы, то это?
Идея заключается в том, что есть продавец услуг и покупатель обслуживания.
Продавец может предоставить более 1 услуги.
Покупатель может купить более 1 услуги (работа).
Задание может иметь более 1 продавца, работающего над ним.
Продавец может работать более чем на 1 работу.
Ниже представлен дизайн, который я придумал.
Проблема заключается в том, что кажется слишком громоздким, например, если покупатель входит в систему, то нам придется пройти через все таблицы услуг для услуг (работа), купленных им, то мы будем иметь чтобы пройти через все продавцы_job_relationship, чтобы получить идентификаторы всех продавцов, работающих на этих рабочих местах, тогда нам придется пройти через всю таблицу продавцов, чтобы получить информацию обо всех продавцах, работающих на этих рабочих местах.
Так есть ли лучший способ связать эти таблицы вместе или это так, как это работает?
Это первый раз, когда я пытаюсь использовать свои базы данных, поэтому я действительно смущен.
Это именно так, как она работает – Hogan
насчет трехкомпонентных отношений между продавцом, работа и услуги? У вас нет двух таблиц JOIN с двумя ключами каждый, есть один с тремя ключами. http://stackoverflow.com/questions/10597698/decomposing-a-ternary-relationship-into-binary-relationships – duffymo
You может иметь только одну таблицу «люди», а затем иметь код типа в этой таблице - если ваша цель уменьшает количество таблиц. – Hogan