<?xml version='1.0' encoding="utf-8"?>
      <rss version='2.0'>
      <channel>
      <title>Форум на Исходниках.RU</title>
      <link>https://forum.sources.ru</link>
      <description>Форум на Исходниках.RU</description>
      <generator>Форум на Исходниках.RU</generator>
  	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=401748&amp;view=findpost&amp;p=3597227</guid>
        <pubDate>Fri, 01 May 2015 08:48:46 +0000</pubDate>
        <title>Правильная связь таблиц</title>
        <link>https://forum.sources.ru/index.php?showtopic=401748&amp;view=findpost&amp;p=3597227</link>
        <description><![CDATA[Павел Калугин: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=401748&view=findpost&p=3595667'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Kitty &#064; <time class="tag-quote__quoted-time" datetime="2015-04-25T19:12:37+00:00">25.04.15, 19:12</time></span><div class='quote '>По поводу схемы, я просто рисую на бумаге связи, мне надо приложить скан своего листочка? :)</div></div><br>
Именно&#33; И никаких скриптов пока на этих листочках не будет все гладко и стройно.  ;) <br>
<br>
<span class="tag-color tag-color-named" data-value="mergepost" style="color: mergepost"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2015-05-01T12:03:04+03:00">01.05.15, 09:03</time></span></span><br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=401748&view=findpost&p=3595904'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Kitty &#064; <time class="tag-quote__quoted-time" datetime="2015-04-27T09:06:53+00:00">27.04.15, 09:06</time></span><div class='quote '>Я не игнорирую. Буду добавлять. Просто хотелось услышать критику по поводу того, что самостоятельно сделала и насколько это неэффективно.</div></div><br>
Игнорируете. И критиковать то нечего ибо нет основы. <br>
Если не знаете с чего начать надо начинать по учебнику<br>
1. Перечислить ВСЕ термины<br>
2. Определить что есть сущности, что есть связи и что есть атрибуты связей<br>
3. нарисовать ЕR модель<br>
4. &quot;Окончательно&quot; определить атрибутику всех сущностей и связей.<br>
5. Провести нормализацию<br>
6. Сформулировать основные запросы и проверить что в полученной структуре &quot;ответ&quot; будет получен легко и ненавязчиво<br>
7. Изучить предметную область и подумать что еще завтра захочет пользователь<br>
8. по результатам 6 и 7 вернутся и повторить 1-5<br>
9. Выбор СУБД<br>
10. Написание скриптов<br>
<br>
Вы же сразу кодируете. Это основная ошибка в проектировании БД.<br>
Если есть желание можете числу к 10 подготовить по п. 1-8 и продолжим. Ибо до тех пор у меня забота где палатку ставить и куда завтра двигать ;)]]></description>
        <author>Павел Калугин</author>
        <category>Базы данных: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=401748&amp;view=findpost&amp;p=3596607</guid>
        <pubDate>Wed, 29 Apr 2015 06:03:54 +0000</pubDate>
        <title>Правильная связь таблиц</title>
        <link>https://forum.sources.ru/index.php?showtopic=401748&amp;view=findpost&amp;p=3596607</link>
        <description><![CDATA[Bas: Спасибо за юридический ликбез, но ...... это автору не нужно, пока.]]></description>
        <author>Bas</author>
        <category>Базы данных: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=401748&amp;view=findpost&amp;p=3596384</guid>
        <pubDate>Tue, 28 Apr 2015 15:51:04 +0000</pubDate>
        <title>Правильная связь таблиц</title>
        <link>https://forum.sources.ru/index.php?showtopic=401748&amp;view=findpost&amp;p=3596384</link>
        <description><![CDATA[JoeUser: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=401748&view=findpost&p=3596381'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Akina &#064; <time class="tag-quote__quoted-time" datetime="2015-04-28T15:44:01+00:00">28.04.15, 15:44</time></span><div class='quote '>Да ладно... тебе что, незнаком термин &quot;долевая собственность&quot;?</div></div><br>
Не не не - не путай. Собственниками в долях могут быть хоть триста организаций. Владельцем именно здания - одна. Как правило под это дело тупо создается юрлицо с уставными долями тех самых собственников. На 100% гарантировать не могу сказанное, три-четыре идентичных примера было в процессе работы. <br>
<br>
Просто по логике - здание это неделимая сущность недвижимости (не путать с помещениями здания).]]></description>
        <author>JoeUser</author>
        <category>Базы данных: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=401748&amp;view=findpost&amp;p=3596381</guid>
        <pubDate>Tue, 28 Apr 2015 15:44:01 +0000</pubDate>
        <title>Правильная связь таблиц</title>
        <link>https://forum.sources.ru/index.php?showtopic=401748&amp;view=findpost&amp;p=3596381</link>
        <description><![CDATA[Akina: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=401748&view=findpost&p=3596377'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>JoeUser &#064; <time class="tag-quote__quoted-time" datetime="2015-04-28T15:34:02+00:00">28.04.15, 15:34</time></span><div class='quote '>У здания может быть только один владелец</div></div><br>
Да ладно... тебе что, незнаком термин &quot;долевая собственность&quot;? а если сюда ещё и доверительное управление приплести, совсем веселуха начнётся. Но все эти факты выпадают за пределы рассматриваемых в строящемся приложении бизнес-процессов.]]></description>
        <author>Akina</author>
        <category>Базы данных: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=401748&amp;view=findpost&amp;p=3596377</guid>
        <pubDate>Tue, 28 Apr 2015 15:34:02 +0000</pubDate>
        <title>Правильная связь таблиц</title>
        <link>https://forum.sources.ru/index.php?showtopic=401748&amp;view=findpost&amp;p=3596377</link>
        <description><![CDATA[JoeUser: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=401748&view=findpost&p=3596374'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Akina &#064; <time class="tag-quote__quoted-time" datetime="2015-04-28T15:30:36+00:00">28.04.15, 15:30</time></span><div class='quote '>Случаи, когда натуральный ключ оправдан, на самом деле достаточно редки. </div></div><br>
Согласен. Я и написал - &quot;обобщенный вариант&quot;. Просто когда у построителей тех.паспорта объекта &quot;зашкаливает&quot; - это чревато гемором у разработчика ПО. <br>
<br>
<span class="tag-color tag-color-named" data-value="mergepost" style="color: mergepost"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2015-04-28T15:40:01+00:00">28.04.15, 15:40</time></span></span><br>
По поводу зданий, комнат, датчиков ... Просто имел и имею дело с одной относительно &quot;уникальной&quot; организацией - бизнесцентром. Напишу ряд &quot;аксиом&quot;, чтобы было в памяти и на слуху...<br>
<br>
1) У здания может быть только один владелец<br>
2) Собственниками помещений в здании могут быть несколько организаций/юрлиц (выкуп)<br>
3) Помещения могут быть собственностью, могут быть арендой<br>
4) Датчики могут быть централизованными, могут быть собственностью<br>
- помещение в собственности собственника1, датчики - собственность владельца здания<br>
- помещение в собственности собственника1, датчики - собственность собственника1<br>
- помещение в аренде арендатора1, датчики - собственность владельца здания<br>
- помещение в аренде арендатора1, датчики - собственность арендатора1]]></description>
        <author>JoeUser</author>
        <category>Базы данных: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=401748&amp;view=findpost&amp;p=3596374</guid>
        <pubDate>Tue, 28 Apr 2015 15:30:36 +0000</pubDate>
        <title>Правильная связь таблиц</title>
        <link>https://forum.sources.ru/index.php?showtopic=401748&amp;view=findpost&amp;p=3596374</link>
        <description><![CDATA[Akina: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=401748&view=findpost&p=3596371'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>JoeUser &#064; <time class="tag-quote__quoted-time" datetime="2015-04-28T15:23:17+00:00">28.04.15, 15:23</time></span><div class='quote '>ИМХО, наиболее правильным будет уникальный ОГРН.</div></div><br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=401748&view=findpost&p=3596371'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>JoeUser &#064; <time class="tag-quote__quoted-time" datetime="2015-04-28T15:23:17+00:00">28.04.15, 15:23</time></span><div class='quote '>номеров комнат - наиболее обобщенный вариант - VARCHAR</div></div><br>
Использование в качестве первичного индекса строковых типов, в общем, плохая идея. Как потому, что синтетический чисельный ключ более компактен, так и потому, что уникальность строк есть величина непостоянная, зависящая от charset и collation. Разумнее именно синтетический ключ и, если необходимо, UNIQUE KEY.<br>
Случаи, когда натуральный ключ оправдан, на самом деле достаточно редки.]]></description>
        <author>Akina</author>
        <category>Базы данных: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=401748&amp;view=findpost&amp;p=3596371</guid>
        <pubDate>Tue, 28 Apr 2015 15:23:17 +0000</pubDate>
        <title>Правильная связь таблиц</title>
        <link>https://forum.sources.ru/index.php?showtopic=401748&amp;view=findpost&amp;p=3596371</link>
        <description><![CDATA[JoeUser: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=401748&view=findpost&p=3595110'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Akina &#064; <time class="tag-quote__quoted-time" datetime="2015-04-24T06:17:29+00:00">24.04.15, 06:17</time></span><div class='quote '>У нас в одном здании сидит несколько организаций, имеющих один ИНН.</div></div><br>
Могу ошибаться, но ИМХО, наиболее правильным будет уникальный <a class='tag-url' href='https://ru.wikipedia.org/wiki/%D0%9E%D1%81%D0%BD%D0%BE%D0%B2%D0%BD%D0%BE%D0%B9_%D0%B3%D0%BE%D1%81%D1%83%D0%B4%D0%B0%D1%80%D1%81%D1%82%D0%B2%D0%B5%D0%BD%D0%BD%D1%8B%D0%B9_%D1%80%D0%B5%D0%B3%D0%B8%D1%81%D1%82%D1%80%D0%B0%D1%86%D0%B8%D0%BE%D0%BD%D0%BD%D1%8B%' target='_blank'>ОГРН</a>. Организации вправе именовать свои филиалы как вздумается, но в отчетности они будут фигурировать исключительно согласно гос.регистраци.<br>
<br>
По поводу &quot;индескации&quot; номеров комнат - наиболее обобщенный вариант - VARCHAR. Многие используют &quot;поэтажную&quot; нумерацию, многие сквозную,  многие вообще могут присвоить комнате номер &quot;Щитовая №1&quot;, &quot;Склад №2&quot;. И никому ниче не докажешь.]]></description>
        <author>JoeUser</author>
        <category>Базы данных: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=401748&amp;view=findpost&amp;p=3596165</guid>
        <pubDate>Tue, 28 Apr 2015 08:30:33 +0000</pubDate>
        <title>Правильная связь таблиц</title>
        <link>https://forum.sources.ru/index.php?showtopic=401748&amp;view=findpost&amp;p=3596165</link>
        <description><![CDATA[Kitty: Понятно. Спасибо.]]></description>
        <author>Kitty</author>
        <category>Базы данных: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=401748&amp;view=findpost&amp;p=3596163</guid>
        <pubDate>Tue, 28 Apr 2015 08:27:32 +0000</pubDate>
        <title>Правильная связь таблиц</title>
        <link>https://forum.sources.ru/index.php?showtopic=401748&amp;view=findpost&amp;p=3596163</link>
        <description><![CDATA[Bas: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=401748&view=findpost&p=3596154'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Kitty &#064; <time class="tag-quote__quoted-time" datetime="2015-04-28T07:35:25+00:00">28.04.15, 07:35</time></span><div class='quote '>2. Вставляю запись в таблицу rooms. </div></div><br>
Если нет организации то и комнаты нет? :crazy: <br>
Если есть комната то и организация должна быть? :crazy: <br>
Может ли быть пустая комната, еще не занятая никем?<br>
Организация есть, но комнаты для нее нет, или она еще только желает взять комнату но площадь ее не устраивает, или цена аренды высока - как вы ее зарегистрируете ?<br>
Ответы на вопросы помогут, может быть.]]></description>
        <author>Bas</author>
        <category>Базы данных: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=401748&amp;view=findpost&amp;p=3596156</guid>
        <pubDate>Tue, 28 Apr 2015 08:06:07 +0000</pubDate>
        <title>Правильная связь таблиц</title>
        <link>https://forum.sources.ru/index.php?showtopic=401748&amp;view=findpost&amp;p=3596156</link>
        <description><![CDATA[Akina: НЕТ.<br>Заполнение таблицы комнат - совершенно отдельная самостоятельная операция, не имеющая никакого отношения к остальным процессам. И выполняемая в отдельной форме.<br>Заполнение таблицы организаций - совершенно отдельная самостоятельная операция, не имеющая никакого отношения к остальным процессам. И выполняемая в отдельной форме.<br>Установление соответствия между комнатой и организацией, которая её занимает - это тоже отдельная операция, выполняемая своей формой. Она может быть как отдельной формой, так и подчинённой формой на форме организаций. Хотя я бы рекомендовал первое.<br>Ни на какой стадии ЭТОГО процесса (создание записей комнат, создание записей организаций, установление соответствий между ними в таблице занимаемых помещений) триггеры нахрен не нужны.]]></description>
        <author>Akina</author>
        <category>Базы данных: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=401748&amp;view=findpost&amp;p=3596154</guid>
        <pubDate>Tue, 28 Apr 2015 07:35:25 +0000</pubDate>
        <title>Правильная связь таблиц</title>
        <link>https://forum.sources.ru/index.php?showtopic=401748&amp;view=findpost&amp;p=3596154</link>
        <description><![CDATA[Kitty: Добрый день.<br>Помогите еще разобраться в последовательности шагов:<br>1. Вставляю запись в таблицу organizations.<br>2. Вставляю запись в таблицу rooms. <br>В интерфейсе программы предлагаю при вставки в таблицу rooms выбрать организацию из списка. В списке организации из таблицы organizations. Если пользователь выбрал организацию то ее id serial будем использовать для таблицы связи organizations_rooms.<br>Как теперь правильно организовать вставку в таблицу связи organizations_rooms (вставить новую комнату id serial и id serial из пункта №2)?<br>Нужно придумать триггер на вставку в таблицу rooms, который вставлял бы запись в таблицу связи organizations_rooms?<br>Спасибо.]]></description>
        <author>Kitty</author>
        <category>Базы данных: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=401748&amp;view=findpost&amp;p=3595973</guid>
        <pubDate>Mon, 27 Apr 2015 12:37:33 +0000</pubDate>
        <title>Правильная связь таблиц</title>
        <link>https://forum.sources.ru/index.php?showtopic=401748&amp;view=findpost&amp;p=3595973</link>
        <description><![CDATA[Bas: <a class='tag-url' href='http://www.libma.ru/kompyutery_i_internet/bazy_dannyh_konspekt_lekcii/p10.php' target='_blank'>Лекция № 10. Нормальные формы</a><br>
<a class='tag-url' href='http://www.mstu.edu.ru/study/materials/zelenkov/ch_4_2.html' target='_blank'>4.2.Теория нормальных форм.</a>]]></description>
        <author>Bas</author>
        <category>Базы данных: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=401748&amp;view=findpost&amp;p=3595940</guid>
        <pubDate>Mon, 27 Apr 2015 10:51:01 +0000</pubDate>
        <title>Правильная связь таблиц</title>
        <link>https://forum.sources.ru/index.php?showtopic=401748&amp;view=findpost&amp;p=3595940</link>
        <description><![CDATA[Akina: Это уже ближе к истине, но всё ещё далеко от неё.<br>
У Вас всё ещё присутствуют самостоятельные сущности, под хранение которых не выделены таблицы. И соответственно нет таблиц связей.<br>
Вот пара вопросов.<br>
Как Вы полагаете, номер телефона существует сам по себе, или для его существования обязательно необходимо существование в этом мире организаций?<br>
Как вы полагаете, сущность person, являющаяся атрибутом сущности организация, и сущность person, являющаяся атрибутом сущности комната - это разные сущности? или и то, и другое есть просто экземпляры сущности Работник?<br>
<br>
<div class="tag-spoiler spoiler closed"><div class="spoiler_header" onclick="openCloseParent(this)">Скрытый текст</div><div class="body">Может, всё-таки почитаете по теме ХОТЬ ЧТО-НИБУДЬ?</div></div>]]></description>
        <author>Akina</author>
        <category>Базы данных: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=401748&amp;view=findpost&amp;p=3595930</guid>
        <pubDate>Mon, 27 Apr 2015 10:17:42 +0000</pubDate>
        <title>Правильная связь таблиц</title>
        <link>https://forum.sources.ru/index.php?showtopic=401748&amp;view=findpost&amp;p=3595930</link>
        <description><![CDATA[Kitty: Вот так вроде правильно?<br>
И мы везде ставим ON DELETE SET NULL т.к. это в таблицах связи при такой структуре это логичнее всего?<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">CREATE TABLE organizations</div><div class="code_line">(</div><div class="code_line">&nbsp;&nbsp;id serial NOT NULL,</div><div class="code_line">&nbsp;&nbsp;&quot;name&quot; text NOT NULL,</div><div class="code_line">&nbsp;&nbsp;tel1 text,</div><div class="code_line">&nbsp;&nbsp;tel2 text,</div><div class="code_line">&nbsp;&nbsp;person text,</div><div class="code_line">&nbsp;&nbsp;prim1 text,</div><div class="code_line">&nbsp;&nbsp;CONSTRAINT pk_id PRIMARY KEY (id)</div><div class="code_line">);</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;</div><div class="code_line">CREATE TABLE rooms</div><div class="code_line">(</div><div class="code_line">&nbsp;&nbsp;id serial NOT NULL,</div><div class="code_line">&nbsp;&nbsp;&quot;name&quot; text NOT NULL,</div><div class="code_line">&nbsp;&nbsp;tel text,</div><div class="code_line">&nbsp;&nbsp;person text,</div><div class="code_line">&nbsp;&nbsp;prim1 text,</div><div class="code_line">&nbsp;&nbsp;CONSTRAINT pk_id_rooms PRIMARY KEY (id)</div><div class="code_line">);</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;</div><div class="code_line">CREATE TABLE sensors</div><div class="code_line">(</div><div class="code_line">&nbsp;&nbsp;id serial NOT NULL,</div><div class="code_line">&nbsp;&nbsp;ser_num integer NOT NULL,</div><div class="code_line">&nbsp;&nbsp;poverka timestamp without time zone,</div><div class="code_line">&nbsp;&nbsp;CONSTRAINT pk_id_sensors PRIMARY KEY (id)</div><div class="code_line">);</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;</div><div class="code_line">CREATE TABLE users</div><div class="code_line">(</div><div class="code_line">&nbsp;&nbsp;id serial NOT NULL,</div><div class="code_line">&nbsp;&nbsp;permission integer, </div><div class="code_line">&nbsp;&nbsp;&quot;login&quot; text NOT NULL,</div><div class="code_line">&nbsp;&nbsp;&quot;password&quot; text NOT NULL,</div><div class="code_line">&nbsp;&nbsp;fam text NOT NULL,</div><div class="code_line">&nbsp;&nbsp;&quot;name&quot; text,</div><div class="code_line">&nbsp;&nbsp;otchestvo text,</div><div class="code_line">&nbsp;&nbsp;tel text,</div><div class="code_line">&nbsp;&nbsp;email text,</div><div class="code_line">&nbsp;&nbsp;CONSTRAINT pk_user PRIMARY KEY (id),</div><div class="code_line">&nbsp;&nbsp;CONSTRAINT unik_login UNIQUE (login)</div><div class="code_line">);</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;</div><div class="code_line">CREATE TABLE users_rooms</div><div class="code_line">(</div><div class="code_line">&nbsp;&nbsp;id serial NOT NULL,</div><div class="code_line">&nbsp;&nbsp;id_users integer,</div><div class="code_line">&nbsp;&nbsp;id_rooms integer,</div><div class="code_line">&nbsp;&nbsp;start timestamp without time zone,</div><div class="code_line">&nbsp;&nbsp;enddata timestamp without time zone,</div><div class="code_line">&nbsp;&nbsp;CONSTRAINT pk_id_users_rooms PRIMARY KEY (id),</div><div class="code_line">&nbsp;&nbsp;CONSTRAINT fk_id_users_rooms FOREIGN KEY (id_rooms)</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;REFERENCES rooms (id) MATCH SIMPLE</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;ON UPDATE NO ACTION ON DELETE SET NULL,</div><div class="code_line">&nbsp;&nbsp;CONSTRAINT fk_id_users FOREIGN KEY (id_users)</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;REFERENCES users (id) MATCH SIMPLE</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;ON UPDATE NO ACTION ON DELETE SET NULL</div><div class="code_line">);</div><div class="code_line">&nbsp;</div><div class="code_line">CREATE TABLE rooms_sensors</div><div class="code_line">(</div><div class="code_line">&nbsp;&nbsp;id serial NOT NULL,</div><div class="code_line">&nbsp;&nbsp;id_rooms integer,</div><div class="code_line">&nbsp;&nbsp;id_sensors integer, </div><div class="code_line">&nbsp;&nbsp;start timestamp without time zone,</div><div class="code_line">&nbsp;&nbsp;enddata timestamp without time zone,</div><div class="code_line">&nbsp;&nbsp;CONSTRAINT pk_id_rooms_sensors PRIMARY KEY (id),</div><div class="code_line">&nbsp;&nbsp;CONSTRAINT fk_id_rooms_sensors FOREIGN KEY (id_rooms)</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;REFERENCES rooms(id) MATCH SIMPLE</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;ON UPDATE NO ACTION ON DELETE SET NULL,</div><div class="code_line">&nbsp;&nbsp;CONSTRAINT fk_id_sensors_rooms FOREIGN KEY (id_sensors)</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;REFERENCES sensors(id) MATCH SIMPLE</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;ON UPDATE NO ACTION ON DELETE SET NULL</div><div class="code_line">);</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;</div><div class="code_line">CREATE TABLE organizations_rooms</div><div class="code_line">(</div><div class="code_line">&nbsp;&nbsp;id serial NOT NULL,</div><div class="code_line">&nbsp;&nbsp;id_organizations integer,</div><div class="code_line">&nbsp;&nbsp;id_rooms integer, </div><div class="code_line">&nbsp;&nbsp;start timestamp without time zone,</div><div class="code_line">&nbsp;&nbsp;enddata timestamp without time zone,</div><div class="code_line">&nbsp;&nbsp;CONSTRAINT pk_id_org_rooms PRIMARY KEY (id),</div><div class="code_line">&nbsp;&nbsp;CONSTRAINT fk_id_organizations FOREIGN KEY (id_organizations)</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;REFERENCES organizations (id) MATCH SIMPLE</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;ON UPDATE NO ACTION ON DELETE SET NULL,</div><div class="code_line">&nbsp;&nbsp;CONSTRAINT fk_id_rooms_organizations FOREIGN KEY (id_rooms)</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;REFERENCES rooms(id) MATCH SIMPLE</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;ON UPDATE NO ACTION ON DELETE SET NULL</div><div class="code_line">&nbsp;&nbsp; </div><div class="code_line">);</div></ol></div></div></div></div><script>preloadCodeButtons('1');</script>]]></description>
        <author>Kitty</author>
        <category>Базы данных: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=401748&amp;view=findpost&amp;p=3595914</guid>
        <pubDate>Mon, 27 Apr 2015 09:43:08 +0000</pubDate>
        <title>Правильная связь таблиц</title>
        <link>https://forum.sources.ru/index.php?showtopic=401748&amp;view=findpost&amp;p=3595914</link>
        <description><![CDATA[Akina: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=401748&view=findpost&p=3595904'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Kitty &#064; <time class="tag-quote__quoted-time" datetime="2015-04-27T09:06:53+00:00">27.04.15, 09:06</time></span><div class='quote '>хотелось услышать критику по поводу того, что самостоятельно сделала и насколько это неэффективно</div></div><br>
Посмотрите на структуру таблицы комнат. В неё Вы ввели поле идентификатора организации.<br>
А теперь подумайте - является ли организация характеристикой комнаты? Или, может, комната существует вне зависимости от какой-то конкретной организации, и даже от существования организаций в этом мире вообще? По-моему, комнате сиренево на организации. Сущность Организация не является атрибутом сущности Комната. Следовательно, полю id_organization в структуре таблицы rooms не место.<br>
Аналогично по другим полям, которые атрибутами некоей сущности на самом деле не являются, но в структуру таблиц для хранения экземпляров этой сущности за каким-то фигом включены.<br>
<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=401748&view=findpost&p=3595904'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Kitty &#064; <time class="tag-quote__quoted-time" datetime="2015-04-27T09:06:53+00:00">27.04.15, 09:06</time></span><div class='quote '>Я не игнорирую.</div></div><br>
Вы игнорируете. Но это полбеды. Вы НЕ ПОНИМАЕТЕ, что на самом деле игнорируете. А вот это уже беда.<br>
<div class="tag-spoiler spoiler closed"><div class="spoiler_header" onclick="openCloseParent(this)">то, что #SI# считает оффтопом</div><div class="body">Я в самом начале темы настоятельно рекомендовал Вам почитать теорию. По анализу преметной области - вообще обязательно. А если Вы наткнётесь на неизвестные Вам основы и термины (а Вы обязательно наткнётесь, потому как явно слабо себе представляете, что такое нормальные формы) - то и их надо бы почитать. Ну хоть немного. Иначе так и будете тыркаться, как слепой котёнок. Или пока за Вас всё кто-то не сделает.</div></div>]]></description>
        <author>Akina</author>
        <category>Базы данных: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=401748&amp;view=findpost&amp;p=3595904</guid>
        <pubDate>Mon, 27 Apr 2015 09:06:53 +0000</pubDate>
        <title>Правильная связь таблиц</title>
        <link>https://forum.sources.ru/index.php?showtopic=401748&amp;view=findpost&amp;p=3595904</link>
        <description><![CDATA[Kitty: <div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '>Вы напрасно проигнорировали то, что ранее сказал Павел Калугин.</div></div><br>
<br>
<br>
Я не игнорирую. Буду добавлять. Просто хотелось услышать критику по поводу того, что самостоятельно сделала и насколько это неэффективно. Когда понятны ошибки в том, что сделано самостоятельно - легче дальше двигаться.  :rolleyes: <br>
Спасибо за объяснения.]]></description>
        <author>Kitty</author>
        <category>Базы данных: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=401748&amp;view=findpost&amp;p=3595900</guid>
        <pubDate>Mon, 27 Apr 2015 08:35:16 +0000</pubDate>
        <title>Правильная связь таблиц</title>
        <link>https://forum.sources.ru/index.php?showtopic=401748&amp;view=findpost&amp;p=3595900</link>
        <description><![CDATA[Akina: Вы напрасно проигнорировали то, что ранее <a class='tag-url' href='http://forum.sources.ru/index.php?showtopic=401748&view=findpost&p=3594988' target='_blank'>сказал</a> <strong class='tag-b'>Павел Калугин</strong>.<br>
<br>
Организации, комнаты, датчики и пользователи - это самостоятельные сущности. Да ещё и формально неуничтожимые - с ними выполняются только операции добавления и изменения, но не удаления (нет, удалять-то можно, но смысл?). И отдельно существуют таблицы, устанавливающие связи между сущностями (организация-комната, комната-датчик, комната-пользователь) - вот тут возможен весь пакет операций, и только из этих связующих таблиц будут внешние ключи на таблицы сущностей. А Вы зачем-то опять связываете одни сущности с другими.<br>
<br>
Если организация съехала - это означает, что в таблице связей (организация-комната) не останется ни одной ссылки на эту организацию, все комнаты будут либо переписаны на другие организации, либо станут свободными (NULL в поле ИД организации).<br>
Если датчик демонтирован - аналогично в таблице связей (комната-датчик) на этот датчик больше не будет ссылок.]]></description>
        <author>Akina</author>
        <category>Базы данных: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=401748&amp;view=findpost&amp;p=3595895</guid>
        <pubDate>Mon, 27 Apr 2015 08:15:34 +0000</pubDate>
        <title>Правильная связь таблиц</title>
        <link>https://forum.sources.ru/index.php?showtopic=401748&amp;view=findpost&amp;p=3595895</link>
        <description><![CDATA[Kitty: Можно ли обойтись без некоторых таблиц связи, при наличии таких вторичных ключей?<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">-- таблица организаций</div><div class="code_line">CREATE TABLE organizations</div><div class="code_line">(</div><div class="code_line">&nbsp;&nbsp;id serial NOT NULL,</div><div class="code_line">&nbsp;&nbsp;&quot;name&quot; text,</div><div class="code_line">&nbsp;&nbsp;tel1 text,</div><div class="code_line">&nbsp;&nbsp;tel2 text,</div><div class="code_line">&nbsp;&nbsp;person text, -- контактное лицо организации</div><div class="code_line">&nbsp;&nbsp;prim1 text,</div><div class="code_line">&nbsp;&nbsp;CONSTRAINT pk_id PRIMARY KEY (id)</div><div class="code_line">)</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;</div><div class="code_line">-- таблица помещений</div><div class="code_line">-- вторичный ключ для связи помещения-организация</div><div class="code_line">CREATE TABLE rooms</div><div class="code_line">(</div><div class="code_line">&nbsp;&nbsp;id serial NOT NULL,</div><div class="code_line">&nbsp;&nbsp;&quot;name&quot; text,</div><div class="code_line">&nbsp;&nbsp;id_organization integer,</div><div class="code_line">&nbsp;&nbsp;tel text,</div><div class="code_line">&nbsp;&nbsp;person text, -- контактное лицо в помещении</div><div class="code_line">&nbsp;&nbsp;prim1 text,</div><div class="code_line">&nbsp;&nbsp;CONSTRAINT pk_id_rooms PRIMARY KEY (id),</div><div class="code_line">&nbsp;&nbsp;CONSTRAINT fk_id_org FOREIGN KEY (id_organization)</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;REFERENCES organizations (id) MATCH SIMPLE</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;ON UPDATE NO ACTION ON DELETE SET NULL</div><div class="code_line">)</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;</div><div class="code_line">-- таблица датчиков</div><div class="code_line">-- вторичный ключ для связи датчики-помещения</div><div class="code_line">CREATE TABLE sensors</div><div class="code_line">(</div><div class="code_line">&nbsp;&nbsp;id serial NOT NULL,</div><div class="code_line">&nbsp;&nbsp;ser_num integer, -- серийный номер</div><div class="code_line">&nbsp;&nbsp;id_room integer,</div><div class="code_line">&nbsp;&nbsp;poverka timestamp without time zone, --дата поверки датчика</div><div class="code_line">&nbsp;&nbsp;CONSTRAINT pk_id_sensors PRIMARY KEY (id),</div><div class="code_line">&nbsp;&nbsp;CONSTRAINT fk_to_rooms FOREIGN KEY (id_room)</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;REFERENCES rooms (id) MATCH SIMPLE</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;ON UPDATE NO ACTION ON DELETE CASCADE</div><div class="code_line">)</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;</div><div class="code_line">-- таблица пользователей</div><div class="code_line">-- вторичный ключ для организаций</div><div class="code_line">CREATE TABLE users</div><div class="code_line">(</div><div class="code_line">&nbsp;&nbsp;id serial NOT NULL,</div><div class="code_line">&nbsp;&nbsp;permission integer,-- доступ: 0-супервизор, 1-администратор, 2-пользователь</div><div class="code_line">&nbsp;&nbsp;&quot;login&quot; text NOT NULL,-- логин уникален</div><div class="code_line">&nbsp;&nbsp;&quot;password&quot; text NOT NULL,</div><div class="code_line">&nbsp;&nbsp;fam text NOT NULL,</div><div class="code_line">&nbsp;&nbsp;&quot;name&quot; text,</div><div class="code_line">&nbsp;&nbsp;otchestvo text,</div><div class="code_line">&nbsp;&nbsp;tel text,</div><div class="code_line">&nbsp;&nbsp;email text,</div><div class="code_line">&nbsp;&nbsp;id_organization integer,</div><div class="code_line">&nbsp;&nbsp;CONSTRAINT pk_user PRIMARY KEY (id),</div><div class="code_line">&nbsp;&nbsp;CONSTRAINT fk_to_org FOREIGN KEY (id_organization)</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;REFERENCES organizations (id) MATCH SIMPLE</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;ON UPDATE NO ACTION ON DELETE CASCADE,</div><div class="code_line">&nbsp;&nbsp;CONSTRAINT unik_login UNIQUE (login)</div><div class="code_line">)</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;</div><div class="code_line">-- таблица связи</div><div class="code_line">-- вторичные ключи для установки какие помещения будут закреплены за пользователем</div><div class="code_line">CREATE TABLE users_rooms</div><div class="code_line">(</div><div class="code_line">&nbsp;&nbsp;id serial NOT NULL,</div><div class="code_line">&nbsp;&nbsp;id_users integer,</div><div class="code_line">&nbsp;&nbsp;id_rooms integer,</div><div class="code_line">&nbsp;&nbsp;CONSTRAINT pk_id_users_rooms PRIMARY KEY (id),</div><div class="code_line">&nbsp;&nbsp;CONSTRAINT fk_id_rooms FOREIGN KEY (id_rooms)</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;REFERENCES rooms (id) MATCH SIMPLE</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;ON UPDATE NO ACTION ON DELETE CASCADE,</div><div class="code_line">&nbsp;&nbsp;CONSTRAINT fk_id_users FOREIGN KEY (id_users)</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;REFERENCES users (id) MATCH SIMPLE</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;ON UPDATE NO ACTION ON DELETE CASCADE</div><div class="code_line">)</div></ol></div></div></div></div><br>
Спасибо.]]></description>
        <author>Kitty</author>
        <category>Базы данных: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=401748&amp;view=findpost&amp;p=3595867</guid>
        <pubDate>Mon, 27 Apr 2015 05:39:16 +0000</pubDate>
        <title>Правильная связь таблиц</title>
        <link>https://forum.sources.ru/index.php?showtopic=401748&amp;view=findpost&amp;p=3595867</link>
        <description><![CDATA[Bas: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=401748&view=findpost&p=3595697'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Akina &#064; <time class="tag-quote__quoted-time" datetime="2015-04-25T20:05:37+00:00">25.04.15, 20:05</time></span><div class='quote '>Если нет - либо меняйте СУБД, либо требования. </div></div><br>
Можно ограничить на уровне интерфейса.]]></description>
        <author>Bas</author>
        <category>Базы данных: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=401748&amp;view=findpost&amp;p=3595866</guid>
        <pubDate>Mon, 27 Apr 2015 05:11:16 +0000</pubDate>
        <title>Правильная связь таблиц</title>
        <link>https://forum.sources.ru/index.php?showtopic=401748&amp;view=findpost&amp;p=3595866</link>
        <description><![CDATA[#SI#: У неё движок выбран.<br>ЗЫ - флудить не надоело?]]></description>
        <author>#SI#</author>
        <category>Базы данных: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=401748&amp;view=findpost&amp;p=3595697</guid>
        <pubDate>Sat, 25 Apr 2015 20:05:37 +0000</pubDate>
        <title>Правильная связь таблиц</title>
        <link>https://forum.sources.ru/index.php?showtopic=401748&amp;view=findpost&amp;p=3595697</link>
        <description><![CDATA[Akina: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=401748&view=findpost&p=3595667'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Kitty &#064; <time class="tag-quote__quoted-time" datetime="2015-04-25T19:12:37+00:00">25.04.15, 19:12</time></span><div class='quote '>Меня сейчас интересуют именно правильные связи на первом этапе.</div></div><br>
<a class='tag-url' href='http://forum.sources.ru/index.php?showtopic=401748&view=findpost&p=3594988' target='_blank'>Правильная связь таблиц (сообщение #3594988)</a><br>
<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=401748&view=findpost&p=3595667'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Kitty &#064; <time class="tag-quote__quoted-time" datetime="2015-04-25T19:12:37+00:00">25.04.15, 19:12</time></span><div class='quote '>Необходимо к системе описанной в первом посте добавить таблицу пользователей.</div></div><br>
Читайте, умеет ли постгресс ограничивать права на уровне отдельной записи таблицы. А чёта я за ним такого навскидку не припоминаю (разве что косвенно?). Если нет - либо меняйте СУБД, либо требования. <br>
<br>
<span class="tag-color tag-color-named" data-value="mergepost" style="color: mergepost"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2015-04-25T20:06:56+00:00">25.04.15, 20:06</time></span></span><br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=401748&view=findpost&p=3595495'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>#SI# &#064; <time class="tag-quote__quoted-time" datetime="2015-04-25T09:37:56+00:00">25.04.15, 09:37</time></span><div class='quote '>Тебе же написали - доступ к ЧУЖОЙ базе. А тут надо СВОЮ проектировать. </div></div><br>
Алё, очкнись&#33; про базу ещё даже речи не шло, а у неё уже СУБД выбрана...]]></description>
        <author>Akina</author>
        <category>Базы данных: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=401748&amp;view=findpost&amp;p=3595667</guid>
        <pubDate>Sat, 25 Apr 2015 19:12:37 +0000</pubDate>
        <title>Правильная связь таблиц</title>
        <link>https://forum.sources.ru/index.php?showtopic=401748&amp;view=findpost&amp;p=3595667</link>
        <description><![CDATA[Kitty: По поводу схемы, я просто рисую на бумаге связи, мне надо приложить скан своего листочка? :) <br>
Я постараюсь выложит свои новые скрипты таблиц, завтра в этой теме. Почему завтра, потому, что задача имеет доп. условие. Об этом условии в первом посте не писала т.к. думала и так все выглядит достаточно сложно. Думала решать на форуме в два этапа. Полностью же задача выглядит так:<br>
Необходимо к системе описанной в первом посте добавить таблицу пользователей. Таблица пользователей состоит из трех видов пользователей:<br>
1. Супервизор.<br>
2. Администратор.<br>
3. Пользователь.<br>
Все они имеют логин, пароль, имя, фамилию и т.д. Логин уникален.<br>
<strong class='tag-b'>Супервизор</strong> может делать все в базе данных. Создавать супервизоров, администраторов, пользователей, назначать администратору его организацию, создавать организации... Короче супервизор может делать все.<br>
<strong class='tag-b'>Администратор</strong> может делать все, <strong class='tag-b'>только в рамках</strong> назначенной ему супервизором организации (например, создавать удалять помещения его конкретной организации, назначать пользователей и те помещения организации которые может видеть этот пользователь).<br>
<strong class='tag-b'>Пользователь</strong> организации не может ничего в базе данных. Он может просматривать только помещения организации которые ему назначил администратор организации. Как пример - у организации 10 помещений и два пользователя. Одному пользователю администратор разрешил просматривать все 10 помещений, а второму пользователю, администратор разрешил просматривать только три конкретных помещения. Просматривать это значить иметь доступ к датчикам в этих помещениях.<br>
Свои таблицы с <strong class='tag-b'>минимальным</strong> кол-вом столбцов и необходимыми связями я постараюсь выложить завтра. Меня сейчас интересуют именно <strong class='tag-b'>правильные связи</strong> на первом этапе.<br>
Думаю, будет много ошибок.  :)]]></description>
        <author>Kitty</author>
        <category>Базы данных: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=401748&amp;view=findpost&amp;p=3595495</guid>
        <pubDate>Sat, 25 Apr 2015 09:37:56 +0000</pubDate>
        <title>Правильная связь таблиц</title>
        <link>https://forum.sources.ru/index.php?showtopic=401748&amp;view=findpost&amp;p=3595495</link>
        <description><![CDATA[#SI#: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=401748&view=findpost&p=3595306'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Akina &#064; <time class="tag-quote__quoted-time" datetime="2015-04-24T14:24:17+00:00">24.04.15, 14:24</time></span><div class='quote '>И много там у ораклистов нерадивых студентов? </div></div>Да не студентка она&#33;<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=401748&view=findpost&p=3595306'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Akina &#064; <time class="tag-quote__quoted-time" datetime="2015-04-24T14:24:17+00:00">24.04.15, 14:24</time></span><div class='quote '> Но когда аналогично озвучивается постгресс/файрбёрд/мускул/мсде, сомнения у меня просто-таки чешутся</div></div>Тебе же написали - доступ к ЧУЖОЙ базе. А тут надо СВОЮ проектировать. <br>
<br>
<span class="tag-color tag-color-named" data-value="mergepost" style="color: mergepost"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2015-04-25T09:38:16+00:00">25.04.15, 09:38</time></span></span><br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=401748&view=findpost&p=3595444'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Павел Калугин &#064; <time class="tag-quote__quoted-time" datetime="2015-04-25T04:36:16+00:00">25.04.15, 04:36</time></span><div class='quote '>Kitty где схема, которую будем обсуждать? </div></div>+&#33;]]></description>
        <author>#SI#</author>
        <category>Базы данных: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=401748&amp;view=findpost&amp;p=3595444</guid>
        <pubDate>Sat, 25 Apr 2015 04:36:16 +0000</pubDate>
        <title>Правильная связь таблиц</title>
        <link>https://forum.sources.ru/index.php?showtopic=401748&amp;view=findpost&amp;p=3595444</link>
        <description><![CDATA[Павел Калугин: <strong class='tag-b'>Kitty</strong> где схема, которую будем обсуждать?]]></description>
        <author>Павел Калугин</author>
        <category>Базы данных: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=401748&amp;view=findpost&amp;p=3595306</guid>
        <pubDate>Fri, 24 Apr 2015 14:24:17 +0000</pubDate>
        <title>Правильная связь таблиц</title>
        <link>https://forum.sources.ru/index.php?showtopic=401748&amp;view=findpost&amp;p=3595306</link>
        <description><![CDATA[Akina: <div class="tag-spoiler spoiler closed"><div class="spoiler_header" onclick="openCloseParent(this)">2 #SI#</div><div class="body">И много там у ораклистов нерадивых студентов? да полтора в год от силы, включая тех, кто решил на работе до кучи его освоить, ибо под рукой есть, грех не воспользоваться. И ещё полтора - начинающие. Кстати, даже среди таких - большинство не скажет &quot;не нужна мне теория, мне сделать и забыть&quot;.<br>
<br>
Плюс ещё одно. Я понимаю, когда в теме сходу заявляется &quot;СУБД - Оракл, без вариантов&quot; - это означает, что Оракл уже имеется физически, и всё по-взрослому. Но когда аналогично озвучивается постгресс/файрбёрд/мускул/мсде, сомнения у меня просто-таки чешутся... как человек, который в базах данных ну вообще ни ухо ни рыло, сделал такой уверенный выбор? да элементарно - в 99% случаев это выбор преподавателя (и зачастую потому, что с другими диалектами у того явные проблемы).</div></div>]]></description>
        <author>Akina</author>
        <category>Базы данных: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=401748&amp;view=findpost&amp;p=3595246</guid>
        <pubDate>Fri, 24 Apr 2015 11:36:04 +0000</pubDate>
        <title>Правильная связь таблиц</title>
        <link>https://forum.sources.ru/index.php?showtopic=401748&amp;view=findpost&amp;p=3595246</link>
        <description><![CDATA[#SI#: <div class="tag-spoiler spoiler closed"><div class="spoiler_header" onclick="openCloseParent(this)">Скрытый текст</div><div class="body">Бабы&#33; Заткни уши&#33;&#33;&#33; ............................................. © к/ф Председатель</div></div><br>
Ещё раз повторяю - сам попал в такую же ситуацию полтора года назад. Разница с этим разделом в том, что ораклоиды на форуме - люди спокойные и вежливые.<br>
---<br>
А ещё иногда элементарно не хватает времени...<br>
<div class="tag-spoiler spoiler closed"><div class="spoiler_header" onclick="openCloseParent(this)">Скрытый текст</div><div class="body"><a class='tag-url' href='http://www.youtube.com/watch?v=jBDF04fQKtQ' target='_blank'>http://www.youtube.com/watch?v=jBDF04fQKtQ</a></div></div>]]></description>
        <author>#SI#</author>
        <category>Базы данных: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=401748&amp;view=findpost&amp;p=3595243</guid>
        <pubDate>Fri, 24 Apr 2015 11:29:36 +0000</pubDate>
        <title>Правильная связь таблиц</title>
        <link>https://forum.sources.ru/index.php?showtopic=401748&amp;view=findpost&amp;p=3595243</link>
        <description><![CDATA[Kitty: <div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '>Kitty,в одном помещении могут находиться много фирм? </div></div><br>
<br>
Одна.<br>
<br>
<div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '>то там нехрен делать вообще&#33;</div></div><br>
<br>
Поэтому надеялась на помощь. Знала, что для гуру это 5-ть минут.<br>
<br>
<div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '>мы создадим тему, подначим пару знающих, и нам всё сделают без всяких там наук и теорий...</div></div><br>
<br>
Да, тему создавала для знающих людей. Нарушила правила, удалите Вы эту тему и всех делов.]]></description>
        <author>Kitty</author>
        <category>Базы данных: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=401748&amp;view=findpost&amp;p=3595229</guid>
        <pubDate>Fri, 24 Apr 2015 10:56:18 +0000</pubDate>
        <title>Правильная связь таблиц</title>
        <link>https://forum.sources.ru/index.php?showtopic=401748&amp;view=findpost&amp;p=3595229</link>
        <description><![CDATA[Павел Калугин: <strong class='tag-b'>#SI#</strong> задача тривиальная. Решается в два притопа три прихлопа. Собственно львиная доля решения уже изложена выше.<br>
Параллельно опять поднят спор про естественные и суррогатные ключи ;)]]></description>
        <author>Павел Калугин</author>
        <category>Базы данных: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=401748&amp;view=findpost&amp;p=3595204</guid>
        <pubDate>Fri, 24 Apr 2015 10:26:50 +0000</pubDate>
        <title>Правильная связь таблиц</title>
        <link>https://forum.sources.ru/index.php?showtopic=401748&amp;view=findpost&amp;p=3595204</link>
        <description><![CDATA[Akina: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=401748&view=findpost&p=3595151'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Bas &#064; <time class="tag-quote__quoted-time" datetime="2015-04-24T08:47:40+00:00">24.04.15, 08:47</time></span><div class='quote '>Ключ может быть Наименование+ИНН , ИНН+код местности. </div></div><br>
Если в законодательном акте однозначно обусловлена уникальность некоей комбинации - да. Иначе - нет, синтетический ключ и, если прёт, требование уникальности. <br>
<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=401748&view=findpost&p=3595182'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>#SI# &#064; <time class="tag-quote__quoted-time" datetime="2015-04-24T09:48:33+00:00">24.04.15, 09:48</time></span><div class='quote '>судя по вашим вопросам, задачка таки совсем непростая...</div></div><br>
Если делать через опу - конечно, непростая&#33; А если по науке - то там нехрен делать вообще&#33; Но мы ж птицы гордые, теорий изучать не желаем и анализ проводить не будем, а поскольку высасывание структуры из пальца не сработало - мы создадим тему, подначим пару знающих, и нам всё сделают без всяких там наук и теорий...]]></description>
        <author>Akina</author>
        <category>Базы данных: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=401748&amp;view=findpost&amp;p=3595182</guid>
        <pubDate>Fri, 24 Apr 2015 09:48:33 +0000</pubDate>
        <title>Правильная связь таблиц</title>
        <link>https://forum.sources.ru/index.php?showtopic=401748&amp;view=findpost&amp;p=3595182</link>
        <description><![CDATA[#SI#: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=401748&view=findpost&p=3595124'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Павел Калугин &#064; <time class="tag-quote__quoted-time" datetime="2015-04-24T07:08:20+00:00">24.04.15, 07:08</time></span><div class='quote '>#SI#, ну так убеди Леночку не с шашкой наперевес create table махать сразу, а на бамаське порисовать структурки</div></div><br>
Она ж честно написала:<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=401748&view=findpost&p=3594977'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Kitty &#064; <time class="tag-quote__quoted-time" datetime="2015-04-23T13:58:47+00:00">23.04.15, 13:58</time></span><div class='quote '>&quot;родить&quot; структуру БД трудно, мучительно трудно</div></div><br>
Господа, судя по вашим вопросам, задачка таки совсем непростая...]]></description>
        <author>#SI#</author>
        <category>Базы данных: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=401748&amp;view=findpost&amp;p=3595151</guid>
        <pubDate>Fri, 24 Apr 2015 08:47:40 +0000</pubDate>
        <title>Правильная связь таблиц</title>
        <link>https://forum.sources.ru/index.php?showtopic=401748&amp;view=findpost&amp;p=3595151</link>
        <description><![CDATA[Bas: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=401748&view=findpost&p=3595110'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Akina &#064; <time class="tag-quote__quoted-time" datetime="2015-04-24T06:17:29+00:00">24.04.15, 06:17</time></span><div class='quote '>У вас - это в какой стране?</div></div><br>
Молдова.<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=401748&view=findpost&p=3595124'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Павел Калугин &#064; <time class="tag-quote__quoted-time" datetime="2015-04-24T07:08:20+00:00">24.04.15, 07:08</time></span><div class='quote '>Ну и про &quot;филиалы&quot; под одним ИНН Akina верно пишет</div></div><br>
Филиалы имеют ИНН как и у головного, но названия разные и имеют код местности (присвоенный налоговой, у головного это 000).<br>
Расчеты ведут через РЦ головного офиса. <br>
Ключ может быть Наименование+ИНН , ИНН+код местности. <br>
<br>
<span class="tag-color tag-color-named" data-value="mergepost" style="color: mergepost"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2015-04-24T08:56:32+00:00">24.04.15, 08:56</time></span></span><br>
<strong class='tag-b'>Kitty</strong>,в одном помещении могут находиться много фирм? Арендуют по два квадратных метра, чтобы стол поставить.]]></description>
        <author>Bas</author>
        <category>Базы данных: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=401748&amp;view=findpost&amp;p=3595124</guid>
        <pubDate>Fri, 24 Apr 2015 07:08:20 +0000</pubDate>
        <title>Правильная связь таблиц</title>
        <link>https://forum.sources.ru/index.php?showtopic=401748&amp;view=findpost&amp;p=3595124</link>
        <description><![CDATA[Павел Калугин: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=401748&view=findpost&p=3595103'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Bas &#064; <time class="tag-quote__quoted-time" datetime="2015-04-24T05:58:11+00:00">24.04.15, 05:58</time></span><div class='quote '>Зависит от законодательства. У нас ,сейчас, не может быть у одной организации два INN или IDNP.</div></div><br>
Одновременно не может. А при перерегистрации или реорганизации еще как может...  ;)  А дальше от бизнеслогики зависит после перерегистрации это абсолютно новая организация или таже но с новым  ИНН<br>
Ну и про &quot;филиалы&quot; под одним ИНН <strong class='tag-b'>Akina</strong> верно пишет<br>
<br>
<strong class='tag-b'>#SI#</strong>, ну так убеди Леночку не с шашкой наперевес create table махать сразу, а на бамаське порисовать структурки. Благо задача копеешная и тетрадного листка хватит  варианта на 3-4. ;)]]></description>
        <author>Павел Калугин</author>
        <category>Базы данных: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=401748&amp;view=findpost&amp;p=3595110</guid>
        <pubDate>Fri, 24 Apr 2015 06:17:29 +0000</pubDate>
        <title>Правильная связь таблиц</title>
        <link>https://forum.sources.ru/index.php?showtopic=401748&amp;view=findpost&amp;p=3595110</link>
        <description><![CDATA[Akina: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=401748&view=findpost&p=3595103'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Bas &#064; <time class="tag-quote__quoted-time" datetime="2015-04-24T05:58:11+00:00">24.04.15, 05:58</time></span><div class='quote '>У нас ,сейчас, не может быть у одной организации два INN или IDNP.</div></div><br>
У вас - это в какой стране?<br>
У нас в одном здании сидит несколько организаций, имеющих один ИНН. Все - самостоятельные филиалы без формирования отдельного лицевого счёта (все расчёты идут через свой РКЦ), посему ИНН ровно тот же, что и у головной организации. Кстати, владелец здания тоже имеет тот же ИНН... и, что забавно, сам в этом здании не сидит. И у эксплуатирующей организации, тоже в этом здании не сидящей, тот же ИНН. Вот какие мы забавные...<br>
А вот КПП у всех разные.]]></description>
        <author>Akina</author>
        <category>Базы данных: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=401748&amp;view=findpost&amp;p=3595103</guid>
        <pubDate>Fri, 24 Apr 2015 05:58:11 +0000</pubDate>
        <title>Правильная связь таблиц</title>
        <link>https://forum.sources.ru/index.php?showtopic=401748&amp;view=findpost&amp;p=3595103</link>
        <description><![CDATA[Bas: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=401748&view=findpost&p=3594988'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Павел Калугин &#064; <time class="tag-quote__quoted-time" datetime="2015-04-23T14:25:34+00:00">23.04.15, 14:25</time></span><div class='quote '>Для одной организации может быть больше одного кода за период времени. </div></div><br>
Зависит от законодательства. У нас ,сейчас, не может быть у одной организации два INN или IDNP.<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=401748&view=findpost&p=3594988'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Павел Калугин &#064; <time class="tag-quote__quoted-time" datetime="2015-04-23T14:25:34+00:00">23.04.15, 14:25</time></span><div class='quote '>Только &quot;сурогатный ключ&quot;</div></div><br>
Уже обсуждали,<a class='tag-url' href='http://forum.sources.ru/index.php?showtopic=94667&hl=%D1%81%D1%83%D1%80%D0%BE%D0%B3%D0%B0%D1%82%D0%BD%D1%8B%D0%B9%20%D0%BA%D0%BB%D1%8E%D1%87' target='_blank'>Сурогатный или естественный ключ, Продолжение</a><br>
<a class='tag-url' href='http://forum.sources.ru/index.php?showtopic=125803&hl=%D1%81%D1%83%D1%80%D0%BE%D0%B3%D0%B0%D1%82%D0%BD%D1%8B%D0%B9%20%D0%BA%D0%BB%D1%8E%D1%87' target='_blank'>Однозначная идентификация записей в, таблице, но не PK.</a>]]></description>
        <author>Bas</author>
        <category>Базы данных: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=401748&amp;view=findpost&amp;p=3595045</guid>
        <pubDate>Thu, 23 Apr 2015 18:37:21 +0000</pubDate>
        <title>Правильная связь таблиц</title>
        <link>https://forum.sources.ru/index.php?showtopic=401748&amp;view=findpost&amp;p=3595045</link>
        <description><![CDATA[#SI#: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=401748&view=findpost&p=3594977'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Kitty &#064; <time class="tag-quote__quoted-time" datetime="2015-04-23T13:58:47+00:00">23.04.15, 13:58</time></span><div class='quote '>Да не студентка я&#33; #SI#, подтвердит, он меня давно знает. :)</div></div>Подтверждаю&#33; :yes: <div class="tag-spoiler spoiler closed"><div class="spoiler_header" onclick="openCloseParent(this)">Скрытый текст</div><div class="body">Леночка&#33; :rose: </div></div> <br>
<br>
<span class="tag-color tag-color-named" data-value="mergepost" style="color: mergepost"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2015-04-23T18:40:41+00:00">23.04.15, 18:40</time></span></span><br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=401748&view=findpost&p=3594988'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Павел Калугин &#064; <time class="tag-quote__quoted-time" datetime="2015-04-23T14:25:34+00:00">23.04.15, 14:25</time></span><div class='quote '>А подход к задаче как у студента двоешника</div></div>Паша&#33; Слазий в оракловый раздел. Почитай мои темы с начала прошлого года. Скажешь то же самое. А мне, всего-навсего, подсунули древнюю оракловую базу с оболочкой на 97-м Акцессе без единой строчки документации.]]></description>
        <author>#SI#</author>
        <category>Базы данных: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=401748&amp;view=findpost&amp;p=3594988</guid>
        <pubDate>Thu, 23 Apr 2015 14:25:34 +0000</pubDate>
        <title>Правильная связь таблиц</title>
        <link>https://forum.sources.ru/index.php?showtopic=401748&amp;view=findpost&amp;p=3594988</link>
        <description><![CDATA[Павел Калугин: <strong class='tag-b'>Kitty</strong> в любом случае я рекомендовал бы пойти по следующему пути.<br>
есть три сущности <br>
Организации<br>
-ID организации<br>
-поля описывающие организацию<br>
Помещения<br>
-ID помещения<br>
-поля описывающие помещение<br>
<br>
Приборы (датчики)<br>
-ID прибора<br>
-поля описывающие прибор<br>
<br>
есть связи <br>
Арендует помещение<br>
-ID организации<br>
-ID помещения<br>
-Дата с<br>
-Дата по<br>
<br>
Установлен в помещении<br>
-ID помещения<br>
-ID прибора<br>
-Дата с<br>
-Дата по<br>
<br>
Плюсы - удалять ничего не надо. Надо проставить дату окончания владения/аренды. Удалять такую информацию в корне не верно. В &quot;промышленных&quot; учётных системах это договор, который нельзя удалять ни за какие коврижки. Он должен быть в архиве.<br>
Автоматом сохраняется история по помещению/датчику. Даже если препод не сказал сразу что она нужна - всегда может спросить &quot;а как ты докрутишь ее&quot;. <br>
<br>
Что в такой структуре значит &quot;прекратил аренду&quot; - нет связи &quot;Арендует помещение&quot; на дату между организацией и любым помещением. То есть пользователь в интерфейсе к ПО (никак не администратор бд) должен указать что дата окончания аренды  - Х<br>
<br>
Та же самая логика с датчиками (приборами) Установка их никак не связана с &quot;арендой&quot;. В реальной жизни установка или замена осушествляется на основании договоров. Следовательно удалять что куда было установлено/перемещено никак нельзя.<br>
<br>
Еще раз повторю просьбу - нарисуйте ER диаграмму. <br>
Потом ,как нарисуете, примените к сущностям алгоритмы нормализации  ;) <br>
<br>
<br>
<span class="tag-color tag-color-named" data-value="mergepost" style="color: mergepost"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2015-04-23T14:27:45+00:00">23.04.15, 14:27</time></span></span><br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=401748&view=findpost&p=3594974'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Bas &#064; <time class="tag-quote__quoted-time" datetime="2015-04-23T13:47:22+00:00">23.04.15, 13:47</time></span><div class='quote '>Не обязательно. Я бы выбрал фискальный код организации, они точно разные.</div></div><br>
Для одной организации может быть больше одного кода за период времени. Только &quot;сурогатный ключ&quot;<br>
<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=401748&view=findpost&p=3594977'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Kitty &#064; <time class="tag-quote__quoted-time" datetime="2015-04-23T13:58:47+00:00">23.04.15, 13:58</time></span><div class='quote '>Да не студентка я&#33;</div></div>А подход к задаче как у студента двоешника  ;)]]></description>
        <author>Павел Калугин</author>
        <category>Базы данных: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=401748&amp;view=findpost&amp;p=3594977</guid>
        <pubDate>Thu, 23 Apr 2015 13:58:47 +0000</pubDate>
        <title>Правильная связь таблиц</title>
        <link>https://forum.sources.ru/index.php?showtopic=401748&amp;view=findpost&amp;p=3594977</link>
        <description><![CDATA[Kitty: <div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">Да надоели уже студенты вусмерть... и все, как один, в пеной у рта - у меня реальная задача, я не халявщик... ага.</div></ol></div></div></div></div><br>
<br>
Да не студентка я&#33; <strong class='tag-b'>#SI#</strong>, подтвердит, он меня давно знает. :)<br>
На форуме не была пару лет. <br>
Давно с базами дела не имела. Мне при наличии правильной структуры БД довольна просто написать к ней интерфейс на С++ Builder. А вот &quot;родить&quot; структуру БД трудно, мучительно трудно. :yes: <br>
<strong class='tag-b'>Bas</strong>, спасибо. <br>
<br>
Буду пробовать применить все рекомендации из этой темы.]]></description>
        <author>Kitty</author>
        <category>Базы данных: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=401748&amp;view=findpost&amp;p=3594974</guid>
        <pubDate>Thu, 23 Apr 2015 13:47:22 +0000</pubDate>
        <title>Правильная связь таблиц</title>
        <link>https://forum.sources.ru/index.php?showtopic=401748&amp;view=findpost&amp;p=3594974</link>
        <description><![CDATA[Bas: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=401748&view=findpost&p=3594953'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Kitty &#064; <time class="tag-quote__quoted-time" datetime="2015-04-23T12:20:27+00:00">23.04.15, 12:20</time></span><div class='quote '>В таблице организаций - только названия организаций. Наверно оно должно быть уникальным?</div></div><br>
Не обязательно. Я бы выбрал фискальный код организации, они точно разные.<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=401748&view=findpost&p=3594953'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Kitty &#064; <time class="tag-quote__quoted-time" datetime="2015-04-23T12:20:27+00:00">23.04.15, 12:20</time></span><div class='quote '>В таблице помещений - только названия помещений/или может уникальный номер помещения (ну и к примеру этаж где это помещение).</div></div><br>
Туалеты, подсобные помещения,коридоры   на всех этажах уникальные - не уверен. Я думаю что их там несколько. <br>
Хотя Вы можете и установить такую уникальность для себя (номер коридора и сколько сантиметров от правого угла здания с севера).<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=401748&view=findpost&p=3594953'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Kitty &#064; <time class="tag-quote__quoted-time" datetime="2015-04-23T12:20:27+00:00">23.04.15, 12:20</time></span><div class='quote '>В таблице датчиков - уникальный серийный номер датчика, в каком он помещении.</div></div><br>
В таблице датчиков все что касается датчиков (серийный номер, год выпуска,гарантия, фирма изготовитель,уникальный ключ(ваш внутренний id))<br>
<br>
И таблицы где все эти связи вместе датчики с помещениями, помещения с фирмами.<br>
<br>
Фирма переехала в другое помещение, вы только привязываете помещение с фирмой, а датчики сами с фирмой свяжутся (ели они там есть)]]></description>
        <author>Bas</author>
        <category>Базы данных: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=401748&amp;view=findpost&amp;p=3594973</guid>
        <pubDate>Thu, 23 Apr 2015 13:45:03 +0000</pubDate>
        <title>Правильная связь таблиц</title>
        <link>https://forum.sources.ru/index.php?showtopic=401748&amp;view=findpost&amp;p=3594973</link>
        <description><![CDATA[Akina: <strong class='tag-b'>#SI#</strong><br>
Да надоели уже студенты вусмерть... и все, как один, в пеной у рта - у меня реальная задача, я не халявщик... ага. А то, что ни одна приличная фирма не станет монтировать систему датчиков без аппаратуры управления и контроля, и плюс обязательно управляющий софт, в котором есть всё вышеописанное на профессиональном уровне, как-то забывается. Про то, что подобные системы вообще-то начинаются с серьёзного ТЗ на проектирование и, соответственно, проекта с миллионом согласований, что они создаются на годы и документируются по самое не могу, ибо за малый косяк можно на несколько лет загреметь в места не столь отдалённые - не, не слышали... <br>
<br>
При этом сами или вообще ничего не делают, или несут такую пургу, что сразу видно, чем занимались весь семестр вместо посещения лекций.]]></description>
        <author>Akina</author>
        <category>Базы данных: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=401748&amp;view=findpost&amp;p=3594958</guid>
        <pubDate>Thu, 23 Apr 2015 12:51:38 +0000</pubDate>
        <title>Правильная связь таблиц</title>
        <link>https://forum.sources.ru/index.php?showtopic=401748&amp;view=findpost&amp;p=3594958</link>
        <description><![CDATA[#SI#: <strong class='tag-b'>Akina</strong> сегодня не с той ноги встал...]]></description>
        <author>#SI#</author>
        <category>Базы данных: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=401748&amp;view=findpost&amp;p=3594956</guid>
        <pubDate>Thu, 23 Apr 2015 12:39:39 +0000</pubDate>
        <title>Правильная связь таблиц</title>
        <link>https://forum.sources.ru/index.php?showtopic=401748&amp;view=findpost&amp;p=3594956</link>
        <description><![CDATA[Akina: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=401748&view=findpost&p=3594953'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Kitty &#064; <time class="tag-quote__quoted-time" datetime="2015-04-23T12:20:27+00:00">23.04.15, 12:20</time></span><div class='quote '>В таблице организаций - только названия организаций. Наверно оно должно быть уникальным?</div></div><br>
Сфига бы? Вот пара ИНН+КПП - та уникальна. А одноимённых организаций аки грязи.<br>
<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=401748&view=findpost&p=3594953'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Kitty &#064; <time class="tag-quote__quoted-time" datetime="2015-04-23T12:20:27+00:00">23.04.15, 12:20</time></span><div class='quote '>В таблице помещений - только названия помещений/или может уникальный номер помещения </div></div><br>
Номер. И для справки - название.<br>
<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=401748&view=findpost&p=3594953'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Kitty &#064; <time class="tag-quote__quoted-time" datetime="2015-04-23T12:20:27+00:00">23.04.15, 12:20</time></span><div class='quote '>Мне самой надо придумать правильные поля для всех трех таблиц, чтобы было информативно и удобно потом пользоваться.</div></div><br>
А для этого надо изучить, что такое нормальные формы, и выполнить анализ предметной области. Работайте.<br>
<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=401748&view=findpost&p=3594953'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Kitty &#064; <time class="tag-quote__quoted-time" datetime="2015-04-23T12:20:27+00:00">23.04.15, 12:20</time></span><div class='quote '>как бы организовали?</div></div><br>
Не скажу. Мне пофиг, создадите Вы свою БД или нет. Так что делать её ЗА ВАС, пусть даже эта просьба и высказана в такой форме - не буду.<br>
Изучайте. И только потом делайте - кавалерийским наскоком, без теории и понимания, как и почему делать, не получится. Вот с проблемами или непонятками - но совершенно конкретными, - милости просим. Объясним, как нужно, и почему именно так.<br>
Ну а коли не хотите изучать, хотите сразу готовую БД - то Вы ошиблись форумом. С таким подходом - во фриланс.]]></description>
        <author>Akina</author>
        <category>Базы данных: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=401748&amp;view=findpost&amp;p=3594953</guid>
        <pubDate>Thu, 23 Apr 2015 12:20:27 +0000</pubDate>
        <title>Правильная связь таблиц</title>
        <link>https://forum.sources.ru/index.php?showtopic=401748&amp;view=findpost&amp;p=3594953</link>
        <description><![CDATA[Kitty: <div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '>И уберите каскадное удаление - если организация съедет, это не значит, что датчики демонтируют и комнату сломают. </div></div><br>
<br>
Теперь поняла. :) <br>
<br>
<div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '>Уж не поленитесь...</div></div><br>
<br>
Кол-во и название полей еще не определено. Это я просто накидала разных полей для тестирования каскадного удаления. Мне самой надо придумать правильные поля для всех трех таблиц, чтобы было информативно и удобно потом пользоваться.<br>
В простом случае можно упростить все до такого:<br>
В таблице организаций - только названия организаций. Наверно оно должно быть уникальным?<br>
В таблице помещений - только названия помещений/или может уникальный номер помещения (ну и к примеру этаж где это помещение). <br>
В таблице датчиков - уникальный серийный номер датчика, в каком он помещении.<br>
Теперь в интерфейсе программы надо понимать: организация-&gt;ее помещения-&gt;ее датчики в этих помещениях. При выборе конкретного помещения знать сколько в нем датчиков и какие это датчики по их номеру.<br>
<br>
При таком минимальном кол-ве полей, как бы вы организовали?<br>
Спасибо.]]></description>
        <author>Kitty</author>
        <category>Базы данных: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=401748&amp;view=findpost&amp;p=3594943</guid>
        <pubDate>Thu, 23 Apr 2015 12:00:04 +0000</pubDate>
        <title>Правильная связь таблиц</title>
        <link>https://forum.sources.ru/index.php?showtopic=401748&amp;view=findpost&amp;p=3594943</link>
        <description><![CDATA[Akina: У меня хрустальный шар в ремонте, а догадываться, что будет записано в какое поле, тупо лень. Уж не поленитесь...<br>А для начала уберите поля, которые есть в таблице на стороне &quot;один&quot;, из таблицы на стороне &quot;много&quot;.<br>И уберите каскадное удаление - если организация съедет, это не значит, что датчики демонтируют и комнату сломают.]]></description>
        <author>Akina</author>
        <category>Базы данных: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=401748&amp;view=findpost&amp;p=3594936</guid>
        <pubDate>Thu, 23 Apr 2015 11:47:15 +0000</pubDate>
        <title>Правильная связь таблиц</title>
        <link>https://forum.sources.ru/index.php?showtopic=401748&amp;view=findpost&amp;p=3594936</link>
        <description><![CDATA[Kitty: <div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">Ну если очень примерно - то да.</div></ol></div></div></div></div><br>
<br>
Спасибо.<br>
<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">Дублирование на каждом шагу, плюс потенция рассогласования данных.</div></ol></div></div></div></div><br>
<br>
Собственно поэтому и обратилась за помощью здесь. :) <br>
Подредактируйте, пожалуйста.]]></description>
        <author>Kitty</author>
        <category>Базы данных: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=401748&amp;view=findpost&amp;p=3594935</guid>
        <pubDate>Thu, 23 Apr 2015 11:44:46 +0000</pubDate>
        <title>Правильная связь таблиц</title>
        <link>https://forum.sources.ru/index.php?showtopic=401748&amp;view=findpost&amp;p=3594935</link>
        <description><![CDATA[Akina: Ну если очень примерно - то да. Исключительно в части имён таблиц и формирования первичных и внешних ключей.<br><br>Хотя я бы предложил не бежать вперёд паровоза, и заняться теорией. Хотя бы чтобы понимать, что эта структура не сильно отвечает 3НФ. Дублирование на каждом шагу, плюс потенция рассогласования данных.<br><br>Во всяком случае с такой структурой даже курсовую не сдать - это стопудово. А о боевой системе даже речи идти не может.]]></description>
        <author>Akina</author>
        <category>Базы данных: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=401748&amp;view=findpost&amp;p=3594930</guid>
        <pubDate>Thu, 23 Apr 2015 11:32:25 +0000</pubDate>
        <title>Правильная связь таблиц</title>
        <link>https://forum.sources.ru/index.php?showtopic=401748&amp;view=findpost&amp;p=3594930</link>
        <description><![CDATA[Kitty: Вот так примерно?<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">CREATE TABLE organizations</div><div class="code_line">(</div><div class="code_line">&nbsp;&nbsp;ideserial serial NOT NULL,</div><div class="code_line">&nbsp;&nbsp;nameorganization character varying(200) NOT NULL,</div><div class="code_line">&nbsp;&nbsp;tel1 character varying(20),</div><div class="code_line">&nbsp;&nbsp;tel2 character varying(20),</div><div class="code_line">&nbsp;&nbsp;prim1 character varying(200),</div><div class="code_line">&nbsp;&nbsp;prim2 character varying(200),</div><div class="code_line">&nbsp;&nbsp;idorganizations integer,</div><div class="code_line">&nbsp;&nbsp;CONSTRAINT idserialorganizations PRIMARY KEY (ideserial),</div><div class="code_line">&nbsp;&nbsp;CONSTRAINT nameorganizations UNIQUE (nameorganization)</div><div class="code_line">)</div><div class="code_line">&nbsp;</div><div class="code_line">CREATE TABLE rooms</div><div class="code_line">(</div><div class="code_line">&nbsp;&nbsp;idserial serial NOT NULL,</div><div class="code_line">&nbsp;&nbsp;nameroom character varying(200),</div><div class="code_line">&nbsp;&nbsp;nameorganization character varying(200) NOT NULL,</div><div class="code_line">&nbsp;&nbsp;idroom integer,</div><div class="code_line">&nbsp;&nbsp;idcustomer integer,</div><div class="code_line">&nbsp;&nbsp;prim character varying(200),</div><div class="code_line">&nbsp;&nbsp;floor character varying(12),</div><div class="code_line">&nbsp;&nbsp;CONSTRAINT idrooms PRIMARY KEY (idserial),</div><div class="code_line">&nbsp;&nbsp;CONSTRAINT fktoorganizations FOREIGN KEY (nameorganization)</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;REFERENCES organizations (nameorganization) MATCH SIMPLE</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;ON UPDATE CASCADE ON DELETE CASCADE,</div><div class="code_line">&nbsp;&nbsp;CONSTRAINT unikname UNIQUE (nameorganization)</div><div class="code_line">)</div><div class="code_line">&nbsp;</div><div class="code_line">CREATE TABLE sensors</div><div class="code_line">(</div><div class="code_line">&nbsp;&nbsp;idserial serial NOT NULL,</div><div class="code_line">&nbsp;&nbsp;nameorganization character varying(200) NOT NULL,</div><div class="code_line">&nbsp;&nbsp;id integer NOT NULL,</div><div class="code_line">&nbsp;&nbsp;lastdt timestamp without time zone,</div><div class="code_line">&nbsp;&nbsp;roomid integer,</div><div class="code_line">&nbsp;&nbsp;prim character varying(128),</div><div class="code_line">&nbsp;&nbsp;idroom integer,</div><div class="code_line">&nbsp;&nbsp;nameroom character varying(200),</div><div class="code_line">&nbsp;&nbsp;CONSTRAINT sensorsid PRIMARY KEY (idserial),</div><div class="code_line">&nbsp;&nbsp;CONSTRAINT fktorooms FOREIGN KEY (nameorganization)</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;REFERENCES rooms (nameorganization) MATCH SIMPLE</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;ON UPDATE CASCADE ON DELETE CASCADE,</div><div class="code_line">&nbsp;&nbsp;CONSTRAINT sensors_nameorganization_key UNIQUE (nameorganization)</div><div class="code_line">)</div></ol></div></div></div></div>]]></description>
        <author>Kitty</author>
        <category>Базы данных: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=401748&amp;view=findpost&amp;p=3594926</guid>
        <pubDate>Thu, 23 Apr 2015 11:27:40 +0000</pubDate>
        <title>Правильная связь таблиц</title>
        <link>https://forum.sources.ru/index.php?showtopic=401748&amp;view=findpost&amp;p=3594926</link>
        <description><![CDATA[Akina: И на что тут может не хватать воображалки? <br>
Организация (1 ко много) Помещение (1 ко много) Датчик<br>
<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=401748&view=findpost&p=3594916'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Kitty &#064; <time class="tag-quote__quoted-time" datetime="2015-04-23T11:09:17+00:00">23.04.15, 11:09</time></span><div class='quote '>связующие ключи </div></div><br>
Нет такого понятия. Есть первичный ключ (первичный индекс) и просто ключ (индекс), а также особая разновидность ключа (обычно простого) - внешний ключ (индекс и одновременно ссылка на индекс, обычно первичный, в другой таблице, реже в этой же таблице).]]></description>
        <author>Akina</author>
        <category>Базы данных: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=401748&amp;view=findpost&amp;p=3594916</guid>
        <pubDate>Thu, 23 Apr 2015 11:09:17 +0000</pubDate>
        <title>Правильная связь таблиц</title>
        <link>https://forum.sources.ru/index.php?showtopic=401748&amp;view=findpost&amp;p=3594916</link>
        <description><![CDATA[Kitty: <div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '>1. только одна организация владеет одним помешением?</div></div><br>
<br>
Торговый центр. В нем расположены помещения на разных этажах. Теперь есть организации. Каждая организация владеет разными помещениями. У OOO Вымпел пять помещений на одном этаже. У ООО Пламя три помещения на разных этажах. У ООО Вода одно помещение и т.д.<br>
<br>
<div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '>22. нужно ли знать историю по связям? какие организации владели помещением вчера, год назад? Какие датчики были установлены?</div></div><br>
<br>
Нет не нужо.<br>
<br>
<div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '>3. Нужно ли знать план вперед по &quot;овлвдению&quot; помещениями и установке датчиков?</div></div><br>
<br>
Нет не нужно.<br>
<br>
Пользователь в программе создает в базе организации, затем должен закрепить в базе за конкретной организацией ее помещения. Потом монтажники говорят, в каком помещении установлены датчики с их номерами. Внести это в таблицу датчиков. Должно быть все это как-то правильно связано. Выбираю конкретную организацию – вижу ее помещения, выбираю конкретное помещение – вижу в нем датчики.<br>
Если организация удаляется из программы, то я так понимаю, надо удалить все, что с ней связано. Зачем хранить в базе помещения и датчики в этих помещениях, если эта организация больше не существует...<br>
Мне бы хотя бы скелет, какие правильно связующие ключи у этого дела. :)<br>
<br>
<div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '>Но это же курсовая, которую надо защитить в середине апреля</div></div><br>
<br>
Нет не курсовая, просто построения структур базы вызывает проблемы т.к. воображалки не хватает. :)]]></description>
        <author>Kitty</author>
        <category>Базы данных: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=401748&amp;view=findpost&amp;p=3594865</guid>
        <pubDate>Thu, 23 Apr 2015 08:39:28 +0000</pubDate>
        <title>Правильная связь таблиц</title>
        <link>https://forum.sources.ru/index.php?showtopic=401748&amp;view=findpost&amp;p=3594865</link>
        <description><![CDATA[Akina: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=401748&view=findpost&p=3594862'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Павел Калугин &#064; <time class="tag-quote__quoted-time" datetime="2015-04-23T08:34:57+00:00">23.04.15, 08:34</time></span><div class='quote '>это же курсовая</div></div><br>
Тогда тем более надо изучить теорию. Чтобы не &quot;плавать&quot; на защите.]]></description>
        <author>Akina</author>
        <category>Базы данных: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=401748&amp;view=findpost&amp;p=3594862</guid>
        <pubDate>Thu, 23 Apr 2015 08:34:57 +0000</pubDate>
        <title>Правильная связь таблиц</title>
        <link>https://forum.sources.ru/index.php?showtopic=401748&amp;view=findpost&amp;p=3594862</link>
        <description><![CDATA[Павел Калугин: <strong class='tag-b'>Akina</strong> в реальной жизни таки да. Но это же курсовая, которую надо защитить в середине апреля ;)]]></description>
        <author>Павел Калугин</author>
        <category>Базы данных: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=401748&amp;view=findpost&amp;p=3594861</guid>
        <pubDate>Thu, 23 Apr 2015 08:26:28 +0000</pubDate>
        <title>Правильная связь таблиц</title>
        <link>https://forum.sources.ru/index.php?showtopic=401748&amp;view=findpost&amp;p=3594861</link>
        <description><![CDATA[Akina: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=401748&view=findpost&p=3594858'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Павел Калугин &#064; <time class="tag-quote__quoted-time" datetime="2015-04-23T08:10:56+00:00">23.04.15, 08:10</time></span><div class='quote '>1. только одна организация владеет одним помешением? </div></div><br>
Как минимум организация-владелец, эксплуатирующая организация (а это далеко не всегда владелец&#33;) и организация-арендатор. И на кого из них &quot;вешать&quot; помещения и датчики - тот ещё вопрос... <br>
Правильная схема вылезет из анализа и будет совсем даже не элементарной.]]></description>
        <author>Akina</author>
        <category>Базы данных: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=401748&amp;view=findpost&amp;p=3594858</guid>
        <pubDate>Thu, 23 Apr 2015 08:10:56 +0000</pubDate>
        <title>Правильная связь таблиц</title>
        <link>https://forum.sources.ru/index.php?showtopic=401748&amp;view=findpost&amp;p=3594858</link>
        <description><![CDATA[Павел Калугин: <strong class='tag-b'>Kitty</strong> тут куча вопросов.<br>
понятно что основные связи это &quot;владеет помещением&quot; и &quot;установлены датчики&quot;<br>
1. только одна организация владеет одним помешением? <br>
2. нужно ли знать историю по связям? какие организации владели помещением вчера, год назад? Какие датчики были установлены?<br>
3. Нужно ли знать план вперед по &quot;овлвдению&quot; помещениями и установке датчиков?<br>
Ошибки<br>
1. При удалении организации из здания помещение  не может быть удалено<br>
2. монтаж/демонтаж датчиков в помещении никак не связан (по крайней мере по описанию задачи) с тем, кто владеет данным помещением<br>
С учетом этих замечаний попробуйте нарисовать ER модель и покажите, что получилось ;)]]></description>
        <author>Павел Калугин</author>
        <category>Базы данных: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=401748&amp;view=findpost&amp;p=3594857</guid>
        <pubDate>Thu, 23 Apr 2015 08:09:48 +0000</pubDate>
        <title>Правильная связь таблиц</title>
        <link>https://forum.sources.ru/index.php?showtopic=401748&amp;view=findpost&amp;p=3594857</link>
        <description><![CDATA[Akina: Озаботьтесь поиском и чтением информации по теме &quot;Анализ предметной области&quot;. Это - предварительная проработка бизнес-процесса, который будет отображён в базе данных. В ходе анализа выявятся сущности и их атрибуты. В т.ч. атрибуты, которые являются самостоятельными сущностями - именно это и определит связи между таблицами хранения сущностей.<br><br>Удалять ничего не нужно. Это однозначная потеря истории плюс потенциальное разрушение всей БД одним неловким движением мыша. Введите поле актуальности записи (можно логическое, можно дату-время создания этой записи), и работайте только с теми записями, у которых в нём имеется признак валидности (или у которой штамп времени максимален для группы). <br><br>Ключи определяются на стадии анализа - это просто набор однозначно идентифицирующих экземпляр данной сущности атрибутов. В подавляющем большинстве случаев предпочтителен синтетический ключ-счётчик плюс ограничения уникальности.<br><br>Внешние ключи также определяются на стадии анализа - при определении связей с учётом логической целостности и непротиворечивости данных.]]></description>
        <author>Akina</author>
        <category>Базы данных: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=401748&amp;view=findpost&amp;p=3594854</guid>
        <pubDate>Thu, 23 Apr 2015 07:55:20 +0000</pubDate>
        <title>Правильная связь таблиц</title>
        <link>https://forum.sources.ru/index.php?showtopic=401748&amp;view=findpost&amp;p=3594854</link>
        <description><![CDATA[Kitty: Добрый день.<br>Путаюсь при создании правильных структур базы данных (назначение правильно вторичных ключей... бд PostgreSQL).<br>Есть три таблицы:<br>1. Таблица организаций.<br>2. Таблица помещений, которые принадлежат организациям.<br>3. Таблица датчиков установленных в этих помещениях.<br>Администратор базы данных в программе создает организацию (типа ООО Вымпел в торговом центре). Затем назначает этой организации помещения, которыми она владеет (к примеру, два помещения на первом этаже, одно на втором этаже и т.п.). Затем указывает, в каких помещениях этой организации и сколько в каждом помещении установлено датчиков. В одном помещении, к примеру, один датчик, в другом два и т.д.<br>Как связать правильно такие три таблицы? Понятно, что при удалении организации надо автоматом удалить ее следы в других таблицах (помещения и датчики). Помогите, пожалуйста, со структурой таблиц и правильными ключами. <br>Спасибо.]]></description>
        <author>Kitty</author>
        <category>Базы данных: Общие вопросы</category>
      </item>
	
      </channel>
      </rss>
	