Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 26.12.2017, 16:28
Профессор
Отправить личное сообщение для DivMan Посмотреть профиль Найти все сообщения от DivMan
 
Регистрация: 08.03.2016
Сообщений: 429

Непонятная структура
Вот небольшие задачи, по структуре БД

Товар, который может принадлежать нескольким категориям одновременно. Запросы: (1) достать все товары вместе с их категориями, (2) достать товар 'Огурец' вместе с его категориями, (3) достать все товары из категории 'Овощи', (4) достать все товары, которые принадлежат более чем одной категории

Сама структура

таблица product (продукт), поля: id, name (название), product_id (айди продукта)
таблица order (порядок), поля: id, product_id, category_id (айди категории)
таблица category (категория), поля: id, name (название),


Зачем у продукта, создавать поле айди продукта, если у него и так будет id?

Что означает таблица order? Почему она так названа?
Зачем она вообще?

У задач есть решения.

достать все товары вместе с их категориями:

SELECT * FROM product
LEFT JOIN order ON prdouct.category.id = order.id
LEFT JOIN category ON order.category_id = category.id


Вот эту цепочку

prdouct.category.id


я вообще не понимаю
Ответить с цитированием
  #2 (permalink)  
Старый 26.12.2017, 16:32
Профессор
Отправить личное сообщение для DivMan Посмотреть профиль Найти все сообщения от DivMan
 
Регистрация: 08.03.2016
Сообщений: 429

а может order это подкатегория?
Ответить с цитированием
  #3 (permalink)  
Старый 26.12.2017, 16:33
Профессор
Отправить личное сообщение для DivMan Посмотреть профиль Найти все сообщения от DivMan
 
Регистрация: 08.03.2016
Сообщений: 429

или должно быть так? prdouct.category_id
Ответить с цитированием
  #4 (permalink)  
Старый 27.12.2017, 08:49
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,215

Сообщение от DivMan
Зачем у продукта, создавать поле айди продукта, если у него и так будет id?
Не всегда нужен "машинный" ИД. Специально добавляется "свой" ИД, который может формироваться как составная строка.

Это хорошо проявляется на распределенных БД.
Ответить с цитированием
  #5 (permalink)  
Старый 27.12.2017, 10:55
Профессор
Отправить личное сообщение для DivMan Посмотреть профиль Найти все сообщения от DivMan
 
Регистрация: 08.03.2016
Сообщений: 429

А пример можно?
Ответить с цитированием
  #6 (permalink)  
Старый 27.12.2017, 11:53
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,215

Сообщение от DivMan
А пример можно?
Например у тебя сеть магазинов, у каждого свой сервер. И есть центральная контора, на сервере которой собирается вся нужная информация от магазинов.

У записи каждой таблицы может быть свой "субдшный" ИД. Но так же нужен ИД который будет одинаковым по смыслу на всех серверах. Вот его-то и будут формировать "программно".

Для справочников, поставляемых с головного сервера такое не обязательно. Там достаточно полного соответствия с оригиналом.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Непонятная аномалия Elect Node.JS 1 01.08.2016 07:25
Структура MVC и MVVM potkin ExtJS 4 28.07.2016 20:46
Непонятная структура кода (новичковый вопрос) LowCoder Общие вопросы Javascript 22 05.05.2014 19:04
Непонятная последовательность вызова MadGest jQuery 3 22.09.2011 13:45
Непонятная ошибка IIIgun Общие вопросы Javascript 3 23.07.2011 11:55