Вопрос

Вот структуры моих двух таблиц (первичные ключи жирных и зарубежных ключей в курсивом тексте)

service_agrements ( id , client_id, сумма, date_begin, длительность, * services_id_1 *, * services_id_2 *, * services_id_3 *, * services_id_4 *) Услуги (<Сильные> ID , date_provived, Описание, shapter_person)

Идея таблиц заключается в том, что на основании соглашения Компания предоставляет услугу до четырех раз. Поэтому, как видно, четыре поля таблицы Service_agrements (Services_id_1, ...) имеют четыре отдельные отношения с одним на один с таблицами служб (ID поле). Мне кажется немного необычным, потому что обычно я видел только одну связь между двумя столами. Так./ P >.

Это было полезно?

Решение

Структура может быть даже приятнее:

Service_agrements ( id , client_id, сумма, date_begin, длительность);

Услуги ( id , date_provived, Описание, shapter_person);

Service_Agrements_Services ( ID , тип ENUM (Service1, Service2 etc), service_agreement_id , service_id );

Новая таблица, Service_agrements_Services Добавьте многие в одну связь между Service_Agrement и Services;

<Сильные> Преимущества :

1) Для каждой новой службы вы предоставляете, будут новые вставки (обычно меньше накладных расходов, чем обновление) 2) Вы даже можете предоставить больше нет услуг :)

3) Настольные отношения становятся проще.

Спасибо

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top