М. В. Ломоносова Факультет Вычислительной Математики и Кибернетики Кафедра асвк диплом

Вид материалаДиплом

Содержание


Работа с базой данных
Таблицы персоналий “Студенты”, “Профессоры”, “Ректоры”
Рис. 6. Пример результата поиска по студентам Московского университета. Статья, посвященная А.С.Грибоедову
Управление содержимим статей о персоналиях.
Таблица уставов университета.
Рис. 8. Результат поиска (вид рабочего фрейма)
Таблица опубликованных документов.
Результат работы (заключение)
Список литературы: 1. Материалы конференций
2. Печатные издания
3. Ресурсы Internet
Подобный материал:
1   2   3   4   5   6   7   8   9   10   11

Работа с базой данных



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

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

На текущий момент суммарное количество записей в базе данных составляет около тысячи. Таким образом, мы имеем с базой данных достаточно малого масштаба. Это снимает некоторые ограничения на ее разработку, которые могли бы возникнуть при работе с данными большого объема.

На текущий момент в базе данных существуют пять таблиц:
  • три таблицы для поиска в разделе персоналий ([Students], [Professors], [Rectors])
  • таблица, связывающая преподавание предметов с кафедрой и факультетом, где они преподавались, а также с временем преподавания [Predmety]
  • служебная таблица [Documents], пока используемая только в целях автоматического построения карты сервера.

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


Таблицы персоналий “Студенты”, “Профессоры”, “Ректоры”



Сначала будет рассмотрен поиск персоналий. В каждом из подразделов, в которых возможно осуществление поиска, пользователю предоставляется возможность заполнить Web-форму. При вводе фамилии допускается использование шаблонов. Можно использововать символы, заменяющие одну или несколько букв. О такой возможности, а также об общих правилах поиска пользователь может узнать, нажав кнопку помощи по поиску.

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

Выбор таких параметров как название факультета, предмета, сферы деятельности реализован следующем образом. Ввиду того, что, во-первых, пользователь не всегда точно знает названия существовавших кафедр, предметов и факультетов, а, во-вторых, этих наименований не много, удобно предоставить пользователю возможность просто выбрать интересующие его параметры, создав предварительно их список. В случае, когда не интересует, например, конкретный факультет, можно указать специально добавленный вариант вида «все факультеты». В таком случае при создании запроса к базе данных соответствующие ограничения не будут наложены. (в данном случае не добавится подстроки ‘WHERE Facultet LIKE <значение>’). Таким образом, по результатам заполнения формы генерируется запрос к базе данных путем постепенного дописывания к строке–запросу требований, предъявляемых пользователем.

Если количество записей, удовлетворяющих запросу, велико (ограничение на такое количество задается значением переменной внутри скрипта), вывод результатов разбиваются на группы по страницам, как это обычно делается в поисковых системах. Далее приведены структуры таблиц.


Таблица 1. “Professors”

Rec_ID

SMALLINT(6) NOT NULL AUTO_INCREMENT PRIMARY KEY

Prof_ID

SMALLINT(6)

LastName

VARCHAR(50)

FirstName

VARCHAR(50)

SecondName

VARCHAR(50)

Remark

VARCHAR(80)

Birth

SMALLINT(5) UNSIGNED

Death

SMALLINT(5) UNSIGNED

SStart

SMALLINT(5) UNSIGNED

SStop

SMALLINT(5) UNSIGNED

StudFac

VARCHAR(40)

Predmet

VARCHAR(50)

Facultet

VARCHAR(40)

PrepStart

SMALLINT(5) UNSIGNED

PrepStop

SMALLINT(5) UNSIGNED

ServStart

SMALLINT(5) UNSIGNED

ServStop

SMALLINT(5) UNSIGNED


Таблица 2. “Rectors”

Rec_ID

SMALLINT(6) NOT NULL AUTO_INCREMENT PRIMARY KEY

Prof_ID

SMALLINT(6)

LastName

VARCHAR(50)

FirstName

VARCHAR(50)

SecondName

VARCHAR(50)

Remark

VARCHAR(80)

Facultet

VARCHAR(40)

Position

VARCHAR(10)

Start

SMALLINT(5) UNSIGNED

Stop

SMALLINT(5) UNSIGNED


Таблица 3. “Students”

Rec_ID

SMALLINT(6) NOT NULL AUTO_INCREMENT PRIMARY KEY

Stud_ID

SMALLINT(6)

LastName

VARCHAR(50)

FirstName

VARCHAR(50)

SecondName

VARCHAR(50)

Remark

VARCHAR(80)

Sphere

VARCHAR(50)

Birth

SMALLINT(5) UNSIGNED

Death

SMALLINT(5) UNSIGNED

StudStart

SMALLINT(5) UNSIGNED

StudStop

SMALLINT(5) UNSIGNED

Facultet

VARCHAR(40)


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

Каждый кортеж соответствует каждому непрерывному интервалу работы в университете, учебы или деканства/ректорства.

При поиске профессоров, для каждого найденного профессора выдается не только информация, содержащаяся в таблице [Professors], но и, в случае, если он был деканом или ректором, будет выдана информация из таблицы [Rectors]. Здесь для ускорения произведения выборки будет вестись поиск не через фамилию, а как раз через то самое поле, идентифицирующее персоналию (Prof_ID).

Имена полей в таблицах отражают их назначение. Поэтому вряд ли стоит расписывать каждое поле. Уместно лишь будет отдельно сказать о поле “Remark”, которое используется для хранения псевдонимов и титулов, которые могут быть введены при поиске (например, «Фет» вместо «Шеншин»).


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

Итак, просмотрев такой список, пользователя заинтересовали драматурги, вышедшие из стен Московского университета (рис.4).

Произведя выбор данной сферы и нажав кнопку начала поиска, пользователь получит следующую картину (рис. 5).




Рис. 4. Поиск среди студентов московского университета




Рис. 5. Результат поиска по студентам, ставшими драматургами


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

Пусть это будет, в данном случае, А.С.Грибоедов.




Рис. 6. Пример результата поиска по студентам Московского университета. Статья, посвященная А.С.Грибоедову


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


Управление содержимим статей о персоналиях.



Создание статей по персоналиям удалось автоматизировать. Была написана программа на языке PHP, которая использовала стандартный шаблон в качестве основы для создаваемых статей. Программа производила запрос к базе данных и по его результатам создавала новую статью. При этом, в случае наличия портрета персоналии, он копировался в соответствующую директорию (название директории определялось значением поля, идентифицирующим личность) с типовым именем. Далее, при наличии готовой полной статьи, ее текст вносился в этот шаблон в соответствующем месте. Такой механизм позволил съэкономить большое количество времени, которое было бы неминуемо потрачено при «ручном» создании статей. Модификация данной программы позволит автоматизировать внесение изменений в эти статьи.


Таблица уставов университета.



Теперь рассмотрим работу со следующей таблицей:


Таблица 4. “Predmety”

ID

SMALLINT(6) NOT NULL AUTO_INCREMENT PRIMARY KEY

Predmet

VARCHAR(50)

Kafedra

VARCHAR(100)

Facultet

VARCHAR(40)

Begin

SMALLINT(5) UNSIGNED

End

SMALLINT(5) UNSIGNED


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

Запрос формируется пользователем также с помощью формы. Временной интервал указывается явно, по умолчанию он равен всему рассматриваемому отрезку (1755-1917). Остальные три параметра выбираются из списка. По умолчанию их состояние «не показывать», то есть данный параметр пользователю не нужен. Альтернативными значениями каждого из этих параметров могут быть как явно указанные названия из предлагаемого списка, так и значение вида «все факультеты».

Далее будет рассмотрен пример такого поиска. Когда посетитель попадает в раздел «Уставы», а далее в его подраздел «Предметы, кафедры и факультеты», перед ним появляется поисковая форма. По умолчанию, и предмет, и кафедра, и факультет выводиться не будут. Это сделано для обеспечения того, чтобы пользователь не воспользовался поиском бездумно. Если он не изменит значение полей, ему будет выдано предупреждение и предложено осуществить новый поиск.

Допустим, посетителя интересует, когда и на каких факультетах преподавалась математика. Тогда его действия должны быть такими (рис. 7):
  • значение поля «Предмет» устанавливается равным «математика»
  • поле «Кафедра» оставляется со значением «не показывать»
  • так как пользователя интересует не конкретный факультет, на котором преподавалась математика, устанавливается значение «все факультеты»
  • так как нас интересует весь временной интервал, он оставляется без изменения




Рис. 7. Поисковая система «Предметы, кафедры и факультеты Московского университета».


После этого нажимаем на кнопку «Найти!». Система осуществляет поиск и генерирует соответствующую страницу вывода результата поиска.




Рис. 8. Результат поиска (вид рабочего фрейма)


Система нашла пять временных интервалов, когда предмет преподавался на разных факультетах. Заметно, что их объединение составляет полный рассматриваемый временной интервал.. То есть, математика преподавалась все время существования Московского университета. Рядовому посетителю наверняка будет интересно обнаружить, что изначально предмет преподавался на философском факультете.

Вообще говоря, после такого результата может возникнуть вопросs: «А какие вообще факультеты были на момент основания университета?». «Существовал ли вообще с 1835 до 1850 физико-математический факультет, почему в эти годы математика стала преподаваться опять на философском факультете?» И так далее. Таким образом, с системой может оказаться интересным «поиграть». Она представляет собой весьма интересное и функциональное средство изучение изменения структуры университета.

Когда указан только один параметр, то есть запрос интерпретируется как, к примеру, «когда преподавался данный предмет?», для предотвращения вывода отдельных записей, относящихся к одному и тому же предмету (например) реализована функция объединения подходящих под запрос записей. В этом случае будет выдано объединение временных интервалов, удовлетворяющих запросу.

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

Таблица опубликованных документов.



Рассмотрим теперь служебную таблицу структуры сервера.


Таблица 5. “Documents”

ID

SMALLINT(6) NOT NULL AUTO_INCREMENT PRIMARY KEY

Folder

VARCHAR(15)

Subfolder

VARCHAR(15)

Document

VARCHAR(50)

Type

ENUM('FOLDER','SUBFOLDER','CASE','DOCUMENT')

Related

ENUM('IMG','VIDEO','NONE')

Name

VARCHAR(75)

Info

VARCHAR(250)


Эта таблица используется для создания карты сервера. Как уже было сказано, имеется древовидная иерархическая структура. На первом уровне находится вход в систему, далее идут разделы, у каждого есть подразделы, в которых уже находятся отдельные документы или их серии. Каждая запись соответствует отдельному документу, разделу или подразделу. На это указывает значение поля “Type”. Это значение будет использовано, например, при оформлении вывода. Поле “Related” зарезервировано для того, чтобы указать посетителю наличие мультимедиа материалов в документе. Поле “Name” хранит название документа, поле “Info” – дополнительную информацию, описание раздела или документа.


Результат работы (заключение)



Основная часть работы по данному проекту завершена. При его разработке выявился целый ряд вопросов и направлений для будущего исследования. Полученный опыт работы с Интернет-музеем Московского университета подтвердил правильность принятых на начальном этапе решений. На текущий момент наиболее трудоемким (имеется в виду с точки зрения временных затрат) представляется перевод существующей информации в электронный вариант.

Можно выделить следующие направления развития проекта:
  • развитие сервисов, предоставляемых посетителю
  • расширение информационной базы
  • разработка интерактивной компоненты


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

Безусловно, Интернет-музей будет модернизироваться, будут добавляться новые функции, применяться новейшие технологии. Ведь как раз в возможности достаточно быстро вносить новшества в представление информации посетителю и заключается одно из важнейших преимуществ Интернет-музеев перед традиционными, «живыми» своими прообразами.

В итоге, есть все основания полагать, что к 250-летнему юбилею Московского университета данный проект будет достойным и всеобъемлющим информационным ресурсом по истории одного из старейших вузов России.


Список литературы:




1. Материалы конференций

  1. «Электронные изображения и визуальные искусства», Москва, 2001

ТЕМА КОНФЕРЕНЦИИ:

"Культурное наследие для всех: новые технологии в музеях, галереях, библиотеках, архивах"
  1. «Научный сервис в сети Интернет»

Новороссийск, 2001
  1. Всероссийская объединенная конференция
    «Технологии информационного общества - Интернет и современное общество»


Санкт-Петербург, 2000,2001

2. Печатные издания

  1. «The New York Times» : September 24, 2000, Sunday
    ART/ARCHITECTURE; The Virtual Museum, Imperfect But Promising
    By DOUGLAS DAVIS

  2. К. Пэтчет, М. Райт, "CGI/Perl: создание программ для Web". BHV, Киев, 2000.



3. Ресурсы Internet




  1. «Стандарты компьютерных изображений высокого разрешения европейской музейной сети» Жан Ф. БАРДА, Менеджер Проектов ЕС museum.ru/mat/docl136.php
  2. «Музейные представительства в интернет. Российский и зарубежный опыт» Лебедев А.В. Главный научный сотрудник лаборатории музейного проектирования Российского института культурологии МК РФ и РАН, доктор искусствоведения
  3. museum.ru/mat/
  4. eserverpages.ru/
  5. com/
  6. et/
  7. com/
  8. re.com/
  9. Андрей Акопянц «Системы управления Web – контентом» "Мир электронной коммерции", № 2, 2000 u/ecom/2000/02/052.php
  10. CITFORUM.RU: «Море(!) аналитической информации» ru