Добро пожаловать в форум, Guest >> Войти | Регистрация | Поиск | Правила | | В избранное | Подписаться | ||
Все форумы / Microsoft SQL Server |
![]() ![]() |
jeanssp Member Откуда: Сообщений: 187 |
Здравствуйте! Создал таблицу артикулов товара, и таблицу типа filetable для хранения изображений. Каждому артикулу должно соответствовать несколько картинок. Связываю через промежуточную таблицу по полю stream_id, которое первичным ключом не является. Как то не нравится мне все это .Мне нужно один ко многим, а в filetable вставить articul_id нельзя. Это правильный способ? К сообщению приложен файл. Размер - 11Kb |
29 янв 19, 09:01 [21796477] Ответить | Цитировать Сообщить модератору |
Akina Member Откуда: Зеленоград, Москва, Россия Сообщений: 20978 |
|
||||||
29 янв 19, 09:06 [21796480] Ответить | Цитировать Сообщить модератору |
tunknown Member Откуда: Сообщений: 768 |
|
||||
29 янв 19, 09:20 [21796491] Ответить | Цитировать Сообщить модератору |
jeanssp Member Откуда: Сообщений: 187 |
Akina, Таблица images создалась автоматически и менять ее структуру(добавлять столбцы) нельзя - т.к это filetable. Одной картинке не может соответствовать несколько артикулов . В том то все и дело. |
29 янв 19, 10:57 [21796579] Ответить | Цитировать Сообщить модератору |
invm Member Откуда: Москва Сообщений: 9646 |
Если бы в Images не было ограничения уникальности по stream_id, то "связать" бы не вышло.
|
||||
29 янв 19, 11:33 [21796613] Ответить | Цитировать Сообщить модератору |
jeanssp Member Откуда: Сообщений: 187 |
Дело в том , что по идее таблица articul_images вовсе не нужна, если было бы можно добавить в таблицу images столбец articul_id. Тогда было бы все нормально. Один артикул- несколько картинок. А так получается лишняя таблица и многие ко многим зачем то. Я и хотел узнать может есть лучше способ подключить картинки к товару ? |
||||||
29 янв 19, 11:46 [21796626] Ответить | Цитировать Сообщить модератору |
Владислав Колосов Member Откуда: Сообщений: 8353 |
jeanssp, почему не нужна? У Вас многие к одному, а не один ко многим. |
29 янв 19, 12:02 [21796648] Ответить | Цитировать Сообщить модератору |
aleks222 Member Откуда: Сообщений: 1245 |
Если ТС так переживает - можно использовать path_locator. Это PK. |
29 янв 19, 12:14 [21796666] Ответить | Цитировать Сообщить модератору |
aleks222 Member Откуда: Сообщений: 1245 |
Причем использовать path_locator ПАПКИ. А картинки складывать в ПАПКУ. И не жаловаться на жисть. |
||
29 янв 19, 12:16 [21796671] Ответить | Цитировать Сообщить модератору |
jeanssp Member Откуда: Сообщений: 187 |
Вотвотвот!! Можно по подробнее пожалуйста??? |
||||
29 янв 19, 16:16 [21797037] Ответить | Цитировать Сообщить модератору |
aleks222 Member Откуда: Сообщений: 1245 |
Чего тут нипонятного? Структуру папок на диске видал? Дык в FileTable также. Хотя выглядит и не совсем так... Делаешь папку для артикула - складываешь туды картинки. |
||||
30 янв 19, 05:58 [21797392] Ответить | Цитировать Сообщить модератору |
alexeyvg Member Откуда: Moscow Сообщений: 31785 |
А что бы связь была не "многие ко многим", а "многие к одному", вам invm и предлагает добавить в actual_images уникальность по stream_id. Не сочиняйте что то сложно-нестандартное, запутаетесь, будете писать сложные запросы, другие спецы не разберутся. Не жалейте таблиц, больше таблиц - выше скорость, проще запросы, понятнее модель данных. |
||||
30 янв 19, 10:23 [21797501] Ответить | Цитировать Сообщить модератору |
alexeyvg Member Откуда: Moscow Сообщений: 31785 |
|
||||
30 янв 19, 10:24 [21797502] Ответить | Цитировать Сообщить модератору |
jeanssp Member Откуда: Сообщений: 187 |
. То есть как я понял связь нужно делать один к одному, а потом каким то способом вытаскивать из таблицы images(filetable) картинки, соответствующие папке. Правильно? |
||||
30 янв 19, 11:50 [21797606] Ответить | Цитировать Сообщить модератору |
KRS544 Member Откуда: Сообщений: 497 |
parent_path_locator К сообщению приложен файл. Размер - 6Kb |
30 янв 19, 13:09 [21797714] Ответить | Цитировать Сообщить модератору |
aleks222 Member Откуда: Сообщений: 1245 |
Включи не транзакционный доступ к filetables - из explorer.exe насоздавай пару папок, сунь туды пару картинок и посмотри, как это выглядит в табличке. Сильно-развесистое дерево папок тебе не нужно. Обойдешься одним уровнем. |
||||
30 янв 19, 14:02 [21797765] Ответить | Цитировать Сообщить модератору |
aleks222 Member Откуда: Сообщений: 1245 |
Нетранзакционный доступ - папки К сообщению приложен файл. Размер - 123Kb |
30 янв 19, 14:15 [21797786] Ответить | Цитировать Сообщить модератору |
aleks222 Member Откуда: Сообщений: 1245 |
Содержимое папки К сообщению приложен файл. Размер - 147Kb |
30 янв 19, 14:17 [21797790] Ответить | Цитировать Сообщить модератору |
aleks222 Member Откуда: Сообщений: 1245 |
Таблица К сообщению приложен файл. Размер - 133Kb |
30 янв 19, 14:20 [21797793] Ответить | Цитировать Сообщить модератору |
jeanssp Member Откуда: Сообщений: 187 |
aleks222, Спасибо! я понял, parent_path_locator совпадает для файлов лежащих в одной папке. |
30 янв 19, 19:42 [21798222] Ответить | Цитировать Сообщить модератору |
alexeyvg Member Откуда: Moscow Сообщений: 31785 |
|
||
31 янв 19, 12:41 [21798669] Ответить | Цитировать Сообщить модератору |
Все форумы / Microsoft SQL Server | ![]() |