48521 (Разработка автоматизированной системы "Библиотека"), страница 2

2016-07-30СтудИзба

Описание файла

Документ из архива "Разработка автоматизированной системы "Библиотека"", который расположен в категории "". Всё это находится в предмете "информатика" из 1 семестр, которые можно найти в файловом архиве . Не смотря на прямую связь этого архива с , его также можно найти и в других разделах. Архив можно найти в разделе "курсовые/домашние работы", в предмете "информатика, программирование" в общих файлах.

Онлайн просмотр документа "48521"

Текст 2 страницы из документа "48521"

4. Проектирование алгоритмов обработки данных

Выбор книги

Книга на руках

Сдача книги

Регистрация в библиотеке (если еще не зарегистрирован)

Поиск книги в фонде

Выбор найденной книги

Занесение информации о взятой книги в карточку читателя

Занесение в список информации, что книга на руках

Подсчет общей пени каждого читателя

Снятие книги с рук и отражение этого в списках

Подсчет пени по данной книге (если такая имеется)

Оплата пени

Действия в течение года

Формирование списка тех книг, которые на руках

Добавление новых книг

Списание старых книг

Регистрация новых читателей

5. Разработка запросов для корректировки и выборки данных

5.1 Запросы на выборку данных

Пеня – запрос для расчета задолженности читателей по каждой книге.

а) Данные из следующих таблиц должны быть включены в запрос: Авторы, Заглавия, Издание, Экземпляр, Вид_издания, Выдача, читатели.

б) структура связей между таблицами:

((Заглавия INNER JOIN (Вид_издания INNER JOIN (Авторы INNER JOIN Издание ON Авторы.Код_автора = Издание.Код_автора) ON Вид_издания.Код_вида_издания = Издание.Код_вида_издания) ON Заглавия.Код_заглавия = Издание.Заглавие) INNER JOIN Экземпляр ON Издание.Код_издания = Экземпляр.Код_издания) INNER JOIN (Читатели INNER JOIN Выдача ON Читатели.Номер_билета = Выдача.Номер_билета) ON Экземпляр.Код_экземпляра = Выдача.Код_экземпляра

в) поля, включаемы в запрос:

SELECT Читатели.Фамилия, Читатели.Имя, Читатели.Отчество, Авторы.Автор, Заглавия.Заглавие, Выдача.Дата_выдачи, Выдача!Дата_выдачи+ Вид_издания!На_какой_срок AS До_какого_числа, Выдача.Когда_вернул, (Выдача!Когда_вернул-(Выдача!Дата_выдачи +Вид_издания!На_какой_срок)) *Вид_издания!Начисляемая_пеня AS [Был долг], Выдача.Пеня AS Оплатить

г) групповая операция:

Читатели.Фамилия, Читатели.Имя, Читатели.Отчество, Авторы.Автор, Заглавия.Заглавие, Выдача.Дата_выдачи, Выдача!Дата_выдачи+Вид_издания!На_какой_срок, Выдача.Когда_вернул, (Выдача!Когда_вернул-(Выдача!Дата_выдачи +Вид_издания!На_какой_срок))*Вид_издания!Начисляемая_пеня, Выдача.Пеня

д) условие отбора:

((([Выдача]![Пеня])<>0) AND ((([Выдача]![Когда_вернул]-([Выдача]! [Дата_выдачи]+[Вид_издания]![На_какой_срок])) *[Вид_издания]! [Начисляемая_пеня])>0)) ORDER BY Читатели.Фамилия, Читатели.Имя

10 новых книг – перечень 10 самых новых книг.

10 самых постоянных читателей – перечень 10 тех читателей, которые брали наибольшее количество книг.

На_поиск_книги – запрос, необходимый для поиска (отбора) книги по необходимым параметрам.

5.2 Корректировка данных средствами запросов

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

Весь процесс можно описать в два шага.

Шаг 1: Выполнение запроса Подсчет пени (1)

Т

Поле Пеня обновляется следующим образом: [Дата возврата] – ([Дата_выдача]+[На какой срок выдавалась])*[Начисляемая пеня]

При этом [Дата возврата] – ([Дата_выдача]+[На какой срок выдавалась])>0, [Пеня]=0 и [Заплатил_пеню?]=Ложь

Номер_билета

Код_экземпляра

Дата_выдачи

Когда_вернул

Пеня

Заплатил_пеню?

Таблица Выдача
Запрос на обновление
Подсчет пени (1)
аблица Выдача

Н омер_билета

Код_экземпляра

Дата_выдачи

Когда_вернул

Пеня

Заплатил_пеню?

Данный запрос, описанный в SQL:

UPDATE ((Вид_издания INNER JOIN Издание ON Вид_издания.Код_вида_издания = Издание.Код_вида_издания) INNER JOIN Экземпляр ON Издание.Код_издания = Экземпляр.Код_издания) INNER JOIN Выдача ON Экземпляр.Код_экземпляра = Выдача.Код_экземпляра SET Выдача.Пеня = (Выдача!Когда_вернул-(Выдача!Дата_выдачи+Вид_издания!На_какой_срок)) *Вид_издания! Начисляемая_пеня WHERE ((([Выдача]![Когда_вернул]-([Выдача]![Дата_выдачи]+ [Вид_издания]! [На_какой_срок]))>0) AND (([Выдача]![Пеня])=0) AND (([Выдача]![Заплатил_пеню?])=False));

Шаг 2: Выполнение запроса Аннулировать пеню (2)

Т аблица Выдача

Номер_билета

Код_экземпляра

Дата_выдачи

Когда_вернул

П еня

Заплатил_пеню?

Данный запрос, описанный в SQL:

UPDATE ((Вид_издания INNER JOIN Издание ON Вид_издания.Код_вида_издания = Издание.Код_вида_издания) INNER JOIN Экземпляр ON Издание.Код_издания = Экземпляр.Код_издания) INNER JOIN Выдача ON Экземпляр.Код_экземпляра = Выдача.Код_экземпляра SET Выдача.[Заплатил_пеню?] = True WHERE ((([Выдача]![Когда_вернул]) Is Not Null) AND (([Выдача]![Пеня])=0));

Вернуть_книгу – запрос на обновление: если читатель возвращает книгу, то данный запрос изменяет везде данные, что книга имеется в библиотеке в данный момент (не на руках).

На_руках_ли_книга? – запрос на обновление: проверяется, есть ли книга в фонде библиотеке в данный момент или она на руках.

Создать_таблицу – запрос на создание таблицы: создается временная таблица Заплатить с последним заплатившим пеню.

Оплата_пени – запрос на обновление: сведения из таблицы Заплатить заносятся в соответствующие списки об оплате пени.

6. Реализация пользовательского интерфейса средствами форм

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

1.1) Подсхема данных:

1.2) Наилучший тип формы для построения:

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

1.3) Источники записей формы:

Для Главной формы источником записей являются следующие таблицы:

Улицы, Адрес и Читатели.

Для вложенной формы Просроченные_подчиненная форма форма источником записей являются следующие таблицы:

Заглавия, Вид_издания, Авторы, Издание, Экземпляр, Читатели и Выдача.

1.4) Связанные поля форм:

Вложенная форма Просроченные_подчиненная форма и Главная форма:

Подчиненные поля: Номер_билета.

Основные поля: Номер_билета.

1.5) Поля базы данных, которые отражены в форме:

Вложенная форма Просроченные_подчиненная форма:

Авт_знак

Автор

Заглавие

Год_издания

Вид_издания

Пеня

Главная форма:

Фамилия

1.6) Форма

7. Разработка отчетов

Фонд_библиотеки – отчет, в котором содержится информация обо всех книгах, рассортированная по авторам.

Подсхема данных:

1.2) Тип отчета: составной.

1.3) Источник записей: Издательства, Заглавия, Авторы, Издание.

1.4) Уровни группировки:

Поле/выражение

Заголовок группы

Примечание группы

Автор

Да

Нет

Код_автора

Да

Нет

1.5) Поля:

Заголовок группы 'Автор'

Автор

Заголовок группы 'Код_автора'

Авт_знак

Область данных

Библ_шифр

Заглавие

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

Место_издания

Год_издания

1.6) Сам отчет:

10 читателей – отчет, в котором представлена диаграмма с десятью читателями, которые брали в библиотеке наибольшее количество книг.

Читатели – отчет, в котором содержится информация обо всех читателях библиотеки и книгах, которые они брали: ФИО читателя, книга, которую он брал, дата выдачи).

8. Реализация алгоритмов обработки информации программными средствами

8.1 Реализация алгоритмов средствами макросов

Главная_форма. Оплата – макрос позволяет читателю заплатить пеню и не переплатить.

а) Сообщение

Сообщение: Вы ввели слишком большую сумму.

Сигнал: Да

Тип: Информационное

Заголовок: Слишком большая сумма

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

б) КЭлементуУправления

Имя элемента: [ОплатитьДолг]

Происходит переход ко вкладке ОплатитьДолг.

в) КЭлементуУправления

Имя элемента: [Заплачено]

Происходит переход к элементу Заплачено вкладки ОплатитьДолг.

г) ОткрытьЗапрос

Имя запроса: Создать_таблицу

Режим: Таблица

Режим данных: Изменение

Макрокоманда открывает запрос на создание таблицы о сумме, которую заплатил читатель.

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

д) ОткрытьЗапрос

Имя запроса: Создать_таблицу

Режим: Таблица

Режим данных: Изменение

Макрокоманда открывает запрос на создание таблицы о сумме, которую заплатил читатель.

е) ОткрытьЗапрос

Имя запроса: Оплата_пени

Режим: Таблица

Режим данных: Изменение

Макрокоманда открывает запрос на обновление той суммы, которую внес читатель и которую ему осталось оплатить.

Главная_форма.Выбор_читателя – реагирование системы на выбор пользователем определенного читателя.

Главная_форма.Пеня, Главная_форма.Пеня_присвоение – переход на вкладку с оплатой пени и занесение данных в нужные ячейки.

Главная_форма.Переход – вспомогательный макрос для перехода на последнюю запись при оплате пени пользователем.

Главная_форма.Возврат_книги – возвращение читателем книги, снятие ее с рук, подсчет пени для читателя и убирание тех, кто заплатил.

Главная_форма.На_руках_ли – открытие запроса На_руках_ли?, что позволяет проверить, какие книги на руках.

Главная_форма.Закрытие_формы – закрытие формы Главная форма и применение запроса Аннулировать_долг(2), что позволяет изменить в таблицах долг читателя, если он оплатил его.

Свежие статьи
Популярно сейчас
Зачем заказывать выполнение своего задания, если оно уже было выполнено много много раз? Его можно просто купить или даже скачать бесплатно на СтудИзбе. Найдите нужный учебный материал у нас!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Нет! Мы не выполняем работы на заказ, однако Вы можете попросить что-то выложить в наших социальных сетях.
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
4125
Авторов
на СтудИзбе
667
Средний доход
с одного платного файла
Обучение Подробнее