powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Проектирование справочника адресов клиентов,сотрудников
25 сообщений из 41, страница 1 из 2
Проектирование справочника адресов клиентов,сотрудников
    #36252563
Dindilin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте.
помогите реализовать структуру базы.
Есть два типа адресов:
Адрес сотрудника
Адрес фирм-клиентов

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

И по поводу реализации того самого справочника адресов. Тип адреса:
Страна, Регион, Район, Населенный Пункт, Улица, номер дома, квартира/офис

Набросок структуры прилагается

Также было предложено,сделать общую таблицу адреса,

Справочник адреса
id
id_strana - Ссылка на справочник стран
id_region - Ссылка на справочник региона
id_raion - Ссылка на справочник районов
id_city - Справочник городов
id_street
numer
kvartira

В свою очеред справочники стран, региона, районов, городов, это таблицы с полями id, name

И ко всему этому безобразию необходимо реализовать древовидную структуру адреса

Россия
- Самараская область
- Тольятти
- Автозаводской район
- Центральный

и так далее. запутался уже в составлении данного справочника.
Заранее спасибо.
...
Рейтинг: 0 / 0
Проектирование справочника адресов клиентов,сотрудников
    #36252591
Naf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а вам это реально нужно?
может хранить текстом адрес и подгружать из КЛАДР классификатор?
кстати, вы уверены, что вы сможете так учесть иностранные адреса?
С уважением, Naf
...
Рейтинг: 0 / 0
Проектирование справочника адресов клиентов,сотрудников
    #36252639
Dindilin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Предлагалось держать адреса сотрудника или организации полным текстом в базе. Не желают такого. Хотят именно разделения.
Также хотят разделения Фамилий, Имен, отчеств по разным таблицам, с целью их склонения по падежам вручную, но это уже совсем другая история....
...
Рейтинг: 0 / 0
Проектирование справочника адресов клиентов,сотрудников
    #36252834
baracs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dindilin,
Интересно, что за мода такая?
Тут в параллельной ветке Нелепый вопрос для опытных профессионалов
тоже придумали сущность "адрес" и хотят что-то делать с ее id.
Чем принципиально отличаются "типы" адресов сотрудников и фирм-клиентов?

Храните id_street, numer (дома, надо полагать?) и kvartira прямо в таблицах с атрибутами сотрудников и клиентов.

Нарисовання вами структура смотрится красиво, но не учитывает кучу нюансов территориального-административного деления даже внутри РФ (см. КЛАДР), не говоря уже о мировых масштабах.

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

С такой структурой тоже не просто работать, но она, хотя бы, не требует переделки при появлении нового уровня территориального деления.
...
Рейтинг: 0 / 0
Проектирование справочника адресов клиентов,сотрудников
    #36252861
baracs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dindilin,
Только сейчас разглядел: а telephon зачем в таблице "адрес"?!!
...
Рейтинг: 0 / 0
Проектирование справочника адресов клиентов,сотрудников
    #36253023
Dindilin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
baracs, отредактировал схему
...
Рейтинг: 0 / 0
Проектирование справочника адресов клиентов,сотрудников
    #36253032
Naf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
для чего вы это делаете? хотелось бы узнать
С уважением, Naf
...
Рейтинг: 0 / 0
Проектирование справочника адресов клиентов,сотрудников
    #36253044
Dindilin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
baracs,
Нарисовання вами структура смотрится красиво, но не учитывает кучу нюансов территориального-административного деления даже внутри РФ (см. КЛАДР), не говоря уже о мировых масштабах.

Да, вот меж Город ,Регион, Улица, может также находится Район, и поулчается что нужна еще одна таблица, а уж если дерево потом из этого безобразия строить,можно будет рехнутся
...
Рейтинг: 0 / 0
Проектирование справочника адресов клиентов,сотрудников
    #36253052
Dindilin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Naf, делается это для выведения данных по определенному адресу, городу,региону. И для создания отчетов.
...
Рейтинг: 0 / 0
Проектирование справочника адресов клиентов,сотрудников
    #36253139
Dindilin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Либо вот такой вариант по которому возможно будет отстроить дерево, но логика построения лишена смысла будет
...
Рейтинг: 0 / 0
Проектирование справочника адресов клиентов,сотрудников
    #36253191
baracs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dindilinbaracs, отредактировал схему
Отредактировали ее, таки, вы
Я не предлагал справочник наименований (я правильно понял назначение таблицы Socr_base?), ну и бог с ним.

"Мишку мучает вопрос:" (c)
зачем же все-таки нужна таблица "adres"?
Почему нельзя street_id, nomer и kv вставить прямо в таблицы firm и sotrudnik?

Кстати, колонки nomer и kv делайте символьными. Уж номер дома-то точно: бывают литеры, корпуса, строения...
Правда, корпуса и строения лучше вынести в отдельные колонки...
...
Рейтинг: 0 / 0
Проектирование справочника адресов клиентов,сотрудников
    #36253263
Dindilin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ну как кажется, что лучше хранить все данные об адресах в одной таблице, чем в разных. а а таблице фирмы и сотрудники хранить ссылку на адрес.
...
Рейтинг: 0 / 0
Проектирование справочника адресов клиентов,сотрудников
    #36253839
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Уж номер дома-то точно А ещё бывают, например, такие адреса: "ул. Уличная, дом 13, кв.666, комната 1 ". Как он в Вашу схему впишется?
...
Рейтинг: 0 / 0
Проектирование справочника адресов клиентов,сотрудников
    #36253849
baracs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tanglirУж номер дома-то точно А ещё бывают, например, такие адреса: "ул. Уличная, дом 13, кв.666, комната 1 ". Как он в Вашу схему впишется?
Ага, давайте еще койко-место укажем
...
Рейтинг: 0 / 0
Проектирование справочника адресов клиентов,сотрудников
    #36254248
Dindilin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
tanglir, для таких дел есть поле description =)
...
Рейтинг: 0 / 0
Проектирование справочника адресов клиентов,сотрудников
    #36254320
SERG1257
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Naf а вам это реально нужно?+1

Предлагаю таки танцевать от печки
Зачем нужен адрес - для почты? тогда идите на почту, берите их базу, подгоняйте под их требования
Для отчетов в налоговую - тут кладр рулит
Для поиска сотрудников курьерами - тогда добавляйте всякую доп инфу типа "звонить три раза, у соседа злая собака, буду пьян не будите"
Далее: кто сказал что адрес у сотрудника или организации может быть один и только один, как минимум почтовый, адрес регистрации, адрес фактического проживания и т.п.
Для отчетов - тогда адрес не применим ибо не факт. дешевле добавить однозначное доп поле для группировки по отчетам - продажи по городу, району, области

авторХраните id_street, numer (дома, надо полагать?) и kvartira прямо в таблицах с атрибутами сотрудников и клиентов.
Смысл выделения в отдельную таблицу адресов иногда есть, но в каждом случае решение надо принимать самостоятельно.
...
Рейтинг: 0 / 0
Проектирование справочника адресов клиентов,сотрудников
    #36254821
baracs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SERG1257Зачем нужен адрес - для почты? тогда идите на почту, берите их базу, подгоняйте под их требования
Для отчетов в налоговую - тут кладр рулит
А налоговая ведет КЛАДР разве не совместно с почтовой службой?
SERG1257Смысл выделения в отдельную таблицу адресов иногда есть, но в каждом случае решение надо принимать самостоятельно.
Само собой.
...
Рейтинг: 0 / 0
Проектирование справочника адресов клиентов,сотрудников
    #36255259
Фотография shelsoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1) Если мы упоминаем КЛАДР то давайте прочитаем определение для чего он создан :)
2) Я бы с очень большим напрягом согласился с предложенной автором структурой если бы он еще
а) не претендовал на международность (кантоны, земли, префекуты и те.де)
б) объяснил бы мне правильно ли я написал адреса
Страна (Россия), Регион (Москва), Район (Калининский), Населенный Пункт (Москва), Улица (Героев Автоматизации), номер дома (д. 23-34-46 корпус 2A строение Б2) , квартира/офис (14/2)

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

P.S. Cписок реальных адресов на примере СПБ
1) Г.САНКТ-ПЕТЕРБУРГ, ШУВАЛОВО, ПЕРВОМАЙСКАЯ УЛИЦА, ДОМ 6А, ЛИТЕРА А
2) Г.САНКТ-ПЕТЕРБУРГ, ПОСЕЛОК ЛЕВАШОВО, ЛЕВАШОВО-2 , ДОМ 1, ЛИТЕРА А
3) Г.САНКТ-ПЕТЕРБУРГ, ПОСЕЛОК ПАРГОЛОВО, ОСИНОВАЯ РОЩА, ОВРАЖНЫЙ ПЕРЕУЛОК, ДОМ 6
4) Г.САНКТ-ПЕТЕРБУРГ, КАНОНЕРСКАЯ УЛИЦА, ДОМ 6-8-10 , ЛИТЕРА А





______________________________________________________
Давайте считать обступившее нас со всех строн коричневое море шоколадным
...
Рейтинг: 0 / 0
Проектирование справочника адресов клиентов,сотрудников
    #36255452
Dindilin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А ведь одна и таже улица может встречатся в разных городах
г. Самара, ул. Строителей
г. Сызрань, ул. Строителей
тогда получается что запись в улицах, Строителей будет не одна а несколько? а если такая улица, будет в 10 городах....
...
Рейтинг: 0 / 0
Проектирование справочника адресов клиентов,сотрудников
    #36255825
baracs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DindilinА ведь одна и таже улица может встречатся в разных городах
г. Самара, ул. Строителей
г. Сызрань, ул. Строителей
тогда получается что запись в улицах, Строителей будет не одна а несколько? а если такая улица, будет в 10 городах....
Да. Это разные объекты с одинаковым наименованием.
Сколько в бывших странах развитого социализма улиц Ленина, даже старшно подумать

Вопрос в том, на сколько важен этот факт для решаемой вами задачи.
Если, например, надо хранить историю переименований, то важен.
...
Рейтинг: 0 / 0
Проектирование справочника адресов клиентов,сотрудников
    #36256526
buhBot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Мм, Господа, а почему бы не использовать простой иерархический справочник?

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
CREATE TABLE [dbo].[TAdr](
	[id] [int] NULL,
	[id_parent] [int] NULL,
	[Value] [nchar]( 10 ) NULL,
	[type_record] [int] NULL
) ON [PRIMARY]

CREATE TABLE [dbo].[SType](
	[id] [int] NULL,
	[Type_item] [nchar]( 10 ) NULL
) ON [PRIMARY]
 
TAdr.id->TAdr.id_parent
TAdr.id->SType

В справочнике SType указываем всевозможные варианты типов элементов адреса (от угла в комнате до континентов) и все - в такую структуру почти без избыточности можно поместить адреса от
стр Россия, гор. Москва, ул Ленина. дом 1
до
стр Россия, Московская обл., Мухагорский район, поселок Абыкакой, проезд Деревенских, дом 7, дробь 2, корпус 1, кв 2, а, комната 17, б.

p.s. гдет валялся пакет для импорта кладра в такую структуру :о) То, что обработка такой структуры в основном только рекурсией - нас это не волнует (это волнует программистов). Да и во многих СУБД есть средства работы с иерархическими справочниками.
...
Рейтинг: 0 / 0
Проектирование справочника адресов клиентов,сотрудников
    #36257828
Dindilin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
buhBot, привлекательная структура =) Таким образом id_adres_firm из таблицы Полного адреса фирмы будет равен TAddr.Id и уже по нему собирать полный адрес?
...
Рейтинг: 0 / 0
Проектирование справочника адресов клиентов,сотрудников
    #36257982
buhBot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DindilinbuhBot, привлекательная структура =) Таким образом id_adres_firm из таблицы Полного адреса фирмы будет равен TAddr.Id и уже по нему собирать полный адрес?
Совершенно верно. Адрес собирается с конца (квартира->дом->корпус-> и т.д.)
...
Рейтинг: 0 / 0
Проектирование справочника адресов клиентов,сотрудников
    #36258990
baracs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
buhBotТо, что обработка такой структуры в основном только рекурсией - нас это не волнует (это волнует программистов).
Чтоб я так жил!
...
Рейтинг: 0 / 0
Проектирование справочника адресов клиентов,сотрудников
    #36263510
Фотография Сергей Васкецов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tanglirУж номер дома-то точно А ещё бывают, например, такие адреса: "ул. Уличная, дом 13, кв.666, комната 1 ". Как он в Вашу схему впишется?
Бывает и просто "д. Сусай", без улиц и домов.
...
Рейтинг: 0 / 0
25 сообщений из 41, страница 1 из 2
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Проектирование справочника адресов клиентов,сотрудников
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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