Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Связь с таблицей Filetable.  [new]
jeanssp
Member

Откуда:
Сообщений: 147
Здравствуйте! Создал таблицу артикулов товара, и таблицу типа filetable для хранения изображений. Каждому артикулу должно соответствовать несколько картинок. Связываю через промежуточную таблицу по полю stream_id, которое первичным ключом не является. Как то не нравится мне все это .Мне нужно один ко многим, а в filetable вставить articul_id нельзя. Это правильный способ?

К сообщению приложен файл. Размер - 11Kb
29 янв 19, 09:01    [21796477]     Ответить | Цитировать Сообщить модератору
 Re: Связь с таблицей Filetable.  [new]
Akina
Member

Откуда: Зеленоград, Москва, Россия
Сообщений: 20484
jeanssp
Каждому артикулу должно соответствовать несколько картинок.
А может одна картинка соответствовать нескольким артикулам?

jeanssp
Связываю через промежуточную таблицу по полю stream_id
Каков смысл этого поля? особенно с учётом какой-то самоссылки в таблице Images...

jeanssp
которое первичным ключом не является.
Для хранения связи M:N - обычное дело.
29 янв 19, 09:06    [21796480]     Ответить | Цитировать Сообщить модератору
 Re: Связь с таблицей Filetable.  [new]
tunknown
Member

Откуда:
Сообщений: 758
jeanssp
Связываю через промежуточную таблицу по полю stream_id, которое первичным ключом не является. Как то не нравится мне все это
Если опасаетесь, добавьте Unique constraint по нему.
BOL
A unique ID for the FILESTREAM data.
BOL обещает его не нарушать.
29 янв 19, 09:20    [21796491]     Ответить | Цитировать Сообщить модератору
 Re: Связь с таблицей Filetable.  [new]
jeanssp
Member

Откуда:
Сообщений: 147
Akina, Таблица images создалась автоматически и менять ее структуру(добавлять столбцы) нельзя - т.к это filetable. Одной картинке не может соответствовать несколько артикулов . В том то все и дело.
29 янв 19, 10:57    [21796579]     Ответить | Цитировать Сообщить модератору
 Re: Связь с таблицей Filetable.  [new]
invm
Member

Откуда: Москва
Сообщений: 9270
jeanssp
Связываю через промежуточную таблицу по полю stream_id, которое первичным ключом не является
Т.е. "связывать" не по первичному ключу нельзя?
Если бы в Images не было ограничения уникальности по stream_id, то "связать" бы не вышло.
jeanssp
Одной картинке не может соответствовать несколько артикулов . В том то все и дело.
Что мешает добавить в actual_images уникальность по stream_id?
29 янв 19, 11:33    [21796613]     Ответить | Цитировать Сообщить модератору
 Re: Связь с таблицей Filetable.  [new]
jeanssp
Member

Откуда:
Сообщений: 147
invm
jeanssp
Связываю через промежуточную таблицу по полю stream_id, которое первичным ключом не является
Т.е. "связывать" не по первичному ключу нельзя?
Если бы в Images не было ограничения уникальности по stream_id, то "связать" бы не вышло.
jeanssp
Одной картинке не может соответствовать несколько артикулов . В том то все и дело.
Что мешает добавить в actual_images уникальность по stream_id?

Дело в том , что по идее таблица articul_images вовсе не нужна, если было бы можно добавить в таблицу images столбец articul_id.
Тогда было бы все нормально. Один артикул- несколько картинок. А так получается лишняя таблица и многие ко многим зачем то. Я и хотел узнать может есть лучше способ подключить картинки к товару ?
29 янв 19, 11:46    [21796626]     Ответить | Цитировать Сообщить модератору
 Re: Связь с таблицей Filetable.  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 7651
jeanssp,

почему не нужна? У Вас многие к одному, а не один ко многим.
29 янв 19, 12:02    [21796648]     Ответить | Цитировать Сообщить модератору
 Re: Связь с таблицей Filetable.  [new]
aleks222
Member

Откуда:
Сообщений: 919
Если ТС так переживает - можно использовать path_locator.
Это PK.
29 янв 19, 12:14    [21796666]     Ответить | Цитировать Сообщить модератору
 Re: Связь с таблицей Filetable.  [new]
aleks222
Member

Откуда:
Сообщений: 919
aleks222
Если ТС так переживает - можно использовать path_locator.
Это PK.

Причем использовать path_locator ПАПКИ.

А картинки складывать в ПАПКУ.
И не жаловаться на жисть.
29 янв 19, 12:16    [21796671]     Ответить | Цитировать Сообщить модератору
 Re: Связь с таблицей Filetable.  [new]
jeanssp
Member

Откуда:
Сообщений: 147
aleks222
aleks222
Если ТС так переживает - можно использовать path_locator.
Это PK.

Причем использовать path_locator ПАПКИ.

А картинки складывать в ПАПКУ.
И не жаловаться на жисть.

Вотвотвот!! Можно по подробнее пожалуйста???
29 янв 19, 16:16    [21797037]     Ответить | Цитировать Сообщить модератору
 Re: Связь с таблицей Filetable.  [new]
aleks222
Member

Откуда:
Сообщений: 919
jeanssp
aleks222
пропущено...

Причем использовать path_locator ПАПКИ.

А картинки складывать в ПАПКУ.
И не жаловаться на жисть.

Вотвотвот!! Можно по подробнее пожалуйста???


Чего тут нипонятного?

Структуру папок на диске видал?
Дык в FileTable также. Хотя выглядит и не совсем так...

Делаешь папку для артикула - складываешь туды картинки.
30 янв 19, 05:58    [21797392]     Ответить | Цитировать Сообщить модератору
 Re: Связь с таблицей Filetable.  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31328
jeanssp
Дело в том , что по идее таблица articul_images вовсе не нужна, если было бы можно добавить в таблицу images столбец articul_id.
Но добавить в таблицу images столбец articul_id, поэтому таблица articul_images нужна.
jeanssp
А так получается лишняя таблица и многие ко многим зачем то.
Почему "лишняя таблица", она же нужна.

А что бы связь была не "многие ко многим", а "многие к одному", вам invm и предлагает добавить в actual_images уникальность по stream_id.

Не сочиняйте что то сложно-нестандартное, запутаетесь, будете писать сложные запросы, другие спецы не разберутся.
Не жалейте таблиц, больше таблиц - выше скорость, проще запросы, понятнее модель данных.
30 янв 19, 10:23    [21797501]     Ответить | Цитировать Сообщить модератору
 Re: Связь с таблицей Filetable.  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31328
alexeyvg
jeanssp
Дело в том , что по идее таблица articul_images вовсе не нужна, если было бы можно добавить в таблицу images столбец articul_id.
Но добавить в таблицу images столбец articul_id нельзя, поэтому таблица articul_images нужна.
30 янв 19, 10:24    [21797502]     Ответить | Цитировать Сообщить модератору
 Re: Связь с таблицей Filetable.  [new]
jeanssp
Member

Откуда:
Сообщений: 147
aleks222
jeanssp
пропущено...

Вотвотвот!! Можно по подробнее пожалуйста???


Чего тут нипонятного?

Структуру папок на диске видал?
Дык в FileTable также. Хотя выглядит и не совсем так...

Делаешь папку для артикула - складываешь туды картинки.

. То есть как я понял связь нужно делать один к одному, а потом каким то способом вытаскивать из таблицы images(filetable) картинки, соответствующие папке. Правильно?
30 янв 19, 11:50    [21797606]     Ответить | Цитировать Сообщить модератору
 Re: Связь с таблицей Filetable.  [new]
KRS544
Member

Откуда:
Сообщений: 497
parent_path_locator

К сообщению приложен файл. Размер - 6Kb
30 янв 19, 13:09    [21797714]     Ответить | Цитировать Сообщить модератору
 Re: Связь с таблицей Filetable.  [new]
aleks222
Member

Откуда:
Сообщений: 919
jeanssp
aleks222
пропущено...


Чего тут нипонятного?

Структуру папок на диске видал?
Дык в FileTable также. Хотя выглядит и не совсем так...

Делаешь папку для артикула - складываешь туды картинки.

. То есть как я понял связь нужно делать один к одному, а потом каким то способом вытаскивать из таблицы images(filetable) картинки, соответствующие папке. Правильно?


Включи не транзакционный доступ к filetables - из explorer.exe насоздавай пару папок, сунь туды пару картинок и посмотри, как это выглядит в табличке.

Сильно-развесистое дерево папок тебе не нужно. Обойдешься одним уровнем.
30 янв 19, 14:02    [21797765]     Ответить | Цитировать Сообщить модератору
 Re: Связь с таблицей Filetable.  [new]
aleks222
Member

Откуда:
Сообщений: 919
Нетранзакционный доступ - папки

К сообщению приложен файл. Размер - 123Kb
30 янв 19, 14:15    [21797786]     Ответить | Цитировать Сообщить модератору
 Re: Связь с таблицей Filetable.  [new]
aleks222
Member

Откуда:
Сообщений: 919
Содержимое папки

К сообщению приложен файл. Размер - 147Kb
30 янв 19, 14:17    [21797790]     Ответить | Цитировать Сообщить модератору
 Re: Связь с таблицей Filetable.  [new]
aleks222
Member

Откуда:
Сообщений: 919
Таблица

К сообщению приложен файл. Размер - 133Kb
30 янв 19, 14:20    [21797793]     Ответить | Цитировать Сообщить модератору
 Re: Связь с таблицей Filetable.  [new]
jeanssp
Member

Откуда:
Сообщений: 147
aleks222, Спасибо!

я понял, parent_path_locator совпадает для файлов лежащих в одной папке.
30 янв 19, 19:42    [21798222]     Ответить | Цитировать Сообщить модератору
 Re: Связь с таблицей Filetable.  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31328
jeanssp
я понял, parent_path_locator совпадает для файлов лежащих в одной папке.
Это ссылка на строку таблицы filetable, которая отображает папку, где лежат эти файлы.
31 янв 19, 12:41    [21798669]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить