Смекни!
smekni.com

Организация доступа к базам данных в Интернет (стр. 11 из 23)

fPosMarker = fPosMarker+JIndex;

MTemp = 0;

MIndex = 0;

}

В случае ошибки (исключительной ситуации) цыкал обработки записи, прерывается и выдается сообщение об ошибки.

catch (IOException e) {

out.println("Ошибка!!!"+"<br>");

done=true; }

}

}

Если же файл отсутствует то программа выдаст сообщение о том что файл базы данных отсутствует на сервере.

catch (IOException e) { out.println("Ошибка доступа к "+dbNamePath); }

}

if (mE == 0) {

out.println("Запос: "+query+" не найден");

} // end If

}

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

100 – Автор

700 – Второй автор

245 – Название произведения

490 – Серия

91 – Индекс ББК

90 – Каталожный индекс

260 - Издательство

300 – Объем, размер

653 – Ключевые слова

Код вывода в HTML формате выглядит так:

out.println("<table width=&bsol;"461&bsol;" border=&bsol;"0&bsol;" cellpadding=&bsol;"0&bsol;" cellspacing=&bsol;"0&bsol;">"+

"<tr bgcolor=&bsol;"#3399FF&bsol;">"+

"<td colspan=&bsol;"3&bsol;" class=&bsol;"text&bsol;">&nbsp;&nbsp;&nbsp;Автор:&nbsp;"+

"<font color=&bsol;"#000000&bsol;">"+

Rec.rAvtor+" "+

Rec.rsAvtor+

"</font></td></tr><tr>"+

"<td colspan=&bsol;"3&bsol;" valign=&bsol;"top&bsol;" class=&bsol;"bodytext&bsol;">"+mE+". "+mC+

"&nbsp;<b>Название:</b>&nbsp;"+

Rec.rName+"<br>"+

Rec.rPrinter+" "+

Rec.rSize+"<br>"+

Rec.rBBK+" "+

Rec.rKaIndex+" "+

Rec.rSeria+

"</td></tr></table>");

После чего программа производит считывание и обработку следующей записи. Более детально алгоритм расписан в листинге программы (см. прил.3), а результаты теста программы (см. прил. 4)

Заключение

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

Главной задачей данной дипломной работы было создание программного интерфейса к существующей библиографической базе данных. Применение передовых технологии программирования позволили разработать программу, позволяющую производить поиск интересующей информации в базе данных не только по отдельно взятым ключевым словам, но и полному названию документа. Тестирование программы на массиве из 8366 записей показало, что поиск документа в конце массива занимает 2 минуты 16 секунд. Естественно, что при увеличении количества записей время обработки также будет увеличиваться. Массив данных, на котором проводилось тестирование, является реальной базой данных библиотеки ВСГАКиИ. Для того чтобы программа могла работать стабильно и с минимальными затратами времени на обработку запроса, нужно использовать ее на машине, обладающей большим быстродействием. Тестирование производилось на компьютере с такой конфигурацией: AMD K6-233, ОЗУ 64 Mb, Жесткий диск 2 Gb, под управлением операционной системы Windows NT 4.0 с установленным SP6a. Развитие направления связанного с поиском информации в массивах данных библиотек очень эффективно, так как потребность в этой информации через сеть Интернет возрастает с каждым новым пользователем.

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

Литература

1. Глушаков С.В., Ломотьков Д.В. Базы данных: Учебный курс. – К.: Абрис, 2000. -504с.

2. Джейсон Мейнджер. Java: основы программирования :Пер. с англ. - К.: Издательская группа BHV,1997.-320с.

3. Пригорьев Ю.А. Проблемы выбора доступа к данным при проектировании информационных систем на основе СУБД//Информационные технологии. - 1999 - №5. С. 4-10.

4. Симкин Стив, Бартлет Нейл, Лесли Алекс. Программирование на Java. Путеводитель :Пер. с англ. – К. НИПФ «ДиаСофт Лтд», 1996. 736 с.

5. Кристиансен Т., Торкингтон Н. Perl: Библиотека программиста :Пер. с англ.- СПб.: Издательство «Питер», 2000. – 736с.: ил.

6. Холзнер Стивен. Perl: специальный справочник :Пер. с анг. – СПб.: Питер, 2000. – 496с.: ил.

7. Хейл, Бернард Ван. JDBC: Java и базы данных :Пер. с англ. М.,1999.-320с.

8. Эферган М. Java: справочник. – СПб.: Питер, 1998. -448с.: ил.

9. http://www.java.sun.com

10. http://www.sun.ru/java/start/intro/history.html

11. http://www.logos.com/marc/

12. http://www.rba.ru:8101/rusmarc/

13. http://httpd.apache.org/dist/httpd/binaries/win32/old/apache_1_3_14_win32_r2.exe

14. http://java.apache.org/jserv/dist/ApacheJServ-1.1.2-2.exe

15. http://www.netcraft.com/Survey

16. http://www.apache.org

17. http://java.apache.org

18. http://www.ruslibnet.ru/

Приложение 1

Спецификация формата RUSMARC

РОССИЙСКИЙ КОММУНИКАТИВНЫЙ ФОРМАТ

ОФИЦИАЛЬНАЯ ИНФОРМАЦИЯ

Российский коммуникативный формат официально включен Постоянным комитетом по формату UNIMARC в список национальных адаптаций формата UNIMARC(11). Международный код Российского коммуникативного формата: RUSMARC(12).

Российский коммуникативный формат разработан по заказу Министерства культуры в рамках программы LIBNET (18) под эгидой Российской Библиотечной ассоциации. Утвержден Приказом Министра Культуры РФ № 45 от 27.01.98 в качестве обязательного формата при обмене библиографическими записями среди библиотек сети Министерства Культуры.

Формат предназначен быть посредником при осуществлении обмена библиографическими записями и способствовать решению следующих задач:

а. Улучшению доступности библиографической информации

б. Созданию сводных каталогов

в. Сокращению затрат при каталогизации

А теперь перейдем к самому формату.

МАРКЕР ЗАПИСИ

Определение

Область записи, содержащая данные о записи, необходимые системе для обработки записи. Маркер записи формируется в соответствии с положениями стандарта ISO 2709 и располагается в начале каждой записи.

Наличие

Является обязательным.

Не повторяется.

Метка, индикаторы и подполя

Маркер записи не имеет метки, индикаторов и идентификаторов подполей.

Элементы данных фиксированной длины

Маркер записи представляет собой набор элементов данных фиксированной длины. Элементы данных идентифицируются позицией внутри маркера. Маркер имеет длину в 24 символа. Позиции символов нумеруются от 0 до 23:

Маркер записи. Таблица 2.

Наименование элемента данных Кол-во символов Позиции символов

(1)

Длина записи

5

0-4

(2)

Статус записи

1

5

(3)

Коды применения

4

6-9

(4)

Длина индикатора

1

10

(5)

Длина идентификатора подполя

1

11

(6)

Базовый адрес данных

5

12-16

(7)

Дополнительное определение записи

3

17-19

(8)

План справочника

4

20-23

(1) Длина записи (позиции символов 0-4)

Длина записи - количество символов в записи, включая маркер записи, справочник, поля переменной длины, разделитель записи. Выражается десятичным числом из пяти цифр, при необходимости выравниваемых вправо ведущими нулями (не 546, а 00546). Определяется автоматически, когда запись окончательно сформирована для обмена.

(2) Статус записи (позиция символа 5)

Используются следующие коды, обозначающие статус обработки записи:

n - новая запись

Запись, подготовленная для использования в библиографирующем учреждении-создателе записи или для обмена.

d - исключенная запись

Запись, участвующая в обмене для указания, что другая запись (авторитетная / нормативная, ссылочная или справочная запись), имеющая соответствующий контрольный номер, не действительна. Для авторитетной / нормативной записи это означает следующее: запись удалена из файла в связи с тем, что заголовок, записанный в поле блока 2--, решено в дальнейшем не использовать - вместо него решено использовать другой заголовок (заголовки), новый или уже существовавший в системе, для которого существовала или создается отдельная авторитетная / нормативная запись. Заголовок исключенной записи может включаться в поля блока 4-- в запись (записи) для заголовка (заголовков), которые решено использовать вместо исключенного.