Структура базы
Первое, что приходит в голову
silv ivan Новичок
Сообщений: 53 На сайте с 2003 г. Рейтинг: 1 | Наверх ##
19 января 2004 18:55 В моем словоупотреблении "свойство" = "предикат", то есть - ЛЮБОЕ СКАЗУЕМОЕ. А если свойство меняется, то его значения нужно хранить вместе с указанием ПЕРИОДА, в который данное значение свойства имело место. Только так и никак иначе. --- С уважением, Иван Сильв. | | |
Ludmillaскончалась 16 марта 2009 Светлая ей память!  Москва Сообщений: 5771 На сайте с 2005 г. Рейтинг: 1607 | Наверх ##
19 января 2004 19:24 Ну нет, все-таки, мне кажется, информацию, касающуюся, например рождения, или смерти, или брака легче передать строчкой, чем таблицами, содержащими по три поля... Просто вот завести отдельные таблицы на все типичные события, и перечень Роджера можно преобразовать в систему таблиц. Вы не полумайте. что я придираюсь, мне просто так кажется  . Вот завтра днем возьму все, что Роджер написал и попробую написать, к чему это сводится... Если он сам до этого этого не сделает | | |
silv ivan Новичок
Сообщений: 53 На сайте с 2003 г. Рейтинг: 1 | Наверх ##
19 января 2004 19:48 Ага ... только не забудьте к каждому полю свойства, которое - по Вашему мнению - "у персоны не остается постоянным", добавить еще ДВА поля даты: [начиная c даты] и [оканчивая датой]! ;-) ___________________ На самом деле, две этих НОТАЦИИ: 1. один объект со всеми своими свойствами (будь их хоть сто, хоть тысяча!) - в одной строке таблицы, и 2. строка таблицы - описывает ОДНО значение ОДНОГО свойства у ОДНОГО объекта, - между ними существует ВЗАИМНООДНОЗНАЧНОЕ соответствие, то есть - можно переходить (например, - трансформировать базу данных) от одной нотации к другой и обратно ... С другой стороны, каждая нотация имеет и свои преимущества, и свои недостатки ... (Сообщение отредактировал silv ivan 19 янв. 2004 19:54) --- С уважением, Иван Сильв. | | |
Tsyplakov Самара Сообщений: 214 На сайте с 2003 г. Рейтинг: 31
| Наверх ##
20 января 2004 13:10 Нужно сделать полное словестное описание того, что нужно хранить в базе, какие производные из этой информации получать, в какой форме. Помоему здесь получится описание исторического процесса вообще. На основе документов, которые этот процесс описывают. --- Александр Цыплаков Ищу Цыплаковых (Оренбургские казаки, Бузулукский район, Оренбургская губерния), Дьячковых (Тамбовская губерния, с. Сосновка), Рузавиных (Самарская губерния), Волковы (Татарстан - Верх и Ниж. Альмурзино, Юхмачи). | | |
Tsyplakov Самара Сообщений: 214 На сайте с 2003 г. Рейтинг: 31
| Наверх ##
20 января 2004 13:35 Еще скажу, что я всегда был сторонником больших и смелых проектов. Так, что идея Людмилы мне понятна и очень даже по душе. --- Александр Цыплаков Ищу Цыплаковых (Оренбургские казаки, Бузулукский район, Оренбургская губерния), Дьячковых (Тамбовская губерния, с. Сосновка), Рузавиных (Самарская губерния), Волковы (Татарстан - Верх и Ниж. Альмурзино, Юхмачи). | | |
silv ivan Новичок
Сообщений: 53 На сайте с 2003 г. Рейтинг: 1 | Наверх ##
20 января 2004 15:37 Цитата: silv ivan написал 19 янв. 2004 19:48 к каждому полю свойства, которое ... "у персоны не остается постоянным", добавить еще ДВА поля даты: [начиная c даты] и [оканчивая датой]! ;-)
Прошу принять мои извинения, - был неправ: "непостоянные свойства" ПРИНЦИПИАЛЬНО невозможно отображать в таблицах, построенных в "нотации №1". --- С уважением, Иван Сильв. | | |
Ludmillaскончалась 16 марта 2009 Светлая ей память!  Москва Сообщений: 5771 На сайте с 2005 г. Рейтинг: 1607 | Наверх ##
20 января 2004 16:36 Вот! Мне кажется, что не надо разносить ФИО по разным клеткам, тем более, что когда-то ни отчества, ни фамилии не было. То есть, мне кажется именование персоны надо вносить в одну клетку, целиком. И совершенно все равно, что там писать – Иван Петров Яковлев, именуемый также Карачун, или Петр Ильич Чайковский – и то, и другое – именованеи персоны. Но по этому поводу надо сделать классификатор фамилий. То есть первая таблица – классификатор фамилий, две клетки: ID фамилии, Фамилия Вторая таблица – классификатор персон. Три клетки: ID персоны, ID фамилии, именование персоны. Поскольку в базе будут встречаться населенные пункты, обязательно нужен классификатор населенных пунктов, то есть ID населенного пункта тоже будет, но я еще не придумала состава таблиц, потому что они меняли наименование и административно-территориальное деление. Пока упростим задачу, не принимаем это в расчет (не при определении структуры базы, а просто на данном этапе рассуждений) и делаем простую таблицу из двух клеток: ID населенного пункта, наименование населенного пункта. Напоминаю, что одна из задач, которую хочет решать Роджер такая: «К примеру, поставлена задача найти всех персон, происходящих из Нижегородской губернии, которые в 1763 г. (3-я ревизия) числились при Невьянском заводе крепостными, были заняты в молотовом производстве, а именно имели должность мастера, у которых отцы также были мастерами и принадлежали к первому поколению переселенцев, а жены происходили из того же завода. При этом желательно видеть в отчете все прочие поля - возраст, напрмер и т.п.» Ну то есть в конечном итоге без губерний не обойтись, но пока игнорируем. Ну и, поскольку он хочет вносить источники, по ходу дела создается классификатор источников, две клетки: ID источника, наименование источника. Ну и поскольку нужны церковные приходы, еще создается классификатор церковных приходов, дву клетки : ID прихода, наименование. Тут бы тоже надо разобраться со всякими епархиями, но об этом потом. То есть, пока занимаемся набором таблиц для персон. Таблицы на основе событий. Поля буду звездочкой разделять. А то запятой плохо видно. Таблица «Рождение» ID персоны * дата * ID места рождения * ID отца * ID матери * ID источника. Таблица «Крещение» ID персоны * дата * ID церковного прихода * ID священника (который является такой же персоной, как и все другие) * имя крестимого (крестить могут по одному, а звать по другому) * ID одного воспреемника * ID второго воспреемника * ID источника. Таблица «Сословие» ID персоны * социальный статус * год * ID источника Таблица «Место жительства» ID персоны * ID места жительства * год * ID источника Таблица «Место работы и должность» ID персоны * Место работы и должность * год * ID источника Таблица «Вероисповедание» ID персоны * Вероисповедание * год * ID источника. Таблица «Браки» ID жениха * ID невесты * Дата * ID прихода * ID священника * ID поручителей (несколько клеток) * ID источника. Таблицу про рождение детей делать не надо, потому что при вводе информации о рождении ребенка его связь с родителями задается. Таблица «Смерти» ID персоны * дата * ID места смерти * причина смерти * исповедь и причастие (да или нет) * ID священнослужителя * ID источника Таблица «Похороны» ID персоны * дата * ID места погребения * ID источника. Таблица «Размер капитала» (для купцов) ID персона * дата * размер капитала * ID источника Таблица «Выбыл» ID персоны * дата * ID населенного пункта * причина * ID источника Таблица «Прибыл» ID персоны * дата * ID населенного пункта * причина * ID источника Вводить таблицу «Возраст» не имеет смысла, возраст будет высчитываться из даты рождения (а дата рождения из возраста) при введении или выведении информации, только надо учесть, что дата может быть точной, а может быть и не точной, надо ввести обозначение для приблизительной даты или диапазона дат – около, между, до, после. Ну, я уже много написала, теперь вы что-нибудь скажите!!! | | |
Tsyplakov Самара Сообщений: 214 На сайте с 2003 г. Рейтинг: 31
| Наверх ##
20 января 2004 17:14 Ну для места и епархий тоже не должно быть сложности. У всего есть своя история. Начало, ход событий, конец. По этому принцыпу можно и вести справочники селений и епархий, которые были приписаны к более высокому рангу (волости, уездам, губерниям также и для приходов). Для каждого уровня структуры нужен свой справочник. И каждую историю единицы привязать ко времени. Во завернул... --- Александр Цыплаков Ищу Цыплаковых (Оренбургские казаки, Бузулукский район, Оренбургская губерния), Дьячковых (Тамбовская губерния, с. Сосновка), Рузавиных (Самарская губерния), Волковы (Татарстан - Верх и Ниж. Альмурзино, Юхмачи). | | |
Igor Москва Сообщений: 127 На сайте с 2003 г. Рейтинг: 54
| Наверх ##
20 января 2004 17:50 Людмила, насколько я понял из вашей дискуссии, тот проект, который вы задумали, тремя настольными компьютерами с СУБД типа MS Access (слишком уж ограниченные ресурсы) не осуществить. Без более серьёзных СУБД типа DB2 или Oracle, без систем сообщений и развитой коммуникационной структурой глобальной задачи (хотя бы по России) не решить. Конечно же, похвально, что вы занимаетесь первичным сбором информации для будущих генеалогических банков данных. А в этом, думаю, Access'а и должен помочь. Т. е. , фактически вы пытаетесь создать программное обеспечение для клиентской части глобальной системы. Здесь мне мыслится, что должна быть реализована модель пополнение базы данных из двух этапов. Поясню свою мысль. Определяем объекты генеалогического исследования. Первый - персона, второй - географический объект, 3-ий - время (даты, исторические события), 4-й - исторические источники (письменные, устные). По этим объектам строим соответствующие им базы данных. Далее должен быть создан софт, однозначно идентифицирующий персону, связывающий его с базами данных источников, событий, населенных пунктов. На основе информации из этих баз строится абсолютная база персоны, отражающая его основные характеристики. Связь с историческими событиями уже устанавливает генеалог с помощью соответствующего софта, и эта связь также отражается в базе персоны. Не совсем понятна мне идея с событиями. Ведь трактовка событий может быть неодназначной. Казалось бы, что рождение человека - определенное событие. Но сколько за этим событием кроется тайн (искаженные даты рождения, место, родители неизвестно откуда...) Вот такие мысли вслух. Вероятно, каждый мыслит что-то о своём, но высказанные прилюдно соображения на этот счет могут привести и к интересным разработкам ... С уважением ко всем. Игорь Якунин. | | |
Tsyplakov Самара Сообщений: 214 На сайте с 2003 г. Рейтинг: 31
| Наверх ##
20 января 2004 18:29 Необязательно делать три-четыре базы данных. Достаточно одну. База данных, не есть одна таблица, они из таблиц состоит, как я понимаю. Я опять о своем, в футбольной базе данных все заполняется, как "соты", не зависимо от отсутствия какой либо сопричастной информации. Можно оставить футболиста без года рождения, а затем, при обнаружении можно поставить и год и дату. Так же там без труда можно проследить переименования городов, переходы игроков из команды в команду во времени. Т.е. я к чему, все это возможно применить и к персоне во времени. И не обязательно применять инструменты как DB2 и Оракл.
--- Александр Цыплаков Ищу Цыплаковых (Оренбургские казаки, Бузулукский район, Оренбургская губерния), Дьячковых (Тамбовская губерния, с. Сосновка), Рузавиных (Самарская губерния), Волковы (Татарстан - Верх и Ниж. Альмурзино, Юхмачи). | | |
|