powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Угловой дом
25 сообщений из 105, страница 3 из 5
Угловой дом
    #37048373
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
temigчестно скажу не осилил все что понаписали. Как такой вариант:

Table houses (id INT, street_id INT, house_number VARCHAR, <<еще 100500 полей описывающих дом>>)
Table streets (id INT, street_name VARCHAR)
Table alternative_address(house_id INT, street_id INT, house_number VARCHAR)

Я думаю что alternative_address будет небольшой таблицей, соответственно не будет сильно тормозить. Зато избыточности нету.Да, много чего понаписали, надо было прочитать :-)

В вашей схеме нельзя создать дом без улицы.
...
Рейтинг: 0 / 0
Угловой дом
    #37048388
temig
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
alexeyvg,

в streets создается запись "без адреса" или что-то вроде этого и у всех домов без улицы как street_id прописывается id этой записи.
...
Рейтинг: 0 / 0
Угловой дом
    #37048426
Бредятина
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
temigчестно скажу не осилил все что понаписали. Как такой вариант:

Table houses (id INT, street_id INT, house_number VARCHAR, <<еще 100500 полей описывающих дом>>)
Table streets (id INT, street_name VARCHAR)
Table alternative_address(house_id INT, street_id INT, house_number VARCHAR)

Я думаю что alternative_address будет небольшой таблицей, соответственно не будет сильно тормозить. Зато избыточности нету.
Гадать какой адрес "основной", а какой "второстепенный" вряд ли имеет смысл. Уберите из Дома улицу (тем более, что "улица" не является характеристикой дома - это же просто дорога, которая проходит где-то "в районе" дома, или просто площадь, или еще не известно что) и номер дома. И получится та же схема, которую мы уже получили.
...
Рейтинг: 0 / 0
Угловой дом
    #37048441
temig
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Бредятина,

Я думаю зависит от конкретной задачи. Если альтернативный адрес нужен раз в пятилетку - почему бы не вынести его в отдельную таблицу. Например нам надо делать выборку списка домов по одному или нескольким таким критериям как год постройки, этажность, кол-во подъездов, району, микрорайону, серии постройки, материала, и т.п. А альтернативный адрес, к примеру, нужно только выводить если пользователь захочет просмотреть информацию о каком-то конкретном доме из своей полученной выборки. Думается мне такое решение более оптимально для такой задачи.
...
Рейтинг: 0 / 0
Угловой дом
    #37048452
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
temigalexeyvg,

в streets создается запись "без адреса" или что-то вроде этого и у всех домов без улицы как street_id прописывается id этой записи.Почему "без адреса"? Адрес-то есть, только без улицы.

Вот пример - город Москва, город Зеленоград, микрорайон 13, дом 422Б

То есть город состоит из городов, города второго уровня из районов, в районах дома с номерами.
Нормальные существующие адреса.

И как это накладывается на вашу структуру?
...
Рейтинг: 0 / 0
Угловой дом
    #37048461
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alexeyvgВот пример - город Москва, город Зеленоград, микрорайон 13, дом 422Бтолько 4-ый микрорайон, а не 13.
В Зеленограде номер микрорайна - это тысячный и сотенный разряды номера корпуса.
И, кстати, указываются не всегда, т.е. записи "4-й микрорайон дом 22Б" и "копус 422Б" - эквивалентны.
...
Рейтинг: 0 / 0
Угловой дом
    #37048493
temig
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
alexeyvg,

по микрорайону все просто, микрорайон записываем как улицу. Ну а города в городах можно пересчитать по пальцам имхо, не думаю что у топикстартера такой вариант. Он же делает базу для одного своего какого-то города.

Я живу в Челябинске. Городов в городе у нас нету конечно, но улицы-микрорайоны вполне встречаются. Например что-то вроде "микрорайон премьера, дом №9". В том же 2gis так и обозначается, ул. Микрорайон Премьера, дом №9. Или что-то вроде ул. Краснопольская площадка, дом №7. Чем этот же микрорайон по сути отличается от улицы?

Топикстартер то что-то давно не появлялся, может нам расскажет поподробнее что ему нужно.
...
Рейтинг: 0 / 0
Угловой дом
    #37048496
temig
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
alexeyvg,

да, кстати, озвучьте как Вы предлагаете хранить данные?
...
Рейтинг: 0 / 0
Угловой дом
    #37048506
Бредятина
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
temig Я думаю зависит от конкретной задачи. Если альтернативный адрес нужен раз в пятилетку - почему бы не вынести его в отдельную таблицу.
Я говорю, что мы не знаем какой адрес "хороший", а какой "плохо", а Вы говорите, что "плохой" нужно вынести в отдельную таблицу. Как-то не логично:)
temig Например нам надо делать выборку списка домов по одному или нескольким таким критериям как год постройки, этажность, кол-во подъездов, району, микрорайону, серии постройки, материала, и т.п.
В перечисленные критерии Вы включили два, чтобы "оправдать" отдельное хранение "хорошего" адреса: "район" и "микрорайон". Но ведь "дом" модет относиться к нескольким микрорайонам и, соответсвенно, районам:)
temig А альтернативный адрес, к примеру, нужно только выводить если пользователь захочет просмотреть информацию о каком-то конкретном доме из своей полученной выборки.
Никакой он не "альтернативный". Вы ввели это прилагательное, чтобы "оправдать" некое решение. Мало того, что никто не знает что такое "адрес", так мы зачем-то вводим еще и "альтернативный адрес":)
temig Думается мне такое решение более оптимально для такой задачи.
Какой "такой задачи"?
...
Рейтинг: 0 / 0
Угловой дом
    #37048510
Злой БобрCreazim,

Незабивайте дурным голову. Во первых человек неможет быть одновременно зарегистрирован по двум и более адресам

Теоретически - не может, а вот на практике - бывает. Дело было в РФ. Человек на своем участке построил второй дом. В БТИ "прикольнулись": адрес первого дома был ул. Виноградная, д. 5, на второй дом дали адрес ул. Абрикосовая, д. 15А. Да-да, участок был угловой. Справка о владении пришла в паспортный стол. Там посчитали, что у человека теперь два адреса прописки. Поскольку ситема автоматизации паспортного стола тоже думала, что у человека не может быть двух адресов регистрации, но на бумаге требовалось отображать оба адреса, в паспортном столе завели улицу с названием "ул. Виноградная, д. 5, ул. Абрикосовая", у уже на этой улице завели дом 15А. В итоге, всякие выписки из домовой книги и прочие справки о регистрации выглядят правильно. Но... Как вы уже, наверное, поняли, улица с таким интересным названием когда-нибудь может привлечь внимание всяких органов, требующих отчетов от этого паспортного стола. (Пока, правда, не привлекла, но и времени прошло немного, три-четыре месяца.) А может, и не привлечет никогда. Так и пойдет в общероссийское плавание улица с замечательным названием - "ул. Виноградная, д. 5, ул. Абрикосовая". Аминь!
...
Рейтинг: 0 / 0
Угловой дом
    #37048519
temig
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Бредятинаtemig Думается мне такое решение более оптимально для такой задачи.
Какой "такой задачи"?
Я просто привел пример когда мой вариант может быть вполне оправдан:
temigЕсли альтернативный адрес нужен раз в пятилетку - почему бы не вынести его в отдельную таблицу. Например нам надо делать выборку списка домов по одному или нескольким таким критериям как год постройки, этажность, кол-во подъездов, району, микрорайону, серии постройки, материала, и т.п. А альтернативный адрес, к примеру, нужно только выводить если пользователь захочет просмотреть информацию о каком-то конкретном доме из своей полученной выборки

Пример: база о продающихся квартирах с поиском по различным критериям.
...
Рейтинг: 0 / 0
Угловой дом
    #37048521
Бредятина
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
От углового дома мы плавно перешли к угловому участку. А, следовательно, к угловым микрорайонам, районам, областям, странам и частям света.
...
Рейтинг: 0 / 0
Угловой дом
    #37048523
Бредятина
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
temig Я просто привел пример когда мой вариант может быть вполне оправдан...
Пример: база о продающихся квартирах с поиском по различным критериям.
И зачем нужна еще одна база? Почему эта задача не может быть решена в рамках одной базы, в которой нет "хороших" и "плохих" адресов?
...
Рейтинг: 0 / 0
Угловой дом
    #37048524
БредятинаОт углового дома мы плавно перешли к угловому участку.

У углового участка сначала был вполне-себе угловой номер дома. Ты читаешь не внимательно. Ведь выписки из домовой книги и справки о регистрации выдаюия на номера домов, а не участков.
...
Рейтинг: 0 / 0
Угловой дом
    #37048527
Бредятина
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
рф, паспортный стол У углового участка сначала был вполне-себе угловой номер дома. Ты читаешь не внимательно. Ведь выписки из домовой книги и справки о регистрации выдаюия на номера домов, а не участков.
Внимательно читаю:) У участка не может быть номера дома. На участке вообще может не быть ни одного дома. А на "Вашем" участке построено сразу два (может быть и четыре). И речь идет в Вашем сообщении вовсе не об угловом доме.
...
Рейтинг: 0 / 0
Угловой дом
    #37048555
Мда, действительно - бредятина.
...
Рейтинг: 0 / 0
Угловой дом
    #37048576
Бредятина
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
рф, паспортный столМда, действительно - бредятина.
Стараюсь:)
Спасибо, что подтвердили, что речь в Вашем сообщении не об угловом доме:)
...
Рейтинг: 0 / 0
Угловой дом
    #37048588
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
temigalexeyvg,

по микрорайону все просто, микрорайон записываем как улицу. Ну а города в городах можно пересчитать по пальцам имхо, не думаю что у топикстартера такой вариант. Он же делает базу для одного своего какого-то города.

Топикстартер то что-то давно не появлялся, может нам расскажет поподробнее что ему нужно.Микрорайон записываем как улицу - это не универсально.

В общем, я уже писал здесь: "Без описания конкретной бизнес-задачи обсуждение бессмысленно."

temigЯ живу в Челябинске. Городов в городе у нас нету конечно, но улицы-микрорайоны вполне встречаются. Например что-то вроде "микрорайон премьера, дом №9". В том же 2gis так и обозначается, ул. Микрорайон Премьера, дом №9. Или что-то вроде ул. Краснопольская площадка, дом №7. Чем этот же микрорайон по сути отличается от улицы?

Отличается названием. Всё таки неправильно писать ул. Микрорайон Премьера, дом №9
улица, микрорайон, проспект, бульвар - должны называться как называются, а не "улица проспект ленина"

temigalexeyvg,

да, кстати, озвучьте как Вы предлагаете хранить данные?Если универсально - то просто древовидный классификатор територий с указанием типа и привязка домов к нижнему уровню. Номер дома - просто строка.

Далее в зависимости от конкретной бизнес-задачи определяем, как писать угловые дома.

В документах такие дома пишутся с одной улицей, соответственно достаточно привязывать дом к одной улице (классификатору територии), если иное не требуется в данной бизнес-задаче.
...
Рейтинг: 0 / 0
Угловой дом
    #37048944
boltachev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторПоэтому и следует подходить к этому вопросу с научной и инженерной точек зрения, в первую очередь. В Вашем сообщении есть несколько проблем:
1) Вы пишите об "уникальных идентификаторах". Возможно, Вы сообщаете об известном факте хранения "адресов" в РАЗНЫХ информационных системах. И их разного "наименования в этих системах. Хотя, возможно, что имеют место "официальные синонимы" адресов:)
2) Вы пишите о понятиях, которые не определены (или определены по разному в разных системах. Например, "категория". Почему Вы думаете, что "в первом случае почтовое отделение заявлено как категория". Так может написать только разработчик конкретной системы:) То же самое относится и ко "второму случаю". И уж совершенно неизвестно что такое "адрес":)

понятно, что в разных информационных системах по-разному.
но мы пытаемся рассуждать об одной, НОВОЙ, правильной, БД которая учтет интересы всех информационных систем.
чтобы не было так, что из-за впихивания почтового отделения в кладар, оно становилось улицей.

я вижу здесь две проблемы: синонимы адресов и отсутствие стандарта на структуру адреса.
первая решается легко: создаем таблицу синонимов. Там, где нужно вывести сам адрес выводим один из них (первый попавшийся, по алфавиту, наиболее популярный - они же синонимы, какая разница).

Вторую проблему я не знаю, как решить. Если хранить весь адрес в строке, то нельзя будет делать выборку по номеру микрорайона, например. (хотя, зачем?) Да и синонимы будут плодиться с каждой новой операционисткой.
...
Рейтинг: 0 / 0
Угловой дом
    #37048953
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
о чем воще бАзар?
дом корень - дальше граф (хоть до Киева)
...
Рейтинг: 0 / 0
Угловой дом
    #37049129
Бредятина
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
boltachevя вижу здесь две проблемы: синонимы адресов и отсутствие стандарта на структуру адреса.

первая решается легко: создаем таблицу синонимов. Там, где нужно вывести сам адрес выводим один из них (первый попавшийся, по алфавиту, наиболее популярный - они же синонимы, какая разница).

Вторую проблему я не знаю, как решить. Если хранить весь адрес в строке, то нельзя будет делать выборку по номеру микрорайона, например. (хотя, зачем?) Да и синонимы будут плодиться с каждой новой операционисткой.

1) только не таблицу синонимов, а таблицу адресов, так ведь?
2) но мы так и не знаем что такое "адрес"; не мудрено, что отсутствует стандарт на структуру неизвестно чего:)

В строке "адрес" удобно хранить, но только это ВЫЧИСЛЯЕМАЯ характеристика (причем именно в той структуре, в которой кому-либо нужно; чтобы там, к примеру, было бы именно 9 фрагментов, разделенных запятой и т.п.). Совсем недавно в одной из тем мы рассматривали этот вопрос. Если вспомню где, дам ссылку.
...
Рейтинг: 0 / 0
Угловой дом
    #37049149
Бредятина
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это в теме "Нормальная форма Бойса-Кодда" немного обсуждалось. Пара цитат:

… Именно иерархия, а для экземпляра-владельца достаточно определить только нижний узел. А именно, для представления Адреса прописки для Человека достаточно связать Человека только с идентифицированной квартирой (или домом). При этом и улица, и населенный пункт, и страна, и планета определяются автоматически. Я бы просто дополнительно создал вычисляемую характеристику Адрес прописки объекта Человек, и выводил бы в ней этот самый Адрес прописки в стандартном "красивом" виде. Собственно я Вам и объясняю, что единственное, что все еще нужно немножко программировать при создании приложения - это триггеры и вычисляемые характеристики. Кстати, вместо (не хранимых в БД значений) вычисляемых характеристик можно использовать триггеры, в этом случае ввод данных будет по медленнее, а вывод по быстрее:).

… Ну и по Вашему примеру. Здесь же Город (и т.п.) - это не объект с многочисленными характеристиками, а просто "элемент классификатора". Тогда это все решается двумя объектами и двумя связями между ними:

Элемент адреса --Состоит из/Входит в--> Элемент адреса
Элемент адреса <--Имеет/Используемый для-- Тип элемента адреса

У объекта Тип элемента адреса (его экземплярами в Вашем примере являются "квартира", "дом", "улица", "город", "страна", "планета", "галактика") могут быть характеристики:
1 Наименование
2 Номер уровня в КЛАДР
3 и др.
---
Правда, мы опять отклонились от "углового дома". Но если использовать подход с "иерархией" (КЛАДР, например), то пя говорить о "сети", а не о "дереве":)
...
Рейтинг: 0 / 0
Угловой дом
    #37050965
Cane Cat Fisher
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
БредятинаЕсли люди и дальше буду уходить от вопроса "что такое адрес"...

Верно. Предлагаю вернуться к истокам.

Понятие "адрес" возникло у людей с давних времен. Еще в первобытном обществе, наши волосатые пращуры, столкнувшись в борьбе за еду, пещеру, женщину, размахивали дубинками, и с помощью гортанных выкриков и недвусмысленных жестов посылали друг друга по разным адресам . Побеждал тот, кто знал больше заковыристых адресов - ему и доставалось право продолжить род. Поэтому, по закону естественного отбора, адреса становились все сложнее - появились корпуса, флигели, микрорайоны, угловые дома, КЛАДР, и даже "официальный сайт символического направления" (ссылку приводить не буду :-).

В итоге, под "адресом" понимают что-то из следующего:

Административное подчинение - описывает вертикаль государственных органов: Государство - губерния -уезд -сельсовет. Тут приплетаются автономные округа и республики, города неожиданно-федерального подчинения и прочие прелести. Все это весьма зыбко, поскольку президент, встав не с той ноги, вполне может затеять административную реформу.

Территориальное расположение - примерно описывает местонахождение объекта, в связи с улицами, микрорайонами, оврагами, и другими малоподвижными и хорошо заметными складками местности. Может быть как иерархией с пропусками уровней (деревня без улиц), так и с "призовыми" уровнями (например, в середине улицы один номер занимает военный городок, а в нем куча своих домов с нумерацией от единицы). Пример реального адреса - "Урочище Цветочное, д.1". ( из словаря: Урочище в физической географии - одна из морфологических частей ландшафта географического, сопряжённая система фаций ландшафтных... В широком понимании У. – любая часть местности, отличная от остальных (например, лес среди поля) ).

Почтовые адреса - дерево почтовых отделений, плюс элементы первых двух иерархий. Но может ограничиваться "а/я 15", не говоря уже о секретных военных городках, которые в народе издавна называли "почтовыми ящиками" из-за нехитрых шифрований почтальонов. Плюс полевая почта, и прочее, и прочее...

Если говорить об объектах недвижимости, которыми кто-то владеет (земельные участки, строения, квартиры, комнаты в коммуналках), то еще одним "первоисточником" адресов является соответствующий гос.орган регистрации прав собственности - как он напишет, так и тому быть. А остальным остается только буква в букву перенести адрес из его документов в свои базы данных - иначе они рискуют остаться с носом при первом же судебном разбирательстве.

Если же говорить о физических лицах, то у них есть единственный адрес регистрации постоянного места жительства, и первоисточник его написания - соответствующий паспортные столы, которые, в сущности, являются специализированными подразделениями МВД. То есть, они никак не подчиняются ни уже упоминавшимся гос.органам регистрации прав собственности на недвижимость, ни, разумеется, почте. Поэтому их базы, вообще говоря, могут "слегка" отличаться от вышеуказанных. Но если у носорога плохое зрение - это не его проблемы...

Кстати, с этой точки зрения, пример о двух домах на одном участке совершенно прозрачен: человек зарегистрирован в одном из домов (на Виноградной), но является владельцем также другого дома (на Абрикосовой). То есть, регистрация места проживания, и право собственности на жилье - совершенно разные вещи. Можно быть зарегистрированным и в чужом доме (если владелец не возражает), и в общежитии, и при этом владеть любым количеством заводов, газет, пароходов, и других домов. К БТИ здесь вопросов нет. А вот телодвижения паспортного стола, мягко говоря, непонятны.

Чтобы было еще интереснее: например, на Украине, у человека, кроме единственного адреса регистрации, может быть произвольное количество адресов "временного пребывания".

Но железно привязываться к адресу регистрации тоже нельзя - не надо забывать о нерезидентах. А также о том, что ответственность за нерегистрацию символическая - вдруг какому-то бизнесмену удобно какое-то время формально побомжевать.

Конторы, которые ведут городские коммуникации (свет, газ, вода, канализация, телефон), обычно ведут собственную документацию с собственными инвентарными номерами объектов, при этом "растаскивая" и "распиливая" здания и сооружения произвольным образом, по технологии подтаскивания проводов и газопроводов.

Думаю, в свете сказанного, продолжать вести речь о некоем "единственно правильном" адресе, без контекста задачи, будет несколько странно.
...
Рейтинг: 0 / 0
Угловой дом
    #37051012
Cane Cat Fisher
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как это делается в Одессе:

Общие правила присвоения адресов
2.1. Присвоение адресов объектам, образующим непрерывный фронт застройки, производятся от моря с нечетными номерами по левой стороне улицы и четными номерами – по правой.
2.2. Зданиям и сооружениям, находящимся на пересечении улиц различных категорий, присваивается адрес по улице более высокой категории.
2.3. Зданиям и сооружениям, находящимся на пересечении улиц равных категорий, присваивается адрес по улице, на которую выходит главный фасад здания. В случае, если на угол выходят два равнозначных фасада одного здания, адрес присваивается по улице, идущей в направлении от моря.
2.4. Присвоение адреса зданиям и сооружениям, образующим периметр площади, производится по часовой стрелке, начиная от улицы более высокой категории, со стороны моря. При этом, последовательность номеров зданий на сквозных улицах, примыкающих к площадям, прерывается. В случае, если угловое здание имеет главный фасад и значительную протяженность вдоль примыкающей улицы, адрес может присваиваться по улице, а не по площади.
2.5. Присвоение адресов объектам недвижимости, расположенным между двумя зданиями, корпусами или строениями с последовательными адресами, производится, используя меньший номер соответствующего объекта с добавлением к нему буквенной литеры.
2.6. Наружным обособленным пристройкам к зданию, сооружению может присваиваться в установленном порядке адрес, как самостоятельному зданию.
2.7. Адресом земельного участка является адрес объекта недвижимости, расположенного на нем.
2.8. Адрес не застроенного земельного участка определяется при его передаче в собственность (пользование) на основании градостроительной, проектной и землеустроительной документации.
...
Рейтинг: 0 / 0
Угловой дом
    #37051046
Cane Cat Fisher
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как это делается в Волгограде:

link
...
Рейтинг: 0 / 0
25 сообщений из 105, страница 3 из 5
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Угловой дом
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]