Автор: Пользователь скрыл имя, 02 Ноября 2012 в 18:48, курсовая работа
Работа посвящена разработке прикладной системы, предназначенной для автоматизации информационной системы о работе библиотек ВУЗов Донецка. Целью автоматизации является упрощение и повышение надежности обработки и хранения информации.
Введение ………………………………………………………………………4
1 Проблемы автоматизации библиотечной деятельности …………………6
2 Разработка системы «Библиотеки ВУЗов Донецка» ..................................7
2.1 Назначение и функции системы ………………………………………...7
2.2 Проектирование концептуальной модели данных ……………………..7
2.3 Формирование запросов ………………………………………………..10
2.3.1 Книги по отделам всех библиотек …………………………………...11
2.3.2 Читатели, бравшие книги за период …………………………………12
2.3.3 Отделы библиотек – количество экземпляров ……………………...12
2.3.4 Общая информация о книгах ………………………………………...13
2.3.5 Информация о взятых книгах по годам ……………………………...14
2.3.6 Информация о взятых книгах по кварталам ………………………...14
2.3.7 Читатели, которые не брали книги за период ……………………….15
2.3.8 Книги по отделам всех библиотек …………………………………...16
2.3.9 Читатели, бравшие книги за период …………………………………17
2.3.10 Информация о взятых книгах по годам …………………………….18
2.3.11 Библиотеки, в которых есть заданный отдел ………………………19
2.4 Структура системы ……………………………………………………...20
Выводы ………………………………………………………………………27
Перечень ссылок …………………………………………………………….28
Приложение А SQL запросы………………..………………………..……..29
Приложение Б Примеры форм…..……………………………………..…...32
Приложение В Примеры отчетов..……………………………………….....38
Приложение Г Руководство пользователя………………...…………..…...40
Приложение Д Задание на курсовую работу…………..………….……….46
Рисунок 2.4
2.3.3 Отделы
библиотек – количество
Определить отделы библиотек, в которых количество экземпляров книг превышает заданное число. Данный запрос является итоговым с условием на группы и реализованный с помощью QBE. Бланк QBE имеет следующий вид (рис. 2.5):
Рисунок 2.5
2.3.4 Общая информация о книгах
Определить количество разных книг, количество экземпляров и общую стоимость возмещения по всем библиотекам. Данный запрос является обобщенным итоговым и реализован с помощью QBE. Бланк QBE имеет следующий вид (рис. 2.6):
Рисунок 2.6
2.3.5 Информация о взятых книгах по годам
Для каждой библиотеки определить количество взятых книг по годам и общее количество взятых книг. Данный запрос является перекрестным без условия и реализован при помощи средств QBE. Бланк QBE имеет следующий вид (рис. 2.7):
Рисунок 2.7
2.3.6 Информация о взятых книгах по кварталам
Для каждой библиотеки определить количество взятых книг по кварталам. Данный запрос является перекрестным с условием и реализован при помощи средств QBE. Бланк QBE имеет следующий вид (рис. 2.8):
Рисунок 2.8
2.3.7 Читатели, которые не брали книги за период
Определить список читателей, которые не брали в библиотеках книги за указанный период. Данный запрос является запросом на запросе с использованием левого объединения и реализован с помощью QBE. Бланк QBE вспомогательного запроса имеет следующий вид (рис. 2.9):
Рисунок 2.9
Бланк QBE
основного запроса имеет
Рисунок 2.10
2.3.8 Книги по отделам всех библиотек
Для каждого отдела определить количество книг, количество экземпляров и общую стоимость возмещения книг. Данный запрос является симметрическим объединением. Бланк QBE имеет следующий вид (рис 2.11):
Рисунок 2.11
2.3.9 Читатели, бравшие книги за период
Определить для каждого читателя количество книг, взятых в указанный период. Данный запрос является симметрическим объединением с условием на дату и реализован с помощью QBE. Бланк QBE имеет следующий вид (рис. 2.12):
Рисунок 2.12
2.3.10 Информация о взятых книгах по годам
Для каждой библиотеки определить количество взятых книг по годам и общее количество взятых книг. Данный запрос является симметрическим объединением и реализован при помощи средств QBE. Бланк QBE имеет следующий вид (рис. 2.13):
Рисунок 2.13
2.3.11 Библиотеки, в которых есть заданный отдел
Вывести те библиотеки и информацию о них, у которых есть заданный отдел. Данный запрос является симметрическим объединением с условием по текстовому полю и реализован при помощи средств QBE. Бланк QBE имеет следующий вид (рис. 2.14):
Рисунок 2.14
2.4 Структура системы
Запросы Microsoft Access позволяют быстро получать нужную информацию. Но чтобы было более компактно и удобно их использовать запросы, следует использовать формы.
Формы создаются с помощью особого набора элементов, в который входят: Надпись, Поле, Список, Поле со спиком, Группа переключателей, Выключатель, Переключатель, Флажок, Кнопка, Рисунок, Свободная рамка объекта, Присоединенная рамка объекта, Разрыв страницы, Вкладка, Подчиненная форма/отчет, Линия, Прямоугольник, а также дополнительные объекты, используемые в других программах.
Также с помощью форм можно передавать данные для условий запросов.
Для удобного использования БД было создано ряд форм. Иерархия частей приложения приведена на рис.2.15:
Рисунок 2.15
Главной кнопочной формой является “Главная форма” (рис 2.16):
Рисунок 2.16
Данная форма является основной, только из нее можно попасть на другие формы.
Для установок ограничений, выводов сообщений, переходов к формам и для многих других функций используются макросы, т.е. можно автоматизировать выполнение практически любой задачи.
Access предлагает более 50 макрокоманд. Каждая МК имеет имя и набор аргументов. Значения одних аргументов задаются автоматически, значение других аргументов должен устанавливать программист.
Собрание более одной макрокоманды в одном макросе называют группой макросов. Это позволяет сэкономить на рабочем пространстве и удобно пользоваться. Обычно на одну форму создают группу макросов, которые используются только в этой форме. Пример самой простой группы макросов приведен на рис 2.17:
Рисунок 2.17
Данная группа макросов используется в главной кнопочной форме. Макрокоманда “ОткрытьФорму” используется для перехода на другую форму. Параметры, которые задаются для этой макрокоманды приведены на рис. 2.18. Макрокоманда “Закрыть” закрывает форму.
Рисунок 2.18
Более сложная группа макросов используется в форме Сведения о библиотеках (рис 2.18):
Рисунок 2.19
Первый макрос “Просмотр читателей” используется для проверки наличия читателей. Ставится на запуск формы. “Читатели”, “Добавить библиотеку”, “Добавить читателя”, “Все библиотеки” служат для перехода на формы. Макрос “Удалить” позволяет удалить текущую запись. “Найти” позволяет найти запись из выпадающего списка. “Вывести список” позволяет вывести список с записями, которые используются для поиска. “Спрятать список” прячет спиок.
Более сложная группа макросов используемая в этой СУБД это “Сведения о книгах” (рис 1.20):
Рисунок 1.20
Форма, в которой используется данная группа макросов состоит из группы переключателей, которая называется “Выбор”. Макрос “Выбор списка” позволяет выводить поля и списки в зависимости от выбранного переключателя. “Просмотр” позволяет переходить на разные формы, используя одну кнопку. 3 проверки нужны для проверки наличия записей. “Скрыть” скрывает все сплывающие списки и поля.
Наиболее сложная группа макросов используется при изменении БД (рис 1.21):
Рисунок 1.21
Сложность
заключается в собирании
Как видно,
макросы – незаменимый
ВЫВОДЫ
В ходе данной работы было выявлено основные возможности и назначения Microsoft Access. Microsoft Access служит для создания и обработки баз данных, с использованием запросов сформированных как с помощью бланков QBE, так и с помощью языка SQL. Для удобного управления СУБД используются формы и макросы. Также в СУБД можно использовать отчеты, которые формируются на основе данных БД. Отчеты очень удобны, так как их можно быстро сформулировать и распечатать как документ.
СУБД “Библиотеи ВУЗов Донецка” - хорошее решение в управлении данными в библиотеках. Однако, данная СУБД не является идеальной. Для наибольшей пользы следует добавить возможность обновления, добавления и удаления записей для каждой таблицы и справочников. Также, должна быть возможность просматривать данные всех таблиц. Схему данных можно модифицировать, добавив ряд таблиц.
Для функционирования системы необходим компьютер IBM PC с процессором частотой не ниже 333 МГц объемом памяти не менее 128Мб, операционная система не ниже Microsoft Windows XP, пакет Office 2007 или более новый.
ПЕРЕЧЕНЬ ССЫЛОК
1. Дейт К. Введение в системы баз данных. К.; М; СПб.; Издательский дом «Вильямс», 2000. -848с.:ил.
2. Т.С. Карпова. Базы данных: модели, разработка, реализация – СПб.: Питер, 2001. – 304 с.:ил.
3. С. Робинсон. Microsoft Access 2003: учебный курс – СПб: издательство «Питер», 2005. – 512 с.: ил.
4. Д. Вейкас. Эффективная работа в Microsoft Access 2003 СПб.: Питер, 2004. – 850 с.: ил.
5. Керри Н. Праг, Майкл Р. Ирвин, Access 2003. Библия пользователя: Пер. с англ. М.: Издательский дом «Вильямс», 2005. – 1040 с.:ил
6. Михеева В.Д., Харитонова И.А. Microsoft Access 2002. – СПб.: БХВ – Петербург, 2002. – 1040 с.: ил.
ПРИЛОЖЕНИЕ А
SQL –ЗАПРОСЫ
1. Симметрическое объединение с использованием предиката DISTINCT:
Определить все разные книги каждой библиотеки (рис. А.1):
SELECT DISTINCT
Библиотеки.ВУЗ, Библиотеки.
FROM (Библиотеки
INNER JOIN [Отделы библиотек] ON Библиотеки.Код_библиотеки
= [Отделы библиотек].Код_
ORDER BY Библиотеки.Код_библиотеки, Книги.Книга;
Рисунок А.1 Симметрическое объединение с DISTINCT
2. Симметрическое
объединение или итоговый
Определить первых трех читателей, которые брали больше всего книг (рис. A.2):
SELECT TOP 3 Библиотеки.ВУЗ, Читатели.ФИО, Count([Взятые книги].Код_взятой_книги) AS [Количество книг]
FROM (Библиотеки
INNER JOIN Читатели ON Библиотеки.Код_библиотеки=
GROUP BY Библиотеки.ВУЗ, Читатели.ФИО
ORDER BY
Count([Взятые книги].Код_
Рисунок А.2 Запрос с TOP n
3. Итоговый запрос с условием на данные и с условием на группы:
Определить отделы ВУЗов которые находятся в заданном районе и имеют количество экземпляров книг больше заданного (рис А.3):
SELECT Библиотеки.ВУЗ,
[Отделы библиотек].Код_
FROM Районы INNER JOIN ((Библиотеки INNER JOIN [Отделы библиотек] ON Библиотеки.Код_библиотеки = [Отделы библиотек].Код_библиотеки) INNER JOIN [Книги в отделах] ON [Отделы библиотек].Код_отдела = [Книги в отделах].Код_отдела) ON Районы.Код_района = Библиотеки.Код_района
GROUP BY Библиотеки.ВУЗ, Районы.Район, [Отделы библиотек].Код_названия
HAVING (((Районы.Район)=[Введите
район]) AND ((Sum([Книги в отделах].
ORDER BY
Библиотеки.ВУЗ, [Отделы библиотек].Код_
Рисунок А.3 Итоговый запрос с условием на данные и группы
4. Перекрестный запрос с условием:
Определить количество взятых книг для каждой библиотеки по кварталам заданного года (рис А.4):
PARAMETERS [Укажите год] Short;
TRANSFORM
Count([Взятые книги].Код_
SELECT Библиотеки.ВУЗ, Библиотеки.Код_района
FROM Районы
INNER JOIN ((Библиотеки INNER JOIN [Отделы библиотек]
ON Библиотеки.Код_библиотеки = [Отделы
библиотек].Код_библиотеки) INNER JOIN ([Книги
в отделах] INNER JOIN [Взятые книги] ON
[Книги в отделах].Код_книги_в_
WHERE (((Year([Взятые
книги]![Дата_выдачи]))=[
GROUP BY
Библиотеки.ВУЗ, Библиотеки.
ORDER BY Библиотеки.ВУЗ
PIVOT Year([Взятые книги]!Дата_выдачи) & "г " & "Квартал " & DatePart("q",[Взятые книги]!Дата_выдачи);
Рисунок А.4 Перекрестный запрос с условием
5. Подчиненный запрос (использовать предикаты сравнения, EXISTS, ANY, ALL, IN):
Определить те книги, у которых цена возмещения превышает все цены возмещения по всем отделам всех библиотек определенной книги (рис. А.5):
SELECT [Книги
в отделах].Код_книги_в_отделе, Книги.Книга,
[Книги в отделах].Цена_
FROM Книги INNER JOIN [Книги в отделах] ON Книги.Код_книги = [Книги в отделах].Код_книги
WHERE ((([Книги
в отделах].Цена_возмещения)>