<html>
  <head>
    <meta content="text/html; charset=koi8-r" http-equiv="Content-Type">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <div class="moz-cite-prefix">Друг рассказывал. Также рассказал, что
      там нет системы транзакций. Я посчитал, что в моём случае это
      станет критичным.<br>
      <br>
      21.01.2015 08:53, Eugene Horohorin пишет:<br>
    </div>
    <blockquote
cite="mid:CACsY37g+Ckvevsx6jFXXTNuUPZe5i5toBKzTijJ73BXgyLnUbw@mail.gmail.com"
      type="cite">
      <pre wrap="">про no-SQL знаешь?

2015-01-20 20:12 GMT+03:00 Dmitry Agafonov <a class="moz-txt-link-rfc2396E" href="mailto:agafonovdmitry@gmail.com">&lt;agafonovdmitry@gmail.com&gt;</a>:

</pre>
      <blockquote type="cite">
        <pre wrap="">Лично я бы рекомендовал не думать на уровне SQL, а думать на уровне
пользовательского интерфейса своей системы.
Обычно его делают на неких фреймворках, где есть связки с базой и часто в
составе есть (можно подобрать) ORM для отображения база данных &lt;=&gt;
программные объекты.
Исходить надо из того, какая структура нужна/генерируется для этого ORM.

В противном случае можно получить "ну не сложно же было сделать" нечто,
что будет очень сложно дебажить, расширять и дорабатывать.

Также сразу надо иметь в виду возможные (вероятность 100% по опыту ;) )
миграции структуры базы и данных. В некоторых ORM оно есть в каком-то виде.


20 января 2015 г., 18:18 пользователь NIR <a class="moz-txt-link-rfc2396E" href="mailto:faust@gmx.com">&lt;faust@gmx.com&gt;</a> написал:

</pre>
        <blockquote type="cite">
          <pre wrap=""> Всем привет.

С невеликим успехом пытаюсь писать 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.: Могу попробовать нарисовать диаграмму того, что хочу получить.

--
С уважением, Игорь Чудов
Энгельсский Инструментальный Завод "ЭИЗ"
Сайт: <a class="moz-txt-link-freetext" href="http://nir.org.ru/">http://nir.org.ru/</a>
Телефон: +7 937 266-51-34


_______________________________________________
Sarlug mailing list
<a class="moz-txt-link-abbreviated" href="mailto:Sarlug@lists.lug.ru">Sarlug@lists.lug.ru</a>
<a class="moz-txt-link-freetext" href="https://lists.lug.ru/mailman/listinfo/sarlug">https://lists.lug.ru/mailman/listinfo/sarlug</a>

</pre>
        </blockquote>
        <pre wrap="">


--
Dmitry Agafonov ~ <a class="moz-txt-link-freetext" href="http://agafonov.pp.ru/">http://agafonov.pp.ru/</a>

_______________________________________________
Sarlug mailing list
<a class="moz-txt-link-abbreviated" href="mailto:Sarlug@lists.lug.ru">Sarlug@lists.lug.ru</a>
<a class="moz-txt-link-freetext" href="https://lists.lug.ru/mailman/listinfo/sarlug">https://lists.lug.ru/mailman/listinfo/sarlug</a>

</pre>
      </blockquote>
      <pre wrap="">


</pre>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <br>
      <pre wrap="">_______________________________________________
Sarlug mailing list
<a class="moz-txt-link-abbreviated" href="mailto:Sarlug@lists.lug.ru">Sarlug@lists.lug.ru</a>
<a class="moz-txt-link-freetext" href="https://lists.lug.ru/mailman/listinfo/sarlug">https://lists.lug.ru/mailman/listinfo/sarlug</a></pre>
    </blockquote>
    <br>
    <br>
    <pre class="moz-signature" cols="72">-- 
С уважением, Игорь Чудов
Энгельсский Инструментальный Завод "ЭИЗ"
Сайт: <a class="moz-txt-link-freetext" href="http://nir.org.ru/">http://nir.org.ru/</a>
Телефон: +7 937 266-51-34</pre>
  </body>
</html>