Форум программистов, компьютерный форум, киберфорум
PHP: базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
3 / 3 / 2
Регистрация: 05.01.2013
Сообщений: 264

Как лучше реализовать привязку картинок к таблицам БД

03.11.2016, 15:32. Показов 1087. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Очень долго парился с этой темой. Пришел к выводу, что нужно сделать отдельную таблицу для картинок, где будут поля типа
title, alt, src итд и parent_id, parent_table
Так как картинки могут быть привязаны к таблице комментариев, статей, постов итд, нужно указывать в parent_table соответствующую таблицу, а в parent_id айдишник конкретной записи. Но что делать, если, например, к одной записи могут быть привязаны картинки в разных блоках? Указывать еще дополнительный параметр? Как вообще решаются такие задачи с точки зрения проектирования нормальной системы, а не кривых костылей?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
03.11.2016, 15:32
Ответы с готовыми решениями:

jQuery, смена картинок, как лучше реализовать, их пути берутся из БД?
Как лучше организовать смену картинок на странице? (допустим при выборе значения селектов подгружается картинка) Я сделал так: ...

Как реализовать привязку с коэффициентом?
Есть две задачи: 1) Надо реализовать привязку с коэффициентом, т.е. Например у одного ScrollBar значение x, а у другого должно быть x*7. ...

Как реализовать привязку ComboBox к DataTable?
Здраствуйте. Реализован autocomplete combobox следующим образом OleDbDataAdapter da_auto; OleDbConnection connection =...

3
471 / 399 / 169
Регистрация: 04.01.2013
Сообщений: 1,675
03.11.2016, 15:48
Если уж решили так, то создавать дополнительные таблицы связей постов, статей и т.д. с изображениями типа такой `images_to_posts` (`id_image`, `id_post`) и аналогично для других сущностей - соответственно parent_id, parent_table не нужен в таблице картинок
0
3 / 3 / 2
Регистрация: 05.01.2013
Сообщений: 264
03.11.2016, 16:28  [ТС]
Я еще не решил, я спрашиваю, как это грамотно сделать? Если делать кучу доп таблиц для каждого типа это какой-то бред получается. Смысл? Может тогда одну таблицу связей, состоящую из id_image и id_material и material_bd. Как бы смысл загромождать бд? А вообще лучше тогда material_db1, material_id1, material_db2, material_id2 вдруг нужно не только картинки, но и видео прикреплять.
0
930 / 846 / 190
Регистрация: 28.11.2013
Сообщений: 3,621
03.11.2016, 17:37
Если картинки редко «пересекаются», можно и без связующей таблицы обойтись, т.е. использовать только одну таблицу для картинок (медиаресурсов – добавьте поле тип ресурса, если нужно). В ряде случаев можно вообще обойтись без использования БД для управления картинками и т.п. Сделайте привязку картинки к опред. материалу по пути. Привязку картинки к доп. материалам можно делать через диалог файл-менеджера. При удалении материала автоматом удаляйте только те картинки, кот. непосредственно привязаны к данному материалу, или не удаляйте автоматом их совсем, если опасаетесь ситуации, когда при удалении основного материала могут оставаться др. материалы, использующие эти картинки. Я например всегда думаю, повторно используя картинки и т.п., не случится ли так, что основной материал будет удален прежде, чем тот, где я хочу повторно использовать картинку. Если есть хоть какие-то сомнения, то повторно загружаю/копирую нужную мне картинку.

Добавлено через 5 минут
P.S. Также можно разделяемую картинку вынести в каталог, не ассоциируемый с каким-то опред. материалом, чтобы быть уверенным, что она никуда не денется, пока вы не удалите ее вручную.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
03.11.2016, 17:37
Помогаю со студенческими работами здесь

Как можно реализовать привязку к сетке при рисовании линий
Вечер добрый! Прошу совета, как можно реализовать привязку к сетке при рисовании линий, а второе, что бы вместо линий рисовался рисунок к...

Как реализовать привязку Textbox.Text к свойству типа string в Customcontrol?
Как я делал.Я создал Customcontrol?Сначала я создал свойство зависимости и зарегистрировал его. ...

Вывод картинок через привязку данных к ListBox
Вообщем есть классы: public class Photos : ObservableCollection<Photo> { public Photos() { ...

Реализовать привязку TextBox-ов к определенным полям в таблице БД
Доброго времени суток! Подскажите, как реализовать привязку текстбоксов к каким то определнным полям в таблице базы данных? И ещё вопрос:...

Как лучше сделать преобразование бб кодов, картинок (нагрузка на сервер)
На примере форума. Пользователь может создавать и редактировать сообщения. Все хранится в БД и выводится на страницу. Разумеется, нам...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
Вывод данных через динамический список в справочнике
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Функция заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию. 2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru