Гость
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Правильно создание таблиц [теория] / 17 сообщений из 17, страница 1 из 1
30.09.2019, 11:00
    #39868981
smatch
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Правильно создание таблиц [теория]
Добрый день.

Необходимо сделать таблиц(у\ы) адресов. Как лучше? Индекс по оперенной улице улице или городу должен быть.
Адреса содержат Страна, Область, Населенный пункт, Улица, Дом, подъезд, этаж, квартира. Данные допустим о 5-20 млн клиентов.

1 вариант. Побольше таблиц :)
Страна, Область, Населенный пункт, Улица - 4 таблицы, соответственно связи через parent_id
Дом, подъезд, этаж, квартира - 1 таблица.
Но и к пользователю соответственно из предыдущей таблицы ID.

2 вариант. Объектный стиль наподобие sys.objects
В одну таблицу все добавляем, связь через parent_object_id и по type определяем тип (только его наверно стоит сделать int и доп таблицу).

3 вариант. Не делаем таблиц новых таблиц вовсе.
В таблицу к пользователю просто вписываем данные ;)

Какие плюсы минусы у каждого варианта, особенно интересно select, insert/update, размеры данных и индексов.
Может кто еще какие варианты сможет предложить?

Модератор: Тема перенесена из форума "Microsoft SQL Server".
...
Рейтинг: 0 / 0
30.09.2019, 11:32
    #39869008
Сергей Васкецов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Правильно создание таблиц [теория]
Не обижайтесь заранее, но Вы вообще пробовали поиском пользоваться? Адреса тут обсуждались много раз.
...
Рейтинг: 0 / 0
30.09.2019, 11:48
    #39869019
Злой Бобр
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Правильно создание таблиц [теория]
smatch,

Все уже придумано до вас. Более того уже есть готовые адреса по нескольким странам бывшего совка.
...
Рейтинг: 0 / 0
30.09.2019, 12:08
    #39869037
Сергей Васкецов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Правильно создание таблиц [теория]
Злой Бобрпо нескольким странам бывшего совка.
Может работа касается каких-то совсем далёких и хитрых стран?
...
Рейтинг: 0 / 0
30.09.2019, 14:24
    #39869164
Злой Бобр
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Правильно создание таблиц [теория]
Сергей Васкецов,

Россия, Украина, Казахстан - есть точно. По остальным нада спрашивать народ что там живет - думаю подскажут ссылку где взять (по Литве так тут вроде находили).
...
Рейтинг: 0 / 0
30.09.2019, 14:48
    #39869182
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Правильно создание таблиц [теория]
smatchКак лучше?
Лучше всего вообще ничего не делать и хранения адресов избегать насколько это вообще возможно. Тем более о 5-20 млн клиентов. Во-первых, это персональные данные, с которыми геморрой, а во-вторых, поддержание этой информации в актуальном состоянии - геморрой в квадрате.
...
Рейтинг: 0 / 0
30.09.2019, 14:49
    #39869185
полудух
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Правильно создание таблиц [теория]
крупняки пользуются базами адресов яндекса
...
Рейтинг: 0 / 0
30.09.2019, 22:14
    #39869594
vmag
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Правильно создание таблиц [теория]
smatchИндекс по оперенной улице улице или городу должен быть.

индекс по почтовым отделениям , сколько в городе отделений, столько и индексов
...
Рейтинг: 0 / 0
01.10.2019, 08:54
    #39869675
L_argo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Правильно создание таблиц [теория]
авторКак лучше?Чем проще, тем лучше.
Ссылку делать только на Страна, Город. Остальное - прописью установленного образца.

Район, Область, Регион, Округ, Префектура устроены в разных странах по разному и вряд ли получится адекватно причесать их в одну красивую структуру, чтобы быстро из нее доставать. А еще может быть подчиненность, которая может не совпадать с географической.
И не только подчиненность, а просто какие-то исключения.
...
Рейтинг: 0 / 0
01.10.2019, 09:09
    #39869678
Сергей Васкецов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Правильно создание таблиц [теория]
То есть ЗАЧЕМ автору адреса, и что он с ними потом будет делать - как бы никому даже не интересно, главное - советов надавать? )))
...
Рейтинг: 0 / 0
01.10.2019, 10:29
    #39869728
L_argo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Правильно создание таблиц [теория]
То есть ЗАЧЕМ автору адреса, и что он с ними потом будет делать - как бы никому даже не интересноНу раз сам ТС не указал, значит и ему это неинтересно. :)

По умолчанию поняли как "просто хранить адреса".
...
Рейтинг: 0 / 0
01.10.2019, 12:01
    #39869834
smatch
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Правильно создание таблиц [теория]
Хранить адреса клиентов, указал жеш :)

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

понятно что в дальнейшем может появится больше задач для выборке пользователей исходя из их местожительства.
...
Рейтинг: 0 / 0
01.10.2019, 12:28
    #39869860
Сергей Васкецов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Правильно создание таблиц [теория]
smatchХранить адреса клиентов, указал жеш :)
Хранить - это не задача, это метод обеспечения способа решения задачи.

smatchи как бы нужен поиск (индексы), например чтоб найти всех клиентов на определенной улице или в определенном городе
Вот это уже более-менее техническая задача.
Вероятно, хранение денормальзованной информации в одном поле не подойдёт, в противном случае придётся приводить и адреса, и строки поиска к одному формату.

smatchнапример какой процент жителей города являются нашими клиентами
Адресация для этого не поможет никак.
...
Рейтинг: 0 / 0
01.10.2019, 12:32
    #39869862
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Правильно создание таблиц [теория]
smatchДобрый день.

Необходимо сделать таблиц(у\ы) адресов. Как лучше?

ФИАС не предлагать?
...
Рейтинг: 0 / 0
01.10.2019, 12:33
    #39869864
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Правильно создание таблиц [теория]
smatchДобрый день.

Необходимо сделать таблиц(у\ы) адресов. Как лучше?


так "как лучше " зависит от того, "что надо".
...
Рейтинг: 0 / 0
01.10.2019, 12:36
    #39869867
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Правильно создание таблиц [теория]
smatchХранить адреса клиентов, указал жеш :)

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

понятно что в дальнейшем может появится больше задач для выборке пользователей исходя из их местожительства.

Тогда 3ий не годится, только 1ый и 2ой, на самом деле это -- один способ, потому что
иначе, без объектного подхода (отношения подъкатегории) ты иерархическую схему построения адреса не построишь.

Естественно, таблица будет не одна , как ты написал, а много, по числу классов данных.

Посмотри ФИАС, она ничего, и там уже данные есть...
...
Рейтинг: 0 / 0
01.10.2019, 12:37
    #39869868
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Правильно создание таблиц [теория]
L_argoавторКак лучше?Чем проще, тем лучше.
Ссылку делать только на Страна, Город. Остальное - прописью установленного образца.

Район, Область, Регион, Округ, Префектура устроены в разных странах по разному и вряд ли получится адекватно причесать их в одну красивую структуру, чтобы быстро из нее доставать. А еще может быть подчиненность, которая может не совпадать с географической.
И не только подчиненность, а просто какие-то исключения.

smatch , ОЧЕНЬ ВАЖНО в какой стране адреса.
И в одной или нескольких.
...
Рейтинг: 0 / 0
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Правильно создание таблиц [теория] / 17 сообщений из 17, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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