Как объединить два Древа в одно?

Перед тем, как задать вопрос, ознакомьтесь с ответами на часто задаваемые вопросы и со Справкой. Пожелания пишем на reformal.ru

Модераторы: Genery, Elena Polyanskikh

Ответить
Сообщение
Автор
Аватара пользователя
hippocamus
Сообщения: 923
Зарегистрирован: 09 дек 2009 16:28
Откуда: Рыбинск, Ярославская обл.
Контактная информация:

Re: Как объединить два Древа в одно?

#121 Сообщение hippocamus » 03 июн 2020 21:40

o22 писал(а): 03 июн 2020 18:34
Elena Polyanskikh писал(а): 03 июн 2020 18:15 1. Да, должно появиться, так как созданное событие имеет внутренний код, который не встречается в Базе1, это новый объект для Базы1.
2. Как это? Внутренние коды не повторяются, они уникальны. Конечно, есть какое-то число объектов, при котором этот уникальный код повторится, но вероятность этого стремится к нулю даже в файле с 50тыс персон.
Можно подробнее о структуре этого кода?
1. Она составная (код базы + код записи)
2. Или суррогатная (псевдослучайное число или GUID)

При экспорте в Гедком, то, что в поле, например:
1 _UID 551BA503_269

Это этот внутренний код?
Это функция от времени системного таймера.
В моей программе familiar (установщик поля "РОД", код которого я вам присылал, и теперь он в вашей программе) есть эта функция, а мне её прислал Дмитрий.
Скачать Информер (для Древа Жизни 4.х). Установить.
Заменить экзешник на вот этот: https://yadi.sk/d/v49r7N46tdixe
Запустить от администратора. Указать путь к базе. Отключить автообновление.
Будет последняя версия 2.43. Рабочая )

СергейР
Сообщения: 48
Зарегистрирован: 17 мар 2018 09:52

Re: Как объединить два Древа в одно?

#122 Сообщение СергейР » 04 июн 2020 11:38

o22 писал(а): 01 июн 2020 13:50
СергейР писал(а): 01 июн 2020 13:27 Может разработчики подумают о внешних ссылках по аналогии с CAD программами? Думаю было бы удобно.
Я не совсем понял сути предложения, но если говорить о проблеме в целом, то никакие технические решения не спасут "бардак" в файлах, если он уже есть.
С 90х годов в программах для проектирования (черчения) применяются ссылки обычно они разделяются на вставленную и наложенную, различаются они для отображения прикреплённых перекрёстных ссылок или последовательных ссылок. Это что то типа блока который отображается из другого файла с определённой точкой вставки и масштабом. Если кто то поменяет ссылочный файл то при обновлении поменяется основной чертёж. При команде внедрить внешнюю ссылку программа внедряет уже эту ссылку (чертёж, блок) в основной файл. А до этого это совершенно разные файлы. Думаю если появится эта функция в Древо жизни то будет многое решено с параллельной работой.
Программа «Древо жизни» очень хорошая, хорошо развивается, хорошо отвечают на вопросы. Думаю, всем пользователям нужно объединиться и предложить разработчику (материально заинтересовать) усовершенствование графического отображения в разделе параметризации, параллельной работы, графической росписи (формирование родословной книги с отображением страниц с ссылками на страницы (последнего вообще ни в какой программе нету)).

Аватара пользователя
o22
Сообщения: 662
Зарегистрирован: 12 дек 2010 00:13
Контактная информация:

Re: Как объединить два Древа в одно?

#123 Сообщение o22 » 05 июн 2020 17:09

hippocamus писал(а): 03 июн 2020 21:40
o22 писал(а): 03 июн 2020 18:34 Можно подробнее о структуре этого кода?
1. Она составная (код базы + код записи)
2. Или суррогатная (псевдослучайное число или GUID)

При экспорте в Гедком, то, что в поле, например:
1 _UID 551BA503_269

Это этот внутренний код?
Это функция от времени системного таймера.
В моей программе familiar (установщик поля "РОД", код которого я вам присылал, и теперь он в вашей программе) есть эта функция, а мне её прислал Дмитрий.
Установки Рода в моей программке уже давно нет. Еще когда я перешел на работу с чистым Гедком-ом, я его исключил (так как РОД- это сугубо ДЖ-шное изобретение и в GEDCOM его нет в принципе). Когда я снова вернул поддержку at4 (кстати именно из-за инструментов, так как иногда что-то в базе нужно было править, да и другие просили), то я установку рода уже не возвращал, так как мне это стало не очень интересным. Я понял, что все, что не входит в стандарт Гедком, все со временем может пропасть и усилий по его заполнению не стоит особо прилагать.
Ну и когда делал поддержку at5, то естественно, что тоже по родам ничего не делал.
А на счет этой функции, да, припоминаю, что такая была. Она еще сбойнула у Дмитрия в какой-то версии и он мне даже новую версию присылал.
Так как я сейчас в базу ничего не вставляю (ну кроме техпризнака), то необходимость в такой функции у меня отпала и я ей не пользуюсь.
Но сейчас смотрю базу 5-ки и не вижу никаких полей с рандомными значениями, которые намекали бы на какую-то уникальность.
Есть какое-то поле в табличке __Recs (rec_guid), которое может быть чем-то псевдослучайным, но тоже какое-то оно стремноватое, так как есть в нем и 3-4-хзначные числа, что не очень меня убеждает в его уникальности в разных базах. С 2019 года оно, правда уже какое-то более длинное и впреремежку с отрицательными значениями. Но если такая уникальность только у новых записей, а у старых - так себе, то это тоже не придает мне уверенности в том, что при слиянии не будет проблем.
Глянь свежим взглядом, может ты что-то найдешь?
Сайт программ GedcomReport, DrevoReport http://go.inf.ua
Исследования: Васильковський, Киевский, Звенигородский уезды Киевской губернии
Нежинский уезд Черниговской губернии

Аватара пользователя
Genery
Site Admin
Сообщения: 3215
Зарегистрирован: 23 янв 2005 06:17
Откуда: Новосибирск
Контактная информация:

Re: Как объединить два Древа в одно?

#124 Сообщение Genery » 07 июн 2020 09:47

o22 писал(а): 05 июн 2020 17:09Но сейчас смотрю базу 5-ки и не вижу никаких полей с рандомными значениями, которые намекали бы на какую-то уникальность.
В версии 5 вот это:
CREATE INDEX [i_di] ON [__Recs] ([rec_di], [rec_guid], [rec_table]);
Дмитрий Киркинский, Genery Software

Аватара пользователя
hippocamus
Сообщения: 923
Зарегистрирован: 09 дек 2009 16:28
Откуда: Рыбинск, Ярославская обл.
Контактная информация:

Re: Как объединить два Древа в одно?

#125 Сообщение hippocamus » 07 июн 2020 21:53

o22
А какой вы программой-то открываете?
Я что-то забыл уже чем открывал, и ничего подобрать не могу.
Скачать Информер (для Древа Жизни 4.х). Установить.
Заменить экзешник на вот этот: https://yadi.sk/d/v49r7N46tdixe
Запустить от администратора. Указать путь к базе. Отключить автообновление.
Будет последняя версия 2.43. Рабочая )

Аватара пользователя
o22
Сообщения: 662
Зарегистрирован: 12 дек 2010 00:13
Контактная информация:

Re: Как объединить два Древа в одно?

#126 Сообщение o22 » 08 июн 2020 15:51

hippocamus писал(а): 07 июн 2020 21:53 o22
А какой вы программой-то открываете?
Я что-то забыл уже чем открывал, и ничего подобрать не могу.
SQLite Expert Personal 5
Сайт программ GedcomReport, DrevoReport http://go.inf.ua
Исследования: Васильковський, Киевский, Звенигородский уезды Киевской губернии
Нежинский уезд Черниговской губернии

Аватара пользователя
o22
Сообщения: 662
Зарегистрирован: 12 дек 2010 00:13
Контактная информация:

Re: Как объединить два Древа в одно?

#127 Сообщение o22 » 08 июн 2020 16:31

Genery писал(а): 07 июн 2020 09:47
o22 писал(а): 05 июн 2020 17:09Но сейчас смотрю базу 5-ки и не вижу никаких полей с рандомными значениями, которые намекали бы на какую-то уникальность.
В версии 5 вот это:
CREATE INDEX [i_di] ON [__Recs] ([rec_di], [rec_guid], [rec_table]);
То есть упоминаемый Еленой выше "внутренний код" это все-таки составное поле? Во всяком случае, в 5-й версии.
И дата-время вставки записи в базу и есть залогом уникальности каждой записи?
Так как guid сам по себе был-бы "жидковат" для такой миссии.
Да, при таком подходе (дата-время + guid), можно действительно говорить об уникальности
А что тогда Вы пишете в гедком в поле _UID? Какова цель этого нестандартного тега?
Сайт программ GedcomReport, DrevoReport http://go.inf.ua
Исследования: Васильковський, Киевский, Звенигородский уезды Киевской губернии
Нежинский уезд Черниговской губернии

Аватара пользователя
Genery
Site Admin
Сообщения: 3215
Зарегистрирован: 23 янв 2005 06:17
Откуда: Новосибирск
Контактная информация:

Re: Как объединить два Древа в одно?

#128 Сообщение Genery » 09 июн 2020 05:35

o22 писал(а): 08 июн 2020 16:31 А что тогда Вы пишете в гедком в поле _UID? Какова цель этого нестандартного тега?
Он желателен для импорта в MyHeritage.
Дмитрий Киркинский, Genery Software

rabar
Сообщения: 14
Зарегистрирован: 16 янв 2015 01:13

Re: Как объединить два Древа в одно?

#129 Сообщение rabar » 21 июн 2020 15:14

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

Аватара пользователя
hippocamus
Сообщения: 923
Зарегистрирован: 09 дек 2009 16:28
Откуда: Рыбинск, Ярославская обл.
Контактная информация:

Re: Как объединить два Древа в одно?

#130 Сообщение hippocamus » 21 июн 2020 16:46

rabar писал(а): 21 июн 2020 15:14 Версии программы Древо жизни последние. Задача: выгрузить отдельных лиц из одной базы и загрузить в другую. Как это сделать?
Прошу прощения, но не смог на форуме найти, как это делать...
Проставить им определённый признак (ну, допустим, "Фаворит"), и отфильтровать по этому признаку.
Скачать Информер (для Древа Жизни 4.х). Установить.
Заменить экзешник на вот этот: https://yadi.sk/d/v49r7N46tdixe
Запустить от администратора. Указать путь к базе. Отключить автообновление.
Будет последняя версия 2.43. Рабочая )

Аватара пользователя
Genery
Site Admin
Сообщения: 3215
Зарегистрирован: 23 янв 2005 06:17
Откуда: Новосибирск
Контактная информация:

Re: Как объединить два Древа в одно?

#131 Сообщение Genery » 22 июн 2020 06:05

rabar писал(а): 21 июн 2020 15:14 Версии программы Древо жизни последние. Задача: выгрузить отдельных лиц из одной базы и загрузить в другую. Как это сделать?
Прошу прощения, но не смог на форуме найти, как это делать...
Сохранение части данных в отдельный файл: /wiki/ru:file_saveto
Добавление данных из другого файла: /wiki/ru:file_loadfrom
Дмитрий Киркинский, Genery Software

Ответить

Кто сейчас на конференции

Сейчас этот форум просматривают: Bing [Bot], Google [Bot], Majestic-12 [Bot] и 16 гостей