Библиотеки ВУЗов Донецка

Автор: Пользователь скрыл имя, 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

Работа содержит 1 файл

Поясняшка.docx

— 3.88 Мб (Скачать)

 

Рисунок 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.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 Библиотеки.Код_библиотеки = [Отделы библиотек].Код_библиотеки) INNER JOIN (Книги INNER JOIN [Книги в отделах] ON Книги.Код_книги = [Книги в отделах].Код_книги) ON [Отделы библиотек].Код_отдела = [Книги  в отделах].Код_отдела

ORDER BY Библиотеки.Код_библиотеки, Книги.Книга;

Рисунок А.1 Симметрическое объединение с DISTINCT

 

2. Симметрическое  объединение или итоговый запрос  с использованием TOP n:

Определить  первых трех читателей, которые брали  больше всего книг (рис. A.2):

 

SELECT TOP 3 Библиотеки.ВУЗ, Читатели.ФИО, Count([Взятые  книги].Код_взятой_книги) AS [Количество  книг]

FROM (Библиотеки INNER JOIN Читатели ON Библиотеки.Код_библиотеки=Читатели.Код_библиотеки) INNER JOIN [Взятые книги] ON Читатели.Код_читателя=[Взятые  книги].Код_читателя

GROUP BY Библиотеки.ВУЗ, Читатели.ФИО

ORDER BY Count([Взятые книги].Код_взятой_книги) DESC;

Рисунок А.2 Запрос с TOP n

 

 

 

3. Итоговый  запрос с условием на данные  и с условием на группы:

Определить  отделы ВУЗов которые находятся в заданном районе и имеют количество экземпляров книг больше заданного (рис А.3):

 

SELECT Библиотеки.ВУЗ, [Отделы библиотек].Код_названия, Count([Книги  в отделах].Код_отдела) AS [Количество  книг], Sum([Книги в отделах].Количество_экземпляров) AS [Количество экземпляров], Sum([Книги  в отделах]!Цена_возмещения*[Книги  в отделах]!Количество_экземпляров) AS [Общая стоимость]

FROM Районы INNER JOIN ((Библиотеки INNER JOIN [Отделы библиотек] ON Библиотеки.Код_библиотеки = [Отделы  библиотек].Код_библиотеки) INNER JOIN [Книги  в отделах] ON [Отделы библиотек].Код_отдела = [Книги в отделах].Код_отдела) ON Районы.Код_района = Библиотеки.Код_района

GROUP BY Библиотеки.ВУЗ, Районы.Район, [Отделы  библиотек].Код_названия

HAVING (((Районы.Район)=[Введите  район]) AND ((Sum([Книги в отделах].Количество_экземпляров))>=[Формы]![4-1 Сведенья о книгах]![Количество  экземпляров 2]))

ORDER BY Библиотеки.ВУЗ, [Отделы библиотек].Код_названия;

Рисунок А.3 Итоговый запрос с условием на данные и группы

 

4. Перекрестный  запрос с условием:

Определить  количество взятых книг для каждой библиотеки по кварталам заданного года (рис А.4):

 

PARAMETERS [Укажите год] Short;

TRANSFORM Count([Взятые книги].Код_взятой_книги) AS [Количество взятых книг]

SELECT Библиотеки.ВУЗ,  Библиотеки.Код_района

FROM Районы INNER JOIN ((Библиотеки INNER JOIN [Отделы библиотек] ON Библиотеки.Код_библиотеки = [Отделы  библиотек].Код_библиотеки) INNER JOIN ([Книги  в отделах] INNER JOIN [Взятые книги] ON [Книги в отделах].Код_книги_в_отделе = [Взятые книги].Код_книги_в_отделе) ON [Отделы библиотек].Код_отдела = [Книги  в отделах].Код_отдела) ON Районы.Код_района = Библиотеки.Код_района

WHERE (((Year([Взятые  книги]![Дата_выдачи]))=[Укажите год]))

GROUP BY Библиотеки.ВУЗ, Библиотеки.Код_района

ORDER BY Библиотеки.ВУЗ

PIVOT Year([Взятые  книги]!Дата_выдачи) & "г " & "Квартал " & DatePart("q",[Взятые  книги]!Дата_выдачи);

Рисунок А.4 Перекрестный запрос с условием

 

5. Подчиненный  запрос (использовать предикаты  сравнения, EXISTS, ANY, ALL, IN):

Определить  те книги, у которых цена возмещения превышает все цены возмещения по всем отделам всех библиотек определенной книги (рис. А.5):

 

SELECT [Книги  в отделах].Код_книги_в_отделе, Книги.Книга, [Книги в отделах].Цена_возмещения, [Книги в отделах].Код_отдела

FROM Книги  INNER JOIN [Книги в отделах] ON Книги.Код_книги  = [Книги в отделах].Код_книги

WHERE ((([Книги  в отделах].Цена_возмещения)>All (SELECT Distinct [Книги в отделах].Цена_возмещения  FROM Книги INNER JOIN [Книги в отделах] ON Книги.Код_книги = [Книги в отделах].Код_книги  WHERE [Книги.Код_книги]=[Формы]![4-1 Сведенья  о книгах]![Выбор книги])))

Информация о работе Библиотеки ВУЗов Донецка