Форум: "Прочее";
Текущий архив: 2010.09.26;
Скачать: [xml.tar.bz2];
ВнизИграй .. невеселая мысля моя.. Найти похожие ветки
← →
Внук © (2010-06-29 19:04) [40]К нашему с ИШ давнему спору. Ключ должен быть суррогатным. И нефиг плодить вероятные проблемы.
← →
Юрий Зотов © (2010-06-29 19:33) [41]Справочники:
- областей
- районов
- населенных пунктов
- улиц
Итого ID улицы - суррогат из 4-х полей. Или, как минимум, из двух (если считать, что в одном населенном пункте не может быть 2-х одинаковых улиц). Но из 4-х надежнее.
← →
Ega23 © (2010-06-29 19:39) [42]
> Справочники:
> - областей
> - районов
> - населенных пунктов
> - улиц
Не всё так просто.
> Внук © (29.06.10 19:04) [40]
>
> К нашему с ИШ давнему спору. Ключ должен быть суррогатным.
Ключ может быть суррогатным.
А может и не быть.
← →
Alien1769 © (2010-06-29 19:48) [43]
> Юрий Зотов © (29.06.10 19:33) [41]
Вопрос в догонку. Улица может переименована !!!
Прописан человек на улице Ленина,
ее "перекрестили" на улицу Свободы.
Жильцы купившие квартиру на бывшей улице Ленина получают прописку на улице Свободы. И того две улицы вместо одной, кто как выходил с такой ситуации ??
Я добавил еще одно поле "Стр_Груп" и связал обе улицы..
Но может быть есть более умная идея...
← →
Ega23 © (2010-06-29 19:53) [44]
> кто как выходил с такой ситуации ??
Ситуации такой не было, но на первый взгляд я бы заводил новую с новым ID, ей дату дуву
← →
Ega23 © (2010-06-29 19:54) [45]Чёрт. Предыдущий пост просьбы удалить, случайно нажал не додумав мысль. Мысль додумаю к завтрему.
← →
MsGuns © (2010-06-29 20:01) [46]>Ega23 © (29.06.10 19:39) [42]
>Не всё так просто.
В данном случае именно ВСЕ
>Ключ может быть суррогатным.
>А может и не быть.
В данном случае ОБЯЗАН
← →
MsGuns © (2010-06-29 20:03) [47]По поводу переименования улицы.
Напугали ежа голой ж.. На это есть простой и проверенный способ - второе название. UID при этом ессно не страдает :)
← →
Alien1769 © (2010-06-29 20:10) [48]
> Напугали ежа голой ж..
В Киеве уже примерно 120 улиц изменили..
А я пугать не думал :)
← →
Юрий Зотов © (2010-06-29 20:18) [49]> Alien1769 © (29.06.10 19:48) [43]
> И того две улицы вместо одной, кто как выходил с такой ситуации ??
В справочнике улиц заводится еще одно ключевое поле. Это может быть, например, ссылка на запись в том же справочнике (если null, то это первоначальное название улицы, иначе - ссылка на предыдущее название). Или это может быть порядковый номер названия одной и той же улицы (у текущего названия - MAX значение, у первоначального - нуль). Можно еще завести поля "Дата начала действия" и "Дата окончания действия". Таким образом, справочник будет хранить не только текущия названия улиц, но и всю историю их изменений.
← →
Юрий Зотов © (2010-06-29 20:25) [50]Вообще, к ключам я подхожу с чисто логической точки зрения. По сути, ведь каждая запись в таблице хранит сведения о некоей сущности. Исходя из бизнес-правил, можно определить, какое количество каких данных позволяют идентифицировать эту сущность однозначно - вот они и есть ключевые поля. Можно (но не обязательно) добавить еще одно поле - так сказать, ID "в чистом виде".
← →
Внук © (2010-06-29 21:11) [51]>>Юрий Зотов © (29.06.10 20:18) [49]
Во-во. Версионная таблица. Мы такими часто пользуемся в силу специфики заказчика :)
← →
Inovet © (2010-06-29 21:28) [52]Если то кладр, кстати, по коду 1-й мкр где он не смотрел. Вообще лучше разбей этот ИД на соответствующее количество, если привязка нужна к городу, нас пункту и т.д., а как она не нужна может быть. Вот кусок из описания.
Код объектов первого – пятого уровней состоит из двух частей. Первая часть – собственно код отражает иерархию подчиненности конкретного объекта и выделяет его среди объектов данного уровня, подчиненных одному и тому же старшему объекту. Вторая часть, «признак актуальности», отражает актуальность конкретного наименования данного адресного объекта и выделяет это наименование среди остальных его наименований.
Таким образом, первая часть кода, будем называть ее просто «код», во всех записях, содержащих различные наименования одного и того же объекта, будет одинаковой и с ее помощью устанавливается связь между всеми такими записями. Сказанное относится к случаям простого переименования, когда меняется только название объекта и не меняется его код.
При сложном переименовании (слияние улиц, разбивка улиц с изменением нумерации домов, включение населенного пункта в состав города и т.п.) новые наименования объектов добавляются в БД с новыми кодами. Соответствие старых и новых наименований объектов в этих случаях устанавливается с помощью специального файла (файл Altnames.dbf
Ну и т.д.
← →
В школу! (2010-06-29 21:55) [53]Внук © (29.06.10 19:04) [40]
> Ключ должен быть суррогатным
Кому он должен ?
Не оскудеет земля IDиотами
← →
Юрий Зотов © (2010-06-29 21:59) [54]
> В школу! (29.06.10 21:55) [53]
Вы правы. И на своем же примере ярко и убедительно это продемонстрировали.
← →
В школу! (2010-06-29 22:13) [55]Удалено модератором
Примечание: В школу!
← →
MsGuns © (2010-06-29 22:34) [56]>В школу! (29.06.10 21:55) [53]
>> Ключ должен быть суррогатным
>Кому он должен ?
>Не оскудеет земля IDиотами
Заявление несколько категоричное, но не лишенное смысла.
Суррогаты, действительно, в некоторых случаях могут казаться "лишними", но ПОМЕШАТЬ не смогут никогда. В то время как отказ от них может привести к серьезным проблемам при эксплуатации БД, да и при проектировании тоже.
Поэтому Ваша грубость неуместна.
Если действительно интересно, то можете найти кучу материала в инете на эту "священную" у базовиков тему. Но что интересно, ни одна из сторон до сих пор так и не смогла привести ни одного 100% агрумента в пользу своей точки зрения :)
Например, я перешел на КС с парадокса, где суррогатов нет (вернее есть их подобие, но это "глюк" 8) ). Сначала мне тоже суррогаты казались изъ..м, но когда въехал в их суть (особенно при "многоэтажных" межтабличных связях или при пробемах каскадных изменений ключей), оценил их и с тех пор использую суррогаты всегда и везде.
← →
В школу! (2010-06-29 23:00) [57]
> В то время как отказ от них может привести к серьезным проблемам
> при эксплуатации БД, да и при проектировании тоже.
а что по этому поводу говорит Кодд ?
http://ru.wikipedia.org/wiki/12_%D0%BF%D1%80%D0%B0%D0%B2%D0%B8%D0%BB_%D0%9A%D0%BE%D0%B4%D0%B4%D0%B0
← →
Ega23 © (2010-06-29 23:03) [58]
> оценил их и с тех пор использую суррогаты всегда и везде.
Ну скажем так. Процентах в 80 случаев я тоже их использую. Но остальные 20 - нет.
← →
MsGuns © (2010-06-30 00:33) [59]И где же Кодд плюется на суррогаты ?
Это во-первых
А во-вторых, правила и существуют на то, чтобы иногда их нарушать. Для пользы дела, конечно :)
Страницы: 1 2 вся ветка
Форум: "Прочее";
Текущий архив: 2010.09.26;
Скачать: [xml.tar.bz2];
Память: 0.57 MB
Время: 0.005 c