Загрузите GEDCOM-файл на ВГД   [х]
Всероссийское Генеалогическое Древо
На сайте ВГД собираются люди, увлеченные генеалогией, историей, геральдикой и т.д. Здесь вы найдете собеседников, экспертов, умелых помощников в поисках предков и родственников. Вам подскажут где искать документы о павших в боях и пропавших без вести, в какой архив обратиться при исследовании родословной своей семьи, помогут определить по старой фотографии принадлежность к воинским частям, ведомствам и чину. ВГД - поиск людей в прошлом, настоящем и будущем!
Вниз ⇊

Ликбез по СУБД


← Назад    Вперед →Страницы: 1 * 2 3 4 5 Вперед →
Модератор: apuzanoff
bascomo
Участник

Moscow
Сообщений: 56
На сайте с 2004 г.
Рейтинг: 1
Поздравляю со старым новым годом!

Как сказал один человек, "у нас и старый год, и новый год, и старый новый год... лишь бы не работать!" 101.gif

И в чём-то он прав.

Во-первых, хотелось бы отметить сразу одну деталь.
Когда мы говорим о генеалогии, то мы, по сути, говорим не о "деревьях", а о "паутине". Это разные вещи.

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

Но вот с точки зрения отображения результирующей информации различия весьма существенны.
Если типичное "древо" имеет один корень и его ветви не пересекаются, то в "паутине" эти правила не действуют.

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

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

Людмила! Как Вы справедливо заметили, программа, реализующая построение "паутинки" (а Вас интересует именно она, т.к. "древо" - это частный случай паутинки, не являющийся универсальным, так вот, эта программа может быть универсальной.

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

Метод, предложенный Вами для обеспечения иерархии, несостоятелен по нескольким причинам, хотя он и используется в некоторых промышленных системах стоимостью в десятки тысяч долларов.
Одна из причин заключается в том, что Вы не сможете эффективно и средствами DBMS произвести выборку данных. Например, Вы не сможете узнать, сколько человек с фамилией N* проживало в городе N* в X* году.

Кроме того, чтобы использовать иерархическую структуру данных, гораздо проще и эффективнее воспользоваться штатными средствами DBMS (например, композитные индексы).

Проблема, связанная с медленной работой сайта, связанного с DB МГТС, заключается, по всей вероятности, в недостаточной производительности сервера, неэффективных запросах или неподходящей DBMS или... 101.gif

Причин может быть масса и той информации, что Вы предоставили, недостаточно для адекватного и правильного ответа.

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

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

Что же касаемо времени ответа на запрос, то нормально, если оно не превышает времени, необходимого на загрузку страницы (если мы говорим о web-системе) + 5 - 10 секунд.

Собственно, при достаточниых аппаратных ресурсах (мощность сервера) любая DBMS выполняет запросы достаточно быстро. Гораздо больше времени тратится на обработку данных.

Сложность при наличии нескольких баз данных заключается ещё и в том, что возникнут некоторые издержки на обеспечение синхронизации данных.

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

Это так, галопом по Европам (по Вашим постингам в этой теме).

С уважением,
Александр.

---
Ищу: БАРЫШНИКОВЫ; ЗОБНИНЫ; КРИВОБОК; ПОПАЗ; АРТЕМЬЕВЫ; СОЛОДЯНКИНЫ
Ludmilla
скончалась 16 марта 2009 Светлая ей память!

Ludmilla

Москва
Сообщений: 5773
На сайте с 2005 г.
Рейтинг: 1607
Вы очень хорошо мне ответили, но не на все 101.gif
То есть я поняла, одна база лучше, чем три.
Дело в том, что, исходя из многочисленных и не относящихся к СУБД соображений мне удобнее делать три отдельных базы, а потом их объединять. Так вот это возможно или до такой степени трудно, что, можно считать, и невозможно?
Если возможно, то необходимо ли определять сразу, какая структура у результирующей базы и, исходя из этого, придумывать структуру трех первоначальных баз? Или можно просто делать три базы как в голову взбредет (повторяющиеся элементы будут во всех трех), а потом их все равно можно объединить?
А про паутину мне понравилось. 101.gif
Как раз большая часть генеалогичсеких древ - это паутины а не дерева, особенно если исследовать предков по всем линиям и все боковые ответвления. А существующие генеалогические программы рассчитаны именно на дерева, поэтому чем сложнее связи, тем более нескладно и непонятно это древо выглядит.
Ludmilla
скончалась 16 марта 2009 Светлая ей память!

Ludmilla

Москва
Сообщений: 5773
На сайте с 2005 г.
Рейтинг: 1607
Мыслю, значит, существую.
Мысль у меня возникла. Можно ли создать окончательную структуру программы и просто заполнять ее в трех местах - в одном месте один кусок, в другом - другой. А потом это все объединить. Иле это внесет фантастическую путаницу?
Sergey

Электросталь
Сообщений: 321
На сайте с 2003 г.
Рейтинг: 96
Да хоть в ста местах. На то она и структуированная база 101.gif
---
Сергей
Автор программы для Андроид Поколения
Ludmilla
скончалась 16 марта 2009 Светлая ей память!

Ludmilla

Москва
Сообщений: 5773
На сайте с 2005 г.
Рейтинг: 1607
Ну да, а если там эти самые уникальные номера образуются сами, как все сказали, что нужно, то, значит, если допустим в одном месте населенные пункты упоминаются (при этом им присваиваются номера), а в другом месте заполняется кусок базы по населенным пунктам и там им присваиваются другие уникальные номера... Как это слить? Номера не перепутаются?
Sergey

Электросталь
Сообщений: 321
На сайте с 2003 г.
Рейтинг: 96
Нет, не перепутаются. Уникальный номер при сливании в последующей базе можно переназначить, начав со следующего из предыдущей базы.
---
Сергей
Автор программы для Андроид Поколения
Ludmilla
скончалась 16 марта 2009 Светлая ей память!

Ludmilla

Москва
Сообщений: 5773
На сайте с 2005 г.
Рейтинг: 1607
А все связи как же? Они перенумеруются автоматически? Кроме того, часть населенных пунктов будут совпадать. В одном куске базы будут сведения, например, о том, кто родился или умер в Минске (и Минск уже получил номер), а в другом будет сам по себе Минск с какими-то событиями его истории (и тут уже номер у него будет другой). То есть это уже не автоматическое слияние, а какое-то... "размышлительное" слияние, куски базы должны, сливаясь, понимать что в них совпадает... А это какая-то дополнительная проблема. Может, поэтому, лучше просто сливать три разные базы, встроив эту интеллектуальную функцию в конвертор...
Как же все сложно, еще ничего делать не начала, а проблемы все возникают и возникают... Но лучше сейчас, чем потом 101.gif
Sergey

Электросталь
Сообщений: 321
На сайте с 2003 г.
Рейтинг: 96
И связи перенумеруются!
Всего не учтешь, так что начинайте практическую работу 101.gif
---
Сергей
Автор программы для Андроид Поколения
Ludmilla
скончалась 16 марта 2009 Светлая ей память!

Ludmilla

Москва
Сообщений: 5773
На сайте с 2005 г.
Рейтинг: 1607
Торопиться надо медленно 101.gif. Да кроме того, практическую работу я веду постоянно, пополняя сайт 101.gif Вот если получится то, чего мне сейчас пробуют сделать, это будет классно 101.gif - кусок базы для строительства генеалогических схем. Вот буду тогда его заполнять, а так куда спешить, если нет ничего кроме мыслей? 101.gif
Буду предаваться мыслительному разгулу! И задавать вопросы глупые 101.gif
Arseny
Новичок

Сообщений: 17
На сайте с 2003 г.
Рейтинг: 2
Насчет уникальных номеров:
1.Вариант: В каждой базе свой диапазон (особенно для числовых)
2 Вариант: В каждой базе свой префикс (Для текстовых)
Второй вариант успешно используется в распределенных базах 1С
← Назад    Вперед →Страницы: 1 * 2 3 4 5 Вперед →
Модератор: apuzanoff
Вверх ⇈