SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 26.10.2011 00:29:33

Имя занято
Участник
Зарегистрирован: 26.10.2011
Сообщений: 17

Как правильнее организовать связь таблиц

Приветствую, друзья!

Не поделитесь ли своим мнением?

Есть две таблицы. Допустим, товары и категории.
таблица categories (id_category, name, ...)
таблица products (id_product, name, ...)

В категориях лежат товары. При этом один товар может находится только в одной категории. Существует два способа связать эти сущности:
1) добавить столбец id_category в таблицу products
2) сделать третью таблицу categories_products (id_category, id_product), в которой все эти связи создавать.

Как вы считаете, какой способ правильнее? И почему?

Спасибо за ответ)

Неактивен

 

#2 26.10.2011 00:36:43

deadka
Администратор
Зарегистрирован: 14.11.2007
Сообщений: 2422

Re: Как правильнее организовать связь таблиц

Клёвый логин!

Раз один товар находится в одной категории, то проще реализовать первый способ - проще будет запросы строить, меньше таблиц.
А вот если бы один товар мог находится в нескольких категориях сразу, то тут конечно второй вариант.
Почитайте про "отношение 1 ко многим" и "отношение многие ко многим".


Зеленый свет для слабаков, долги отдают только трусы, тру гики работают только в консоли...

Неактивен

 

#3 26.10.2011 18:06:21

Имя занято
Участник
Зарегистрирован: 26.10.2011
Сообщений: 17

Re: Как правильнее организовать связь таблиц

Спасибо)

Я хотел сделать первым способом, но потом засомневался, подумал, что вдруг что-то упускаю. Если первый способ имеет право на существование, то решено) Конечно, второй способ позволяет безболезненно перейти от "отношения 1 ко многим" к "отношению многие ко многим". Но, я думаю, что не имеет смысла усложнять систему "на будущее", точно не зная, понадобится это или нет...

Неактивен

 

#4 26.10.2011 18:09:48

deadka
Администратор
Зарегистрирован: 14.11.2007
Сообщений: 2422

Re: Как правильнее организовать связь таблиц

Имя занято написал:

Если первый способ имеет право на существование, то решено).

Имеет полное право smile.

Имя занято написал:

Но, я думаю, что не имеет смысла усложнять систему "на будущее", точно не зная, понадобится это или нет...

Ну, если Вы абсолютно уверены, что товар всегда будет находиться в одной категории smile...


Зеленый свет для слабаков, долги отдают только трусы, тру гики работают только в консоли...

Неактивен

 

#5 26.10.2011 18:47:55

Имя занято
Участник
Зарегистрирован: 26.10.2011
Сообщений: 17

Re: Как правильнее организовать связь таблиц

Конечно, всё может быть. Но если сразу попытаться предусмотреть все варианты, то написание сайта сильно затянется и усложнится) При этом неизвестно, понадобятся ли эти возможности в итоге.

Абсолютно мы все можем быть уверены только в одном: президентом будет Путин)

Отредактированно Имя занято (26.10.2011 18:50:49)

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson