powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / КЛАДР
20 сообщений из 45, страница 2 из 2
КЛАДР
    #36684179
Senya_L
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kirill RazuvaevSenya_L... в которые заливаем банные массовой вставкой... Оговорочка-то - по Фрейду... ;-)
Kirill Razuvaev 2Кирилл Разуваев, мы совсем забыли, что кроме переименования, для элемента КЛАДР еще возможны слияния, удаления и пр. :(Не помню, честно говоря, как в КЛАДР описаны правила слияния, а вот по удалению не вижу особых проблем. Удаление данных без подчиненных сводится к установке флага, в случае же наличия подчиненных - нужно разбираться. Варианта событий я вижу два: удаление с подчиненными (удаление "мертвых" населенных пунктов) и удаление узла с переподчинением или даже слиянием подчиненных (смена административного деления). Первый обсуждать особого смысла нет, ибо легко решается в любом из (обсуждаемых) вариантов реализации. А вот реализацию второго - есть сомнения, что удастся автоматизировать в силу нестабильности исходных данных... Хотя, возможно, кто-то сможет предложить довольно общее решение. Короче, нужно попробовать преобразовать дерево в граф посредством интеграции altnames.dbfИнтеграция с ALTNAMES под большим вопросом, потому как есть подозрение, что таблица неполная. Сейчас искать не буду, а когда разбирался годика 2 назад такие элементы видел. Хотя... может и поправили к настоящему времени.
...
Рейтинг: 0 / 0
КЛАДР
    #36701253
Хорёк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
как и обещал, но с небольшой задержкой.

эти скрипты создают два типа таблиц.
1. в которые я просто 1:1 импортирую данные из КЛАДР - они не реляционные.
2. уже принадлежат нашей базе. они связаны между собой.
...
Рейтинг: 0 / 0
КЛАДР
    #36701256
Хорёк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
а эти скрипты уже импортируют данные в наши таблицы.
скриптов для КЛАДР нет, так как я заливаю их простым ctrl+c - cttrl+v.
...
Рейтинг: 0 / 0
КЛАДР
    #36701297
Хорёк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ошибочка вышла,
создание таблиц - вот верный скрипт.
...
Рейтинг: 0 / 0
КЛАДР
    #36701525
Senya_L
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хорёкошибочка вышла,
создание таблиц - вот верный скрипт.Я только взглянул на скрипт и мне стало плохо. Можно сказать вырвало на это:
Код: plaintext
NUMBER( 22 , 10 )
Если я правильно понимаю синтаксис Oracle - это аналог NUMERIC(22,10)? Мусье, однако, извращенец...
...
Рейтинг: 0 / 0
КЛАДР
    #36701536
Senya_L
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Далее без эмоций. Вы просто содрали структуру оригинального КЛАДР, что не делает Вам чести. Просто содрали и добавили поле ID с непонятного назначения типом данных (кстати, что оно поменяло в данном случае - загадка?). Как связать Z_STREET и Z_KLADR? По CODE? Просто зашибись.

ЗЫ. Вы на эту дрянь потратили 2 недели???
...
Рейтинг: 0 / 0
КЛАДР
    #36701696
Хорёк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Senya_L,

уважаемый, если бы Вы читали внимательнее и просмотрели весь скрипт целиком - вы бы не писали этого поста)

во-первых, я написал, что первые таблицы, а именно, z_kladr, z_street, z_altnames, z_socrbase, z_doma - я создал, чтобы просто туда внести данные из кладр.

"эти скрипты создают два типа таблиц.
1. в которые я просто 1:1 импортирую данные из КЛАДР - они не реляционные.
2. уже принадлежат нашей базе. они связаны между собой."(см. выше)

а столбик ID - да, NUMBER(22,10) - он вообще не используется и не нужен,- просто забыл его удалить из скрипта.

во-вторых, ниже все в том же скрипте create_all_tables написано создание других таблиц, а именно тех, которые между собой связаны ;) (об это я тоже писал)

а в-третьих, вы хотя бы смотрели файл import_to_IIAS.sql? там вроде бы все написано.
если не хотите читать и смотреть, объясню на пальцах - из 5 таблиц КЛАДР я сделал 3 своих таблицы(на самом деле их 4, четвертая - таблица сокращений, она уже создана, я просто в нее внес свои значения - а именно - сокращения из z_socrname(искл. дубли) и присвоил каждому значению уник. код - то бишь id, если точнее vd_id)
первая,= K_ADDRESS_NAME - содержит все имена и код сокращения(vd_vd_id) из таблиц z_kladr и z_street (исключая дубли).
вторая,= Z_REG_ADDRESS - поддерживает связь самой с собой (то есть устанавливает отношения PARENT-CHILD), чтобы построить цепь связей - какой объект относится к какому: дом-улица-регион-субъект и так далее. содержит так же уровни - от 1 до 5. 1-4 - субъекты, регионы, нас. пункты, 5 - улица.
третья,= Z_BUILDINGS - только дома, связь с таблицей Z_REG_ADDRESS по reg_id.


надеюсь что-нибудь прояснислось, Мусье?
...
Рейтинг: 0 / 0
КЛАДР
    #36701701
Хорёк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
завтра я помещу скрины на которых буду нарисованы связи между таблицами, по какому полю и скрин - на нем будет пример заполнения таблиц, хотя бы одного из регионов ;)

думаю, что глупые вопросы и утверждения относительно моего потерянного времени отпадут)
...
Рейтинг: 0 / 0
КЛАДР
    #36702471
Хорёк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
связь таблиц
...
Рейтинг: 0 / 0
КЛАДР
    #36707151
Senya_L
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хорёкзавтра я помещу скрины на которых буду нарисованы связи между таблицами, по какому полю и скрин - на нем будет пример заполнения таблиц, хотя бы одного из регионов ;)

думаю, что глупые вопросы и утверждения относительно моего потерянного времени отпадут)Вопросы не то чтобы отпали. Все равно г... Как вы лодку назовете - так она и поплывет. Вы ее назвали NUMBER(22,10). Дальше не о чем говорить.
...
Рейтинг: 0 / 0
КЛАДР
    #36707427
Хорёк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Senya_L,


а-ха-ха))))))
...
Рейтинг: 0 / 0
КЛАДР
    #36711616
Хорёк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Senay_L,

зато другим пользователям поможет, если они столкнутся с такой задачей.
...
Рейтинг: 0 / 0
КЛАДР
    #36714243
Senya_L
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ХорёкSenay_L,

зато другим пользователям поможет, если они столкнутся с такой задачей.Это вряд ли. Скорее навредит. Для начала расскажи, как можно определить префикс у элемента классификатора, т.е это "ул" или "г", или "проспект"? А также расскажи: за какое место надо подвешивать автора, обзывающего поля именем "AN_AN_ID" итп? Здесь один типаж уверял, что один факт работы с Oracle "дисциплинирует". Это брехня.
...
Рейтинг: 0 / 0
КЛАДР
    #36717683
Хорёк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Senya_L,

1. чем тебя AN_AN_ID не устраивает?
2. таблица o_value_directory, столбец code, так и узнаешь.
...
Рейтинг: 0 / 0
КЛАДР
    #36720724
Senya_L
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ХорёкSenya_L,

1. чем тебя AN_AN_ID не устраивает?
2. таблица o_value_directory, столбец code, так и узнаешь.
хорошо. я убил в себе агрессию. и ты молодец, что еще отвечаешь ;)

Пойми, ты вываливаешь структуру, а никто не знает твоего (тонкого) замысла. И имена идентификаторов дают очень мало. Задумка видна смутно и прочие проектировщики мало поймут, что ты хотел сказать. Помимо AN_AN_ID есть и другие столбцы непонятного назначения. Зачем они? Для собственных нужд или они critically needed?
...
Рейтинг: 0 / 0
КЛАДР
    #36730147
Хорёк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Senya_L,

будет время - опишу подробнее.
...
Рейтинг: 0 / 0
КЛАДР
    #36731769
Хорёк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
начнем.

таблица o_value_directory
все сокращения из socbase.dbf
vd_id = id сокращения (PK)
code = сокращенное название
value = полное название

таблица k_address_name
наименования адресных объектов из kladr.dbf, street.dbf (исключая дубли)
an_id = address_name_id (id по названию таблицы)(PK)
adr_name = наименование адресных объектов
vd_vd_id = id сокращения из o_value_directory

таблица k_reg_address
то же, что и k_address_name, только содержит полностью все объекты от 1 до 4 уровня ( то есть дома и улицы не входят ).
используются только id, никаких названий.
это таблица, в которой используется parent-child связь (reg_id - reg_reg_id)

таблица k_buildings
таблица из DOMA.dbf
связь по reg_id
build_id = PK
build_numbers = строка домов (char).

вкратце.
...
Рейтинг: 0 / 0
КЛАДР
    #36731772
Хорёк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ошибочка

таблица k_reg_address
содержит полностью все объекты от 1 до 5 уровня (то есть дома не входят).
...
Рейтинг: 0 / 0
КЛАДР
    #36780963
wildwind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хорёк,

Интересно сравнить со своей и другими поделками.

Вопросы.

* Из каких соображений две таблицы k_address_name, k_reg_address вместо одной. И из каких соображений атрибуты разделены именно так.

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

* Каково назначение кучи атрибутов в o_value_directory, которые явно не из КЛАДРа

* Актуализация данных из КЛАДРа предусмотрена?
...
Рейтинг: 0 / 0
КЛАДР
    #36791713
Хорёк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
wildwind,
* Из каких соображений две таблицы k_address_name, k_reg_address вместо одной. И из каких соображений атрибуты разделены именно так.

k - значит КЛАДР ( чтобы проще было найти в БД ;) )

address_name - значит, что только адресны названия объектов хранятся.

reg_address - данные, контакная информация (индекс, налоговая и т.д.)

k_address_name - это таблица которая содержит только уникальные названия парой (название + код_объекта)

k_reg_address - эта таблица содержит уже полную информацию об объекте - только там хранятся не названия объектов - коды - или переводя на язык - id (от 1 до 5 уровня - то есть регион и далее ...до улицы).

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

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

а хранится все просто в строке, через запятую...в виде:
Россия, 196191, Санкт-Петербург г,,,,Новоизмайловский пр-т,24,2,56
+ в таблице присутствует признак ввода информации из КЛАДР (ноль или один)

* Каково назначение кучи атрибутов в o_value_directory, которые явно не из КЛАДРа

эта таблица была уже в базе - я ее использую не полностью - только пару значений.
(vd_id, code, value, dir_dir_id *ссылка на другую таблицу, где пометка, что это сокращения из КЛАДР(таблица КЛАДР - z_socrbase)* и еще пару столбцов, с пометкой о связи этих данных с другой таблицей)

* Актуализация данных из КЛАДРа предусмотрена

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



само задание предусмотрено для работы в оракл формс)
а форма сделана по принципу как сделано в 1С. когда вбиваешь адрес.
а потом пишет в таблице просто строку через запятую.


номера домов я тоже храню строкой, просто потом парсирую ее, как надо.
...
Рейтинг: 0 / 0
20 сообщений из 45, страница 2 из 2
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / КЛАДР
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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