Реферат по предмету "Информатика"


Разработка автоматизированной системы Библиотека

МИНИСТЕРСТВО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ
Дальневосточная государственная академия экономики и управления
Кафедра математики и моделирования
Курсовая работа
по базам данных и базы знаний
Разработка автоматизированной системы “Библиотека”
Студент
Нестеренко М.В.
131-ПИ
Руководитель
Озерова Г.П.
Владивосток, 2002
Оглавление
1. Введение
2. Функциональные возможности системы
3. Построение информационно-логической модели базы данных
3.1. Выделение информационных объектов
3.2. Структура информационных объектов базы данных
3.3. Связи между информационными объектами
4. Проектирование алгоритмов обработки данных
5. Разработка запросов для корректировки и выборки данных
5.1. Запросы на выборку данных
5.2 Корректировка данных средствами запросов.
6. Реализация пользовательского интерфейса средствами форм
7. Разработка отчетов
8. Реализация алгоритмов обработки информации программными средствами
8.1. Реализация алгоритмов средствами макросов
8.2. Реализация алгоритмов средствами Visual Basic
9. Разработка приложения пользователя
Приложения
1. Введение
Имеется некоторая библиотека, в которой хранятся книги. Они различаются по авторам, по жанру, году издания, издательству, которое их выпустило, по месту издания. Каждый жанр книги имеет свою продолжительность держания на руках и пеню, начисляемую в случае не возврата книги вовремя.
В библиотеке записано некоторое количество читателей, данные о которых хранятся в специальной ведомости. Каждый читатель имеет возможность взять любую книгу, которая в данный момент находится в библиотеке.
После того, как человек взял книгу на руки, считается, что никакому другому читателю она не доступна до тех пор, пока взявший ее не вернет назад. Дата взятия книги заносится в ведомость и когда читатель возвращает книгу, учитывается, вернул ли он ее вовремя или же просрочил. В этом случае ему за каждый день просрочки начисляется пеня в установленном размере.
2. Функциональные возможности системы
Система “Библиотека” предоставляет следующие возможности для пользователей:
Занесение новых книг в фонд библиотеки
Просмотр информации о каждом зарегистрированном читателе
Просмотр всех книг, которые читатель брал за все время пользования библиотекой
Поиск необходимой читателю книги по нескольким параметрам
Просмотр книг, которые находятся на руках у читателя, а также тех, за которые он не заплатил пеню
Оплата пени за ту книгу, сдачу которой читатель просрочил
Просмотреть информацию обо всех читателях, которые зарегистрированы в библиотеке (ФИО, адрес, телефон)
3. Построение информационно-логической модели базы данных
3.1 Выделение информационных объектов
а) документы и их реквизиты, подлежащие хранению в базе данных
Документ
Наименование реквизита
Идентификатор
Функциональная зависимость
Список
Код_автора
Код_автора
/>/>/>/>/>/>/>/>/>/>/>/>/>/>/>/>/>/>/>/>/>/>/>/>/>/>/>/>/>/>/>/>/>/>/>/>/>/>/>/>/>/>/>/>/>/>/>/>/>/>/>/>/>/>/>/>/>/>/>/>/>/>/>/>/>/>/>/>/>/>/>/>/>/>/>/>/>

книг
Автор_книги
Автор




Авт_знак
Авт_знак




Код_заглавия
Код_заглавия




Заглавие_книги
Заглавие




Код_вида_издания
Код_вида_издания




Вид_издания
Вид_издания




На_какой_срок
На_какой_срок




Начисляемая_пеня
Начисляемая_пеня




Код_издательства
Код_издательства




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




Место_издания
Код_издания
Библ_шифр
Год_издания
Аннотация
Код_экземпляра
На_руках?
Место_издания
Код_издания Библ_шифр
Год_издания
Аннотация
Код_экземпляра
На_руках?


Список
Код_улицы
Код_улицы


читателей
Улица_проживания
Улица




Дом
Дом

--PAGE_BREAK----PAGE_BREAK----PAGE_BREAK--


3
Код_издательства
счетчик
q
Издание

Название столбца
Тип
Ключ
1
Код_вида_издательства
числовой


2
Код_автора
числовой


3
Заглавие
числовой


4
Библ_шифр
текстовый


5
Код_издательства
числовой


6
Год_издания
числовой


7
Аннотация
Поле MEMO


8
Код_издания
счетчик
q
Экземпляр

Название столбца
Тип
Ключ
1
Код_издания
числовой


2
На_руках?
логический


3
Код_экземпляра
счетчик
q
Улицы

Название столбца
Тип
Ключ
1
Улица
текстовый


2
Код_улицы
счетчик
q
Адрес

Название столбца
Тип
Ключ
1
Улица
числовой


2
Дом
текстовый


3
Квартира
числовой


4
Код_адреса
счетчик
q
Читатели

Название столбца
Тип
Ключ
1
Фамилия
текстовый


2
Имя
текстовый


3
Отчество
текстовый


4
Код_адреса
числовой


5
Телефон
текстовый


6
Номер_билета
счетчик
q
Ведомость

Название столбца
Тип
Ключ
1
Код_читателя
числовой


2
Код_экземпляра
числовой


3
Дата_оплаты
дата/время


4
Заплачено
числовой


5
Код_ведомости
счетчик
q
Выдача

Название столбца
Тип
Ключ
1
Номер_билета
числовой
q
2
Код_экземпляра
числовой
q
3
Дата_выдачи
дата/время


4
Когда_вернул
дата/время


5
Пеня
числовой


6
Заплатил_пеню?
логический


3.3 Связи между информационными объектами
/>    продолжение
--PAGE_BREAK--
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)
Таблица Выдача
/>Номер_билета
Код_экземпляра
Дата_выдачи
Когда_вернул
Пеня
Заплатил_пеню?
Данный запрос, описанный в 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) Уровни группировки:
Поле/выражение
Заголовок группы
Примечание группы
Автор
Да
Нет
Код_автора
Да
Нет    продолжение
--PAGE_BREAK--
1.5) Поля:
Заголовок группы 'Автор'
Автор
Заголовок группы 'Код_автора'
Авт_знак
Область данных
Библ_шифр
Заглавие
Издательство
Место_издания
Год_издания
1.6) Сам отчет:
/>
10 читателей – отчет, в котором представлена диаграмма с десятью читателями, которые брали в библиотеке наибольшее количество книг.
Читатели – отчет, в котором содержится информация обо всех читателях библиотеки и книгах, которые они брали: ФИО читателя, книга, которую он брал, дата выдачи).
8. Реализация алгоритмов обработки информации программными средствами
8.1 Реализация алгоритмов средствами макросов
Главная_форма. Оплата – макрос позволяет читателю заплатить пеню и не переплатить.
а) Сообщение
Сообщение: Вы ввели слишком большую сумму.
Сигнал: Да
Тип: Информационное
Заголовок: Слишком большая сумма
Макрокоманда выдает сообщение, если сумма, заплаченная пользователем, больше той, которую следует заплатить.
б) КЭлементуУправления
Имя элемента: [ОплатитьДолг]
Происходит переход ко вкладке ОплатитьДолг.
в) КЭлементуУправления
Имя элемента: [Заплачено]
Происходит переход к элементу Заплачено вкладки ОплатитьДолг.
г) ОткрытьЗапрос
Имя запроса: Создать_таблицу
Режим: Таблица
Режим данных: Изменение
Макрокоманда открывает запрос на создание таблицы о сумме, которую заплатил читатель.
При выполнении следующих макрокоманд необходимо, чтобы сумма, которую заплатил читатель, была меньше той, которую следует заплатить.
д) ОткрытьЗапрос
Имя запроса: Создать_таблицу
Режим: Таблица
Режим данных: Изменение
Макрокоманда открывает запрос на создание таблицы о сумме, которую заплатил читатель.
е) ОткрытьЗапрос
Имя запроса: Оплата_пени
Режим: Таблица
Режим данных: Изменение
Макрокоманда открывает запрос на обновление той суммы, которую внес читатель и которую ему осталось оплатить.
/>
Главная_форма.Выбор_читателя – реагирование системы на выбор пользователем определенного читателя.
Главная_форма.Пеня, Главная_форма.Пеня_присвоение – переход на вкладку с оплатой пени и занесение данных в нужные ячейки.
Главная_форма.Переход – вспомогательный макрос для перехода на последнюю запись при оплате пени пользователем.
Главная_форма.Возврат_книги – возвращение читателем книги, снятие ее с рук, подсчет пени для читателя и убирание тех, кто заплатил.
Главная_форма.На_руках_ли – открытие запроса На_руках_ли?, что позволяет проверить, какие книги на руках.
Главная_форма.Закрытие_формы – закрытие формы Главная форма и применение запроса Аннулировать_долг(2), что позволяет изменить в таблицах долг читателя, если он оплатил его.
Адреса_клиентов.Кнопки – макрос по выбору читателей по заданной первой букве фамилии.
Сумма_оплаченная – переход к выбранному читателю из возможных
Поиск_книги.Фильтр – применение фильтра на основании заданных параметров.
Поиск_книги.Ошибка – выдается сообщение, если читатель пытается взять книгу, которая на руках у другого человека.
Поиск_книги.Взять – вспомогательный макрос для поиска книги.
Поиск_книги.Взял – закрывает форму Поиск_книги и записывает выбранную книгу за читателем.
Поиск_книги.Error – выдает сообщение, если при поиске книги по критериям читатель указал более или менее пяти критериев.
8.2 Реализация алгоритмов средствами Visual Basic
Следующий алгоритм предназначен для перехода на форму Адреса_клиентов после нажатия кнопки Просмотр всех читателей на главной форме:
Private Sub ВсеЧитатели_Click()
On Error GoTo Err_ВсеЧитатели_Click
Dim stDocName As String
Dim stLinkCriteria As String
stDocName = ChrW(1040) & ChrW(1076) & ChrW(1088) & ChrW(1077) & ChrW(1089) & ChrW(1072) & ChrW(95) & ChrW(1082) & ChrW(1083) & ChrW(1080) & ChrW(1077) & ChrW(1085) & ChrW(1090) & ChrW(1086) & ChrW(1074)
DoCmd.OpenForm stDocName,,, stLinkCriteria
Exit_ВсеЧитатели_Click:
Exit Sub
Err_ВсеЧитатели_Click:
MsgBox Err.Description
Resume Exit_ВсеЧитатели_Click
End Sub
Кроме того, в автоматизированной системе “Библиотека” присутствуют и другие события, написанные средствами Visual Basic:
Событие, позволяющее подсчитать пеню читателя.
Событие, предназначенное для открытия формы Поиск_книги после нажатия кнопки Поиск_книги.
Событие, которое происходит после выбора читателем пяти критериев при поиске книги. Оно позволяет вывести на экран только те критерии, которые выбрал пользователь и после производить действия с ними.
Событие, которое происходит при нажатии читателем при выборе понравившейся ему книги.
Событие, которое скрывает все поля для ввода критериев при запуске формы Поиск_книги или повторном поиске книги.
9. Разработка приложения пользователя
Главной формой базы данных “Библиотека” является Главная форма, содержащая в себе 6 вкладок.
Вкладка Сведения о книгах.
/>
На данной вкладке представлена информация обо всех тех книгах, которые брал тот читатель, чья фамилия выбрана в заголовке формы.
Вкладка Просроченные книгисодержит информацию о просроченных книгах и о той сумме, которую следует заплатить (поле Пеня). При двойном нажатии на данное поле происходит переход на вкладку Оплатить долг.
/>
Курсор автоматически устанавливается в последнее поле, счетчик увеличивается на единицу, датой оплаты ставится текущее число, а вверху формы автоматически проставляется текущая сумма задолженности. После того, как пользователь введет сумму, которую он хочет оплатить, ему следует нажать кнопку Рассчитать.
Вкладка Какие книги на рукахотвечает за информацию о тех книгах, которые находятся на руках у читателя (если таковые имеются).
Вкладка Сведения о читателесодержит информацию о выбранном читателе. При нажатии кнопки Просмотр всех читателейоткрывается форма Адреса_клиентов, в которой представлена информация обо всех читателях с их адресами и телефонами.
/>
И последняя вкладка, Найти и взять книгу, содержит данные о тех книгах, которые читатель брал. При нажатии на кнопку Поиск книгиоткроется форма Поиск_книги, на которой читатель может найти книгу по заданным параметрам и взять ее.
/>
Приложения
1. Формы
/>
2. Отчеты
/>
/>


Не сдавайте скачаную работу преподавателю!
Данный реферат Вы можете использовать для подготовки курсовых проектов.

Поделись с друзьями, за репост + 100 мильонов к студенческой карме :

Пишем реферат самостоятельно:
! Как писать рефераты
Практические рекомендации по написанию студенческих рефератов.
! План реферата Краткий список разделов, отражающий структура и порядок работы над будующим рефератом.
! Введение реферата Вводная часть работы, в которой отражается цель и обозначается список задач.
! Заключение реферата В заключении подводятся итоги, описывается была ли достигнута поставленная цель, каковы результаты.
! Оформление рефератов Методические рекомендации по грамотному оформлению работы по ГОСТ.

Читайте также:
Виды рефератов Какими бывают рефераты по своему назначению и структуре.

Сейчас смотрят :

Реферат Мария Фёдоровна жена Павла I
Реферат Основные теории конкуренции
Реферат 1. Наклоняйте голову вправо, влево, вперед и назад выполняйте наклоны без особого напряжения
Реферат Is Rape Motivated By Sex Essay Research
Реферат Термодинамические основы термоупругости
Реферат Суспільство держава і право
Реферат Судебный прецедент право на существование в качестве источника уголовного права
Реферат Краткий отзыв о рассказе В.Шаламова "Чужой хлеб"
Реферат Международный рынок маркетинговых исследований
Реферат Коллективизация в романах Б.А.Можаева "Мужики и бабы" и М.А.Шолохова "Поднятая целина"
Реферат Система координат станка детали и инструмента
Реферат Правовая организация трудоустройства
Реферат Основной капитал предприятия Анализ использования основного капита
Реферат Управление гимназией на основе адаптации автоматизированной информационно-аналитической системы "Аверс"
Реферат Roxanne Essay Research Paper 1801Period 4 ROXANNE