[Sarlug] PostgreSQL: списки ссылок на поле другой таблицы

Eugene Horohorin eugene на horohorin.com
Ср Янв 21 07:53:04 MSK 2015


про no-SQL знаешь?

2015-01-20 20:12 GMT+03:00 Dmitry Agafonov <agafonovdmitry на gmail.com>:

> Лично я бы рекомендовал не думать на уровне SQL, а думать на уровне
> пользовательского интерфейса своей системы.
> Обычно его делают на неких фреймворках, где есть связки с базой и часто в
> составе есть (можно подобрать) ORM для отображения база данных <=>
> программные объекты.
> Исходить надо из того, какая структура нужна/генерируется для этого ORM.
>
> В противном случае можно получить "ну не сложно же было сделать" нечто,
> что будет очень сложно дебажить, расширять и дорабатывать.
>
> Также сразу надо иметь в виду возможные (вероятность 100% по опыту ;) )
> миграции структуры базы и данных. В некоторых ORM оно есть в каком-то виде.
>
>
> 20 января 2015 г., 18:18 пользователь NIR <faust на gmx.com> написал:
>
>>  Всем привет.
>>
>> С невеликим успехом пытаюсь писать ERP-PLM-PDM систему для завода.
>> Поставил PostgreSQL и начал думать над структурой БД.
>>
>> Дано:
>> - Список документов. Для простоты представим, что в системе все документы
>> представлены таблицей document с полями id (primary key), uri и name.
>>
>> - Список элементов, представленный таблицей elements с полями id (primary
>> key), name и documents[]. Это может быть какая-то деталь, например,
>> кронштейн. К данной детали необходимо привязать список документов (чертёж,
>> спецификация, стандарт на крутящие моменты, качество ЛКП и прочего). Я
>> пытаюсь сделать это через хранение массива documents[] типа bigint с id
>> документов. Планирую разворачивать этот список в программе в имена
>> документов.
>>
>> - Структура элементов, представляющая собой таблицу mbom с полями id
>> (primary key) и structure. Поле structure имеет тип ltree (используется
>> модуль ltree из PostgreSQL) и в качестве элементов дерева используются id
>> таблицы elements. Эти id также планирую разворачивать в программе в
>> имена(дерево) элементов, образующие крупные узлы продукции (локомотив).
>>
>> Вопрос:
>> Основной вопрос формулируется как: А правильно ли я вообще это сделал?
>> Может, есть способ получше?
>> 1) Можно ли SQL запросом обратиться к массиву documents[] таблицы
>> elements и по указанным там номерам раскрыть список документов? Не хочу
>> писать логику разбора массива в программе.
>> 2) Можно ли обратиться к полю structure таблицы mbom и по номерам ракрыть
>> список соответствующих элементов? Мотивировано тем же самым нежеланием
>> писать логику в программе. Хочу просто список из таблицы elements.
>>
>> В SQL соображаю  на уровне CREATE TABLE/ INSERT INTO.
>>
>> P. S.: Для работы используется Pgtcl из собственно интерпретатора Tcl.
>> P. P. S.: Могу попробовать нарисовать диаграмму того, что хочу получить.
>>
>> --
>> С уважением, Игорь Чудов
>> Энгельсский Инструментальный Завод "ЭИЗ"
>> Сайт: http://nir.org.ru/
>> Телефон: +7 937 266-51-34
>>
>>
>> _______________________________________________
>> Sarlug mailing list
>> Sarlug на lists.lug.ru
>> https://lists.lug.ru/mailman/listinfo/sarlug
>>
>
>
>
> --
> Dmitry Agafonov ~ http://agafonov.pp.ru/
>
> _______________________________________________
> Sarlug mailing list
> Sarlug на lists.lug.ru
> https://lists.lug.ru/mailman/listinfo/sarlug
>



-- 
WBR, Eugene V. Horohorin
----------- следующая часть -----------
Вложение в формате HTML было удалено...
URL: <http://lists.lug.ru/pipermail/sarlug/attachments/20150121/cd6afba1/attachment.html>


Подробная информация о списке рассылки Sarlug