<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"><agafonovdmitry@gmail.com></a>:
</pre>
<blockquote type="cite">
<pre wrap="">Лично я бы рекомендовал не думать на уровне SQL, а думать на уровне
пользовательского интерфейса своей системы.
Обычно его делают на неких фреймворках, где есть связки с базой и часто в
составе есть (можно подобрать) ORM для отображения база данных <=>
программные объекты.
Исходить надо из того, какая структура нужна/генерируется для этого ORM.
В противном случае можно получить "ну не сложно же было сделать" нечто,
что будет очень сложно дебажить, расширять и дорабатывать.
Также сразу надо иметь в виду возможные (вероятность 100% по опыту ;) )
миграции структуры базы и данных. В некоторых ORM оно есть в каком-то виде.
20 января 2015 г., 18:18 пользователь NIR <a class="moz-txt-link-rfc2396E" href="mailto:faust@gmx.com"><faust@gmx.com></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>