|
|
|
Прошу советов по структуре базы данных.
|
|||
|---|---|---|---|
|
#18+
Здравствуйте! Для "рисования" я использовал MySQL WorkBench(приложил файл WB, если он у вас есть) ссылка на изображение (60 кб) Суть: Магазин, Пользователи регистрируют компанию - "Campaign". Нужно хранить соответственно всё о компании и о продуктах которые они продают - "Products" Вопросы. 1. Есть необходимость предоставить пользователям rich text field (там могут быть и картинки и видео и вообще всё что угодно) Какое поле для этого выбрать? как хранить? 2. Как хранить сеты картинок? Я думал о таблице которая сама на себя указывает. т.е. есть праймари кей(пк) и есть форейн кей(фк) который указывает на пк: PK FK 1 -1 2 1 3 1 Дальше пишем в нужное место пк и при необходимости достаём всё где фк = пк Может есть более простые варианты хранить сеты картинок? Ну и если видите, что я совсем фигню творю тоже скажите. Спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.10.2015, 23:59 |
|
||
|
Прошу советов по структуре базы данных.
|
|||
|---|---|---|---|
|
#18+
1) продукты независимы от компаний- хранить их нужно отдельно, описывая все премудрости каждого продукта (если нужно). 2) нужна таблица связки продуктов и компаний. Сейчас у вас получилось, что с одним продуктом может работать только одна компания. 3) Не понял почему в Product есть cost и price-не знаю в чем отличие. В любом случае цена меняется -ее нужно в отдельной таблице хранить с привязкой ко времени. 4) если картинок (а тем более видео) много и они большие- лучше хранить их на диске как файл, а в базе иметь ссылку эти на файлы. Я так понял в Assets вы попытались это изобразить. 5) Vendor и Designer не знаю что такое, поэтому не могу ничего сказать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2015, 09:12 |
|
||
|
Прошу советов по структуре базы данных.
|
|||
|---|---|---|---|
|
#18+
raziel.kdm1. Есть необходимость предоставить пользователям rich text field (там могут быть и картинки и видео и вообще всё что угодно) Какое поле для этого выбрать? как хранить? У разных СУБД разные механизмы для этого - спросите лучше в форуме по Вашей СУБД. raziel.kdm2. Как хранить сеты картинок? Я думал о таблице которая сама на себя указывает. т.е. есть праймари кей(пк) и есть форейн кей(фк) который указывает на пк: PK FK 1 -1 2 1 3 1 Дальше пишем в нужное место пк и при необходимости достаём всё где фк = пк Может есть более простые варианты хранить сеты картинок? (как понимаю, Вы описываете таблицу картинок). У этой реализации есть проблема - как минимум одна картинка (из записи ПК=ФК) жестко "зашита" в сет, ее сложно удалять и сложно заменять. Мне кажется, лучше все-таки делать 3 таблицы - "Сет", "Картинка", "КартинкаВходитВСет" (связующая). Тогда процедуры "добавить картинку в Сет", "удалить картинку из Сета" - будут вполне универсальны, там не надо будет обрабатывать специальные случаи "картинка является корнем сета". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2015, 09:31 |
|
||
|
Прошу советов по структуре базы данных.
|
|||
|---|---|---|---|
|
#18+
Спасибо за советы! Serguei, 1. Сайт предоставляет торговую площадку для продавцов. т.е. campaign это магазин и товары у каждого свои. 2. см. выше 3. Кост это себестоимость единицы, а прайс это цена для пользователя за еденицу. 4. Да. Планировал хранить в таблице путь до файла из какого-то заранее определенного места(file_path). + хранить ещё внешне, чтобы если что доставать оттуда (external_id) 5. Это лица продавца которые имеют доступ к редактированию информации о продукте\магазине Спасибо за отзыв. С ценой действительно отличная идея! Кот Матроскин, По СУБД пока не понятно, клиент склоняется к MySQL. А я в БД(различия, плюсы, минусы) не понимаю, так что советы давать им не могу. Кот МатроскинМне кажется, лучше все-таки делать 3 таблицы - "Сет", "Картинка", "КартинкаВходитВСет" (связующая) Т.е. по сути Many to Many отношения? Универсальнее. Реализация чуть сложнее. Спасибо за совет, попробую представить) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2015, 18:59 |
|
||
|
Прошу советов по структуре базы данных.
|
|||
|---|---|---|---|
|
#18+
Получилось такое(56кбайт) Попросили убрать Вендоров/Дезайнеров и оставить только их емейлы. Убрал Отдельную таблицу для Типов продуктов в Продукт. Воспользовался советами. Может кто-нибудь ещё чего углядит нехорошее =) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2015, 20:42 |
|
||
|
Прошу советов по структуре базы данных.
|
|||
|---|---|---|---|
|
#18+
raziel.kdm Попросили убрать Вендоров/Дезайнеров и оставить только их емейлы. Убрал Отдельную таблицу для Типов продуктов в Продукт. Воспользовался советами. Может кто-нибудь ещё чего углядит нехорошее =) По прежнему плохо. Вы не восприняли советов. Такое впечатление что диаграмму вы делали с закрытыми глазами- куда ткнули, то и соединили. Читайте внимательнее что вам писали. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2015, 09:03 |
|
||
|
Прошу советов по структуре базы данных.
|
|||
|---|---|---|---|
|
#18+
Serguei, Я не понял, можете подробнее? Вы предлагаете сделать many to many отношения между магазином и продуктами? Цену я выделил отдельно, храню с датой(т.е. дата тут это момент с которого указанная цена для товара действует, можем хранить много дат для товара, историю, а брать ту которая самая близкая к нужной) По поводу картинок, предлагался какой-то другой вариант? Без "Sets"? Напрямую кампании с ассетами? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.10.2015, 07:56 |
|
||
|
|

start [/forum/topic.php?fid=32&fpage=18&tid=1540465]: |
0ms |
get settings: |
11ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
39ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
45ms |
get tp. blocked users: |
1ms |
| others: | 13ms |
| total: | 139ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...