Начало реализации10.11.2011. Ханов О.А., письмо С.О.Сделал из базы 10 текстовых файлов: Фотографии 1. phbas.txt - индекс фото/файл фото/дата/название объекта фото/индекс объекта (список фото) 2. phmanbas.txt - индекс фото/ФИО/индекс ФИО (люди на фото) 3. wrdph.txt - индекс фото/слово/индекс слова (список тэгов фото) Люди 4. mans.txt - индекс ФИО/м-ж/дата рождения/место рождения/индекс места/место проживания/индес места/дата смерти 5. sinfio.txt - индекс ФИО/ФИО/синоним (список синонимов имен) Объекты 6. objbas.txt - индекс объекта/название объекта/название объекта более высокого уровня/индекс/группа/индекс группы 7. sinobj.txt - индекс объекта/название/синоним (список синонимов названий объектов) Родственники 8. fambas.txt - индекс ФИО/ФИО/родственные отношения/ФИО родственника/индекс родственника Тэги 9. wrdbas.txt - индекс слова/слово/группа/индекс группы/слово следующего уровня/индекс Списки 10. spsbas.txt - индекс и название списка/участие (должность)/ФИО/индекс ФИО Тексты оставил в стороне, это еще 2-3 файла. Над формой не очень работал, - можно сделать любую. Посмотрел на файлы и огорчился - много. Причем, это необходимый минимум. 14.11.2011 С.О. Есть такое предложение. Я могу написать прогу, которая будет: 1. Создавать БД MySQL на основе текстового описания 2. Заполнять ее содержимое из текстового файла. Например, текст в конфигурации: objbas= name 50 objbas= hostobj 1 objbas= grup 1 будет создавать таблицу objbas с полями: 1. id (обязательный индекс) 2. name тип CHAR размером 50 символов 3. hostobj тип INTEGER 4. grup тип INTEGER Файл заполнения: имя файла - база назначения, индекс/поле/значение. к примеру, имя файла objbas.txt, содержимое 158 name=Петербург 158 group=18 22 name=лен. Область число = ID, если такой есть, поля модифицируются, если нет - добавляются. Это интересно? Так ты сможешь перенести свою базу в MySQL в любом виде (названия полей, разметки, наполнения и т.п.). Дальше можно будет заниматься только "мордой" и непосредственно выборками. Пока разбираюсь с 2-я базами - имена и объекты. Вопрос: 1. место рождения/индекс места/ место проживания/индекс места 2. индекс объекта/название объекта/название объекта более высокого уровня/индекс/группа/индекс группы Избыточно в плане индексов. Почему не сделать справочник объектов и просто ссылаться на них? Есть подозрение, что вначале ты сохраняешь рукописный текст в поле, а дальше определяешь его принадлежность к объекту и вписываешь индекс. Это порождает тысячу тавтологичных конструкций типа "Петербург = 33". Ну не знаю. Это подход не "базовый". Если отказаться от текста, файл будет нечитаем. Но, с другой стороны, сам по себе он ни о чем не говорит, поэтому его читаемость не добавляет ему никаких новых свойств. Т.е., например, базу объектов можно ужать до индекс объекта/название объекта/индекс объекта более высокого уровня/индекс группы Или это что-то другое? 15.11.2011. Ханов О.А. Нет возражений, по всем пунктам соглашаюсь. Пояснения к файлам. Я вывел все так, как есть. Форма - не догма. hostobj и grup - поля м.б. не нужные. Мне показалось, что если объект незнакомый и будет желание уточнить, то этому поможет поле "Объект более высокого уровня". Поле "Группа" тоже ввел на всякий случай - м.б. удобно будет заходить с этой стороны - например, "Города". Есть еще один мотив (интуитивный и глобальный) - первично понятие, слово. Далее идет раскрутка от общего к частному, в качестве которого может быть фото, текст, люди... - все, что угодно. В голове у меня сидит база-клубок, в который можно заходить откуда угодно и придти в любое место. Можно рассмотривать мелкие подробности или окинуть взглядом "с высоты птичьего полета". Т.е. хочу сделать визуальную и текстовую копию "окружающего мира", существовавшего в разное время - с той подробностью, какая получится. Фотографии и воспоминания бьют в эту тему. Но это уже из области фантазий и не очень формализованных намерений. Одно из полей индекс/имя, конечно, лишнее. Я сделал так потому, что отдельно, вручную, определял hostobj и grup, и при этой (допотопной) технологии так было удобнее - вручную писал слово, а программа находила или присваивала индекс. В базе (если поля не исчезнут) это уже будут запросы. Файл объектов (как и все остальное) у меня формировала программа из записей к фотографиям и из размеченных текстов. Но бывало и так, что я сам добавлял в нее новые объекты до обработки фотографий. Для пользователя такая работа была бы дополнительной нагрузкой. Мне кажется, поля hostobj и grup можно оставить как факультативные, заполняемые по желанию, или администратором, или - что получится, - программой. БД MySQL на основе текстового описания - это хорошо. Но сам текстовый файл (например, объектов) - это тоже результат работы одной из программ, выдергивающей поле из первичного описания и дающей ему индекс. Разночтения в исходных описаниях я устранял, пропуская при индекации введенное имя через словарь синонимов (для объектов это sinobj.txt). После однократного ввода синонима можно уже не вспоминать "как надо правильно вводить". Конечно, в базе крутится только основное имя, которое соответствует индексу. Разные написания остаются только на входе. Оставлять их или исправлять в первичных описаниях фотографий - как получится (мне было безразлично, и я оставил). 15.11.2011. Ханов О.А. Письмо Сергею Ханову Звонил сегодня Юрий Федорович. Есть у него желание повторить опыт А.Кайданова. Здесь наши цели совпадают. Он активно и (как всегда) подробно изучает вопрос. /Ранее ЮФ пытался всерьез заняться монтажом видеоматериалов / В начало |