Xreferat.com » Рефераты по информатике и программированию » Организация доступа к базам данных в Интернет

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

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

                 String q = toLow(query);

                 String p01 = toLow(Rec.rAvtor);

                 String p02 = toLow(Rec.rsAvtor);

                 String p03 = toLow(Rec.rName);

                 String p04 = toLow(Rec.rKey);

Затем распознанные данные сравниваются с запросом, сравнивание производится только с несколькими полями. Список полей приведен ниже:

100 – Автор

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

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

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

                 if ( p01.indexOf(q) != -1 ||

                      p02.indexOf(q) != -1 ||

                      p03.indexOf(q) != -1 ||

                      p04.indexOf(q) != -1)

                     { mE++;

При совпадении запись сразу же отправляется браузеру для отображения в читабельной для пользователя форме.

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

"<tr bgcolor="#3399FF">"+

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

"<font color="#000000">"+

Rec.rAvtor+" "+

Rec.rsAvtor+

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

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

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

Rec.rName+"<br>"+

Rec.rPrinter+" "+

Rec.rSize+"<br>"+

Rec.rBBK+" "+

Rec.rKaIndex+" "+

Rec.rSeria+

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

}

В конце обработки одной записи независимо соответствовала она запросу или нет производится переход к следующей записи.

            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="461" border="0" cellpadding="0" cellspacing="0">"+

"<tr bgcolor="#3399FF">"+

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

"<font color="#000000">"+

Rec.rAvtor+" "+

Rec.rsAvtor+

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

"<td colspan="3" valign="top" class="bodytext">"+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.          java.sun

10.      sun/java/start/intro/history.html

11.      logos/marc/

12.      rba:8101/rusmarc/

13.      httpd.apache/dist/httpd/binaries/win32/old/apache_1_3_14_win32_r2.exe

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

15.      netcraft/Survey

16.      apache

17.      java.apache

18.      ruslibnet/


Приложение 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-- в запись (записи) для заголовка (заголовков), которые решено использовать вместо исключенного.

Запись может содержать только маркер, справочник и поле 001 (контрольный номер записи) или может содержать все поля в записи. В любом случае поле 830 "Общее примечание каталогизатора" может использоваться для объяснения причины исключения записи.

с - откорректированная запись

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

(3) Коды применения (позиции символов 6-9):

Коды в позициях 6-9 определяются не стандартом ISO 2709, а особенностями конкрет-ного применения формата.

(а) Тип записи (позиция символа 6)

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

   x = авторитетная / нормативная запись

   y = ссылочная запись

   z = справочная запись

(б) Не определено (позиции символов 7-9). Три пробела (###).

(4) Длина индикатора (позиция символа 10)

Одна десятичная цифра.

Содержит 2.

 (5) Длина идентификатора подполя (позиция символа 11)

Одна десятичная цифра.

Содержит 2.

 (6) Базовый адрес данных (позиции символов 12-16)

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

 (7) Дополнительное определение записи (позиции символов 17-19)

Три позиции символов, содержащие коды, которые дают дополнительные сведения, не-обходимые для обработки записи:

(а) Уровень кодирования (позиция символа 17)

Односимвольный код, указывающий степень полноты машиночитаемой записи.

# (пробел) = полная запись

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

3 = частичная

Запись содержит не все данные, т.к. не выполнена необходимая справочная работа и по-сле ее выполнения, в случае необходимости, могут быть дополнены ссылки "см." и "см. также" и справочные примечания.

Примечание:

(1) Уровень кодирования не связан с кодом статуса заголовка (100/8). И полная, и частичная запись могут содержать в поле блока 2-- как нормативный заголовок (код статуса a - нормативный), так и заголовок предварительный (код статуса c - предварительный), т.е. заголовок, который не принят в качестве нор-мативного и может быть пересмотрен. Различие между полной и частичной за-писями связано с тем, насколько полно в записи представлена необходимая ин-формация, связанная с заголовком.

(2) После того, как уровень кодирования приобретает значение # (пробел - полная запись), даты всех последующих модификаций (изменений) записи фикси-руются в поле 801 со значением второго индикатора 2 (организация модифици-рующая).

(б) Не определено (позиции символов 18-19). Два пробела (##).

(8) План справочника (позиции символов 20-23).

(а) Длина компонента "Длина поля" каждой статьи справочника(позиция символа 20).

Одна десятичная цифра. Значение - 4.

(б) Длина компонента "позиция начального символа" каждой статьи справочника (позиция символа 20).

Одна десятичная цифра. Значение - 5.

(в) Не определено (позиции символов 22-23). Два пробела (##).

СПРАВОЧНИК

Определение

Справочник записи состоит из набора элементов данных фиксированной длины - статей справочника. Каждая статья справочника определяет одно поле (в случае повторяющихся полей - одно повторение поля) записи. Статьи справочника формируются в соответствии со стандартом ISO 2709 и состоят из трех компонентов: метка поля, длина поля, позиция начального символа. Количество символов в компонентах "длина поля" и "позиция начального символа" определяется в маркере (позиции 20 и 21 соответственно). Справочник включается в запись непосредственно после маркера, начиная с позиции 24. Статьи справочника располагаются в порядке возрастания метки поля.

Наличие

Обязательное.

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

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

Метка, индикаторы и подполя отсутствуют.

Компоненты статьи справочника

(1) Метка поля (позиции 0-2)

Метка поля - три последовательных символа, идентифицирующих поля.

(2) Длина поля (позиции 3-6)

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

(3) Позиция начального символа (позиции 7-11)

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

Если Вам нужна помощь с академической работой (курсовая, контрольная, диплом, реферат и т.д.), обратитесь к нашим специалистам. Более 90000 специалистов готовы Вам помочь.
Бесплатные корректировки и доработки. Бесплатная оценка стоимости работы.

Поможем написать работу на аналогичную тему

Получить выполненную работу или консультацию специалиста по вашему учебному проекту
Нужна помощь в написании работы?
Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Пишем статьи РИНЦ, ВАК, Scopus. Помогаем в публикации. Правки вносим бесплатно.

Похожие рефераты: