<?xml version="1.0" encoding="koi8-r"?>
<rss version="0.91">
<channel>
    <title>OpenForum RSS: Организация составных заказов.Вопрос по схеме данных</title>
    <link>https://slinkov.ru/openforum/vsluhforumID9/7503.html</link>
    <description>Допустим имеем составной заказ, который состоит из подзаказов. Например, заказываем стол, а это влечет за собой заказ дерева в цех, заказ дизайнерского решения.(пример налету придумал) Каждый из подзаказов имеет свои параметры. Вариант реализации:&lt;br&gt;  Orders&lt;br&gt;----------&lt;br&gt;id        &lt;br&gt;date      &lt;br&gt;id_client &lt;br&gt;  ...     &lt;br&gt;-----------&lt;br&gt;&lt;br&gt;  Order_components&lt;br&gt;-------------------&lt;br&gt;id_order  &lt;br&gt;id_materials_order&lt;br&gt;id_design_order   &lt;br&gt;-------------------&lt;br&gt;&lt;br&gt;Materials     &lt;br&gt;---------     &lt;br&gt;id             &lt;br&gt;material   &lt;br&gt;id_color             &lt;br&gt;---------- &lt;br&gt;&lt;br&gt;Designs&lt;br&gt;----------&lt;br&gt;id      &lt;br&gt;....          &lt;br&gt;----------&lt;br&gt;Насколько правильная данная схема данных? У меня нет опыта работы с большими нагрузками. Единственное, что меня тут смущает, это то, что если на один заказ приходится два подзаказа на материалы, то в таблице Order_components будет две записи и будут пустые поля.&lt;br&gt;Другой вариант, это в таблице Order_components хранить только id заказа и ввести поле - идентификатор типа подзаказа, но тогда как поддерживать целостн</description>

<item>
    <title>Организация составных заказов.Вопрос по схеме данных (Eye)</title>
    <link>https://slinkov.ru/openforum/vsluhforumID9/7503.html#2</link>
    <pubDate>Fri, 25 Jul 2008 05:42:36 GMT</pubDate>
    <description>&amp;gt;&#091;оверквотинг удален&#093;&lt;br&gt;&amp;gt;id_order_component &lt;br&gt;&amp;gt;field_name &lt;br&gt;&amp;gt;field_value &lt;br&gt;&amp;gt;------------------- &lt;br&gt;&amp;gt;field_value скорее всего varchar достаточный для всех возможных значений. Итого по заказу &lt;br&gt;&amp;gt;мы выбираем из Order_components нужные id_order_component и для каждого из них &lt;br&gt;&amp;gt;набор полей и значений. Также можно добавить таблицу Component_fields_desc, в которой &lt;br&gt;&amp;gt;хранить список имен полей для каждого типа компонента, это избавит нас &lt;br&gt;&amp;gt;от необходимости харкодинга и позволит добавлять новые типы компонентов редактированием базы, &lt;br&gt;&amp;gt;а не модификацией кода. &lt;br&gt;&lt;br&gt;Спасибо большой, это новый вариант для меня :)&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;</description>
</item>

<item>
    <title>Организация составных заказов.Вопрос по схеме данных (angra)</title>
    <link>https://slinkov.ru/openforum/vsluhforumID9/7503.html#1</link>
    <pubDate>Thu, 24 Jul 2008 21:12:51 GMT</pubDate>
    <description>Нельзя говорить о производительности на абстрактных примерах, так что этот момент можем сразу опустить. &lt;br&gt;Возьмем за основу второй вариант и добавим ему универсальности. Создадим таблицу &lt;br&gt;Component_fields&lt;br&gt;-------------------&lt;br&gt;id_order_component &lt;br&gt;field_name &lt;br&gt;field_value&lt;br&gt;-------------------&lt;br&gt;field_value скорее всего varchar достаточный для всех возможных значений. Итого по заказу мы выбираем из Order_components нужные id_order_component и для каждого из них набор полей и значений. Также можно добавить таблицу Component_fields_desc, в которой хранить список имен полей для каждого типа компонента, это избавит нас от необходимости харкодинга и позволит добавлять новые типы компонентов редактированием базы, а не модификацией кода. &lt;br&gt;&lt;br&gt;Слишком много джойнов чаще всего плохо сказываются на производительности, однако есть различные методы борьбы с этим, например кешированием во временных таблицах.&lt;br&gt;</description>
</item>

</channel>
</rss>
