- •Глава 1. Обзор и сравнительный анализ существующих арм. 7
- •Глава 2. Анализ исходных данных и выбор оптимального инструментария для разработки арм. 21
- •2.9. Реализация выбранных решений. 92
- •Глава 1. Обзор и сравнительный анализ существующих арм.
- •1.1 Библиотечные системы.
- •1.1.1 Национальная библиотека рс (я)
- •1.1.2 Библиотека Администрации Президента Российской Федерации (бапрф).
- •1.1.3 Российская национальная библиотека (рнб).
- •1.1.4 Гпнтб России.
- •Глава 2. Анализ исходных данных и выбор оптимального инструментария для разработки арм.
- •2.1 Назначение разрабатываемого арм.
- •2.2 Определение структурной схемы.
- •2.3 Выбор конкретного программного инструментария.
- •2.4. Разработка логической схемы.
- •2.5 Логическое проектирование
- •2.5.1 Определение цели создания арм.
- •2.5.2 Определение таблиц и необходимых полей.
- •2.5.3 Определение связей между таблицами.
- •2.6 Разработка таблиц.
- •2.6.1 Построение таблиц.
- •2.6.2 Назначение типов данных для полей таблиц.
- •2.6.3 Создание индексов и связей между таблицами
- •2.8 Разработка алгоритма.
- •2.9 Реализация алгоритма.
- •2.9.1 Функциональные модули.
- •2.9.2 Модуль идентификации и аутентификации.
- •2.9.3 Модуль картотеки фондов.
- •2.9.3.1 Главная форма
- •2.9.3.2 Просмотр
- •2.9.3.3 Поиск
- •2.9.3.4 Сортировка.
- •2.9.3.5 Фильтр
- •2.9.3.6 Новости
- •2.9.3.7 Настройка
- •2.9.3.8 Добавление
- •2.9.3.9 Изменение
- •2.9.3.10 Печать.
- •2.9.4 Модуль картотеки читателей.
- •2.9.4.1 Просмотр
- •2.9.4.2 Просмотр
- •2.9.4.3 Поиск
- •2.9.4.4 Сортировка
- •2.9.4.5 Фильтр
- •2.9.4.6 Настройка
- •2.9.4.7 Добавление
- •2.9.4.8 Изменение
- •Заключение.
- •Список использованной литературы.
2.9.3.2 Просмотр
Форма развёрнутого просмотра со следующей информацией:
-
Название раздела;
-
Номер раздела по ББК;
-
Автор, составитель и редактор (или их списки);
-
Название книги;
-
Название издательства;
-
Город издательства;
-
Вид издания;
-
Год издания;
-
Количество экземпляров;
-
Количество выданных экземпляров;
-
Краткая аннотация.
Данные для формы обеспечиваются на основе SQL-запроса который представлен в примере 4.1, а данные об авторах, составителях, редакторах получают отдельными запросами. Рассмотрим подробнее запрос для получения списка авторов, запрос будет иметь следующий вид:
SELECT Creators.name, ;
Autor.autorid;
FROM library!Creators INNER JOIN library!Autor ;
ON Creators.nameid = Autor.autorid;
WHERE Autor.bookid = lnbookid ;
INTO CURSOR vwAutor
Пример 4.2 SQL-запрос получение списка авторов
В качестве фильтрующего параметра используется уникальный код книги из таблицы Books.
Для данной формы предусмотрены дополнительные функции:
-
Просмотр выданных экземпляров;
-
Просмотр инвентарных номеров книг.
Данные функции доступны только для авторизированного персонала библиотеки.
На форме просмотра выданных экземпляров, которая показана на рисунке 4.12 доступна информация о:
-
группе;
-
фамилии;
-
имени;
-
дате выдачи;
-
количестве выданных экземпляров.
Показываются только те экземпляры, которые в текущий момент являются выданными абоненту.
Предусмотрены следующие функциональные возможности:
-
перехода на карточку абонента;
-
группу абонентов;
-
просмотр инвентарных номеров выданных книг;
-
изменение порядка сортировки отображаемых данных.
Данные для формы получаем SQL-запросом следующего вида:
SELECT Groups.name AS GrpName, ;
Name1.name AS Fam, ;
Name2.name AS Name, ;
Name3.name AS Otch, ;
BookUse.date1 AS Date, ;
COUNT('BookUse.Num') AS Count, ;
Abonents.abonid AS AbonId, ;
BookNum.bookid AS BookId ;
FROM library!BookNum INNER JOIN library!BookUse ;
INNER JOIN library!Abonents ;
INNER JOIN library!Groups ;
INNER JOIN library!Name1 ;
INNER JOIN library!Name2 ;
INNER JOIN library!Name3 ;
ON Name1.nameid = Abonents.name3 ;
ON Name2.nameid = Abonents.name2 ;
ON Name3.nameid = Abonents.name1 ;
ON Groups.id = Abonents.grid ;
ON Abonents.abonid = Bookuse.abonid ;
ON Booknum.number = Bookuse.number ;
WHERE Booknum.bookid = lnBookId ;
AND EMPTY(Bookuse.date2) ;
GROUP BY Abonents.abonid ;
INTO CURSOR vwUseBook
Пример 4.3 SQL-запрос получение списка читателей
В качестве элементов фильтра используется уникальный код книги из таблицы Books и значение поля Date2 таблицы BookUse, которое должно быть не заполненным, так как определяет дату возврата книги в библиотеку.
На форме просмотра инвентарных номеров, доступна информация:
-
список инвентарных номеров;
-
дате поступления экземпляра книги.
Для получения данных используем SQL-запрос:
SELECT Booknum.number AS InvNum, ;
Booknum.date AS Date ;
FROM library!BookNum;
WHERE Booknum.bookid = lnBookId ;
INTO CURSOR vwInvNum
Пример 4.4 SQL-запрос получение инвентарных номеров
В качестве элемента фильтра применяется уникальный код книги из таблицы Books. Для выбранных данных можно изменять порядок отображения, установив активный столбец в таблице.