![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
проектирование бд
Vitamin © (2013-01-30 14:37:00)Нужно связать населенные пункты с улицами и домами? Гланьте, правильно ли я сделал?
settlement (id, name)
street (id, name)
house (id, name)
city_street (city_id, street_id)
city_house (city_id, house_id)
street_house(street_id, house_id)
Inovet (2013-01-31 00:41:00) [1]> [16] Ega23 © (30.01.13 23:04)
> если будет "населённый пункт" -> "улица" -> "дом".
В смысле есть справочник домов, можно посмотреть, какие бывают.
Dennis I. Komarov (2013-01-31 00:30:00) [2]Фиас есть и живет... Но не все хотят править софт, поэтому кладр еще актуален.
Fias.nalog.ru
O'ShinW (2013-01-30 23:27:00) [3]
> а зачем числовые номера домов?
Хорошая мысль :)
Не думал
> http://n.maps.yandex.ru/?oid=3228086
Владение = дом, строение = корпус, еще какая ерунда будет - тоже в корпус пойдет.
Это все буржуинские происки
Владение / строение.. Сталина на них нет :)
Игорь Шевченко (2013-01-30 23:09:00) [4]
> дом 5 корпус 3 строение 1
Это и есть "номер дома"
Ega23 (2013-01-30 23:04:00) [5]
> И вообще с 2011 года Медведев утвердил постановление о
> едином классификаторе адресов для всех служб, не прошло
> и 15 лет - ФИАС. Не смотрел, не знаю, но улучшеный КЛАДР,
> типа.
Ну дай-то Б-гъ. Я только за, если будет "населённый пункт" -> "улица" -> "дом".
Inovet (2013-01-30 21:44:00) [6]> [12] Ega23 © (30.01.13 18:53)
> А ещё может быть ул. Космонавтов, дом 5 корпус 3 строение 1.
В Кладр есть дома, поскольку разные почтовые индексы могут быть. И вообще с 2011 года Медведев утвердил постановление о едином классификаторе адресов для всех служб, не прошло и 15 лет - ФИАС. Не смотрел, не знаю, но улучшеный КЛАДР, типа.
Inovet (2013-01-30 21:39:00) [7]> [11] Jeer © (30.01.13 18:32)
> тропинка, дорожка, переулок, улица, проспект
Это всё улица, ещё может быть железнодорожная будка, например.
Inovet (2013-01-30 21:37:00) [8]> [7] sniknik © (30.01.13 15:45)
> а может и номера тоже
Мира ул, дом 2а/3, корпус 5ж,кв 1030
Ega23 (2013-01-30 18:53:00) [9]
> не уверен. Не попадалось
Пожалте брицца:
http://n.maps.yandex.ru/?oid=3228086
http://n.maps.yandex.ru/?oid=5456655
А ещё может быть ул. Космонавтов, дом 5 корпус 3 строение 1.
Jeer (2013-01-30 18:32:00) [10]
> или сумму номеров по улице планируете вычислять?
Угу и по сумме присваивать класс: тропинка, дорожка, переулок, улица, проспект..
Медвежонок Пятачок (2013-01-30 17:49:00) [11]а зачем числовые номера домов?
вы их складывать делить и умножать будете?
или сумму номеров по улице планируете вычислять?
O'ShinW (2013-01-30 17:39:00) [12]Имхо,
house
(id [int] not null,
number [int] not null,
corpus [varchar(5)]
)
т.к.
> есть и "буквенные" корпуса
Насчет
> и номера тоже.
не уверен. Не попадалось
Как раз вчера с адресами мучился, приводил в соответствие 2 БД..
Ega23 (2013-01-30 16:29:00) [13]
create table Buildings (
id integer PK,
cityid integer FK,
streetid integer FK,
caption varchar, -- номер дома
description varchar, -- описание
side bit, -- левая-правая сторона улицы
sortnr integer, -- порядок сортировки по стороне улицы
constraint UNQ_Buildings_City_Street unique (cityid, streetid)
)
Я бы как-то так сделал, если совсем навскидку.
sniknik (2013-01-30 15:45:00) [14]вообще первый вариант в общем случае не рабочий, т.к. есть и "буквенные" корпуса. ... а может и номера тоже.
sniknik (2013-01-30 15:43:00) [15]> как лучше хранить номера домов у которых есть корпус:
посмотри как сделано в кладре... и сделай наоборот. ;)
Vitamin (2013-01-30 15:40:00) [16]
> может
>
> но это решается через улицы
> from город Г
> join Улица У on У.ид = Г.ид
> join Дом Д on Д.ид = У.ид
>
>
понятно. еще по ходу вопрос: как лучше хранить номера домов у которых есть корпус:
house (id, number [int], building [int])
или
house (id, number[string])
O'ShinW (2013-01-30 15:23:00) [17]
> не может быть такого, что потребуется вывести населенные
> пункты в которых есть дом с определенным номером?
может
но это решается через улицы
from город Г
join Улица У on У.ид = Г.ид
join Дом Д on Д.ид = У.ид
знайка (2013-01-30 15:18:00) [18]Что значит "связать"?
Vitamin (2013-01-30 14:47:00) [19]
> лишнее
не может быть такого, что потребуется вывести населенные пункты в которых есть дом с определенным номером?
O'ShinW (2013-01-30 14:44:00) [20]
> city_house (city_id, house_id)
лишнее