Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

проектирование бд


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)

лишнее


Наверх

Титульная страница Поиск, карта сайта Написать письмо