Автоматизированная система Библиотека

Министерство образования и науки Российской Федерации
Тихоокеанский Государственный Экономический Университет
Экономический институт
Курсовая работа
на тему:
«Библиотека»
Владивосток 2009
Введение
Автоматизированная система «Библиотека»
В библиотеки хранятся несколько видов литературы: книги, газеты и журналы. Каждая книга (газета, журнал) относится к определенному разделу, который подразделяется по темам. У каждой книги (газеты, журнала) есть ряд характеристик: автор, название, издательство, место и пр.
Пользователями библиотеки являются читатели. На каждого читателя ведется формуляр, который содержит информацию о нем (адрес, фамилия, телефон), а также сведения о взятой книге, дате получения и возврата.
В случае задержки книги, начисляется пеня за каждый день просрочки (на руках книга может находиться 10 дней). В системе ведется учет книг, пользователей и финансов.
1. Функциональные возможности системы
Функциональные возможности системы «Библиотека» предоставляют следующие возможности:
Занесение новых книг в фонд библиотеки;
Просмотр информации о каждом записанном читателе;
Оплата пени за ту книгу, сдачу которой читатель просрочил;
Просмотреть информацию обо всех читателях, которые зарегистрированы в библиотеке: Ф.И.О., адрес;
Занесение новых читателей.
2. Построение информационно-логической модели базы данных
Выделение информационных объектов
1) документы и их реквизиты, подлежащие хранению в базе данных
Документ
Наименование реквизита (реальное)
Наименование реквизита в базе данных
Тип реквизита
Связи
Книги
Код
Название
Автор
Издательство
Тема
Тип
Место
В наличие
kod
nazvan
kod_avtor
kod_izdat
kod_temi
kod_tip
kod_mesto
v_nalichie
Ключевой
Описательный
Описательный
Описательный
Описательный
Описательный
Описательный
Описательный
/>/>/>/>/>/>/>/>/>/>

Читатели
Код читателя
Фамилия
Улица
Дом
Квартира
kod_chitat
familiya
uliza
dom
kvartira
Ключевой
Описательный
Описательный
Описательный
Описательный
/>/>/>/>/>/>

2) зависимые реквизиты
Описательные реквизиты
Ключевые реквизиты
nazvan
kod
kod_avtor
kod
kod_izdatel
kod–PAGE_BREAK–
kod_temi
kod
kod_tip
kod
kod_mesto
kod
v_nalichie
kod
familiya
kod_chitat
uliza
kod_chitat
dom
kod_chitat
kvartira
kod_chitat
3) группировка реквизитов
Имя информационного объекта
Реквизиты
Ключевое поле
Описание
Информация
kod
nazvan
kod_avtor
kod_izdat
kod_temi
kod_tip
kod_mesto
v_nalichie

1

¥
Автор
kod_avtor
fio

1
Издательство
kod_izdat
nazvan

1
Место
kod_mesto
nazvan

1
Раздел
kod_razd
nazvan

1
Тема
kod_temi
nazvan
kod_razd

1
Тип
kod_tip
tip

1
Экземпляр
kod_ekzempl
nazvan
ekzempl
kod_temi
v_nalichie

1
Таблица – связка
kod
chitat
nazvan
ekzempl
data_vid
data_voz
pr_dni
penya

Читатель
kod_chitat
familiya
uliza
dom
kvartira

1
¥
Улица
kod_uliza
uliza

1
Структура информационных объектов базы данных
Автор    продолжение
–PAGE_BREAK–
Название столбца
Тип
Ключевоеполе
Kod_avtor
Счетчик

fio
Текстовый

Издательство
Название столбца
Тип
Ключевое поле
kod_izdat
Счетчик

nazvan
Текстовый

Место
Название столбца
Тип
Ключевое поле
kod_mesto
Счетчик

nazvan
Текстовый

Раздел
Название столбца
Тип
Ключевое поле
kod_razd
Счетчик

nazvan
Текстовый

Тема
Название столбца
Тип
Ключевое поле
kod_temi
Счетчик

nazvan
Текстовый

kod_razd
Числовой

Тип
Название столбца
Тип
Ключевое поле
kod_tip
Счетчик

tip
Текстовый

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

uliza
Текстовый

Таблица – Связка
Название столбца
Тип
Ключевое поле
kod
Счетчик

chitat
Числовой

nazvan
Текстовый

ekzempl
Числовой

data_vid
Дата/время

data_voz
Дата/время

pr_dni    продолжение
–PAGE_BREAK–
Числовой

penya
Денежный

Читатель
Название столбца
Тип
Ключевое поле
kod_chitat
Счетчик

familiya
Текстовый

dom
Числовой

kvartira
Числовой

Экземпляр
Название столбца
Тип
Ключевое поле
kod_ekzempl
Счетчик

nazvan
Числовой

kod_temi
Числовой

v_nalichie
Логический

Информация
Название столбца
Тип
Ключевое поле
kod
Счетчик

nazvan
Текстовый

kod_avtor
Числовой

kod_mesto
Числовой

v_nalichie
Логический

Связи между информационными объектами
/>
3.Проектирование алгоритмов обработки данных
Выбор книги
Книга на руках
Действие в течение года
Регистрация в библиотеке (если еще не зарегистрирован)
Поиск книги в базе
Занесение информации о взятой книги в карточку читателя

Подсчет пени каждого читателя
Добавление новых книг
Регистрация новых читателей
Запрос на выборку данных
Пеня – запрос для расчета задолженности читателей по каждой книге. Данные из таблицы – связки должны быть включены в запрос: chitat, nazvan, ekzempl, data_vid, data_voz, pr_dni, penya
/>/>/>/>/>/>

Данный запрос, описанный в SQL:
UPDATE [Таблица – связка] SET [Таблица – связка].penya = [pr_dni]*0.9
На поиск книги – запрос, необходимый для поиска книги по необходимым параметрам (по автору, издательству, теме).
Взять книгу – берется книга и данные добавляются в таблицу «Таблица – связка».
Корректировка данных средствами запросов
Взять книгу – берется книга и данные добавляются в таблицу «Таблица – связка».
Данный запрос, описанный в SQL:
INSERT INTO [Таблица– связка] (chitat, nazvan, ekzempl)
SELECT TOP 1 Читатель.kod_chitat, Информация.nazvan, Экземпляр.kod_ekzempl
FROM Читатель, ИнформацияINNER JOIN ЭкземплярON Информация.kod = Экземпляр.nazvan
WHERE (((Читатель.kod_chitat)=[Forms]! [Главная форма]! [Читатель, книги]. [Form]! [kod_chitat]) AND ((Информация.nazvan)=[Forms]! [Информация1]! [nazvan]));
Просроченные дни – обновляются данные (просроченные дни) в таблице «Таблица – связка».
4. Реализация пользовательского интерфейса средствами форм
Технология загрузки базы данных    продолжение
–PAGE_BREAK–
– В первую очередь заполняются таблицы Автор, Тема, Тип, Издательство, Место.
– Таблица «Информация» заполняется на основе вышеприведенных таблиц.
– Затем заполняются таблицы «Экземпляр», «Улица», эти данные вклячаются в таблицы «Таблица – связка» и «Читатель».
Разработка форм
1) Составная форма
/>/>/>

Источник записей: Читатель + Информация
Таблица, на которой строится форма: Информация
Корректируемые данные: Да
Количество записей: Информация
Недостатки: Невозможно корректировать таблицы, отсутствует иерархический просмотр.
2)Вложенная форма с одним уровнем
Главная:
Источник записей:Читатель
Таблица, на которой строится форма: Читатель
Корректируемые данные: Читатель
Количество записей: Читатель
Подчиненная:
Источник записей: Информация
Таблица, на которой строится форма: Информация
Корректируемые данные: Да
Количество записей: сколько книг у читателя
Достоинства: Возможность корректировать таблицу «Читатель», реализуется иерархический просмотр.
Вывод: Выбираем для реализации форму 2, так как она удовлетворяет всем поставленным требованиям.
Определение подсхемы данных
Для удобства пользования желательно заносить информациюо книгах, по каждому читателю имея возможность найти его с помощью поиска.
/>/>

/>/>/>

/>/>

Общая структура вложенной формы
В соответствие с приведенной подсхемой определим структуру вложенной формы «Читатель». В основной части будут располагаться реквизиты читателя (название читателя: familiya). Подчиненная форма «Информация» будет содержать список книг, которыми пользуются читатели. Связь между формами будет осуществляться по полям код студента.
Таким образом, форму «Читатель» определяют:
Тип формы: вложенная;
Источник записей для основной части формы: таблица «Читатель»;
Включаемая подчиненная форма: «Информация».
Форму «Информацию» определяют:
Тип формы: подчиненная;
Источник строк: Информация.
Реквизиты основной и подчиненной формы
В заголовок формы «Читатель» включаем реквизит поле, содержащий имя читателя. С помощью этого поля будет осуществляться поиск записей в форме для каждого конкретного Читателя. В основную часть формы включаем подчиненную форму «Информация», в которую включаем поля, содержащие информацию о взятой книги.
7. Реализация алгоритмов обработки информации
7.1. Реализация алгоритмов средствами макросов
Разработаны следующие макросы:
Новая книга. Осуществляет открытие формы «Информация» для занесения данных о новой книге. Макрос привязан к событию «Нажатие кнопки» в форме «Информация 2».
Закрыть форму читатель. Закрывает форму «читатель».
Открыть новый читатель. Открывает форму «Новый читатель». Привязан к событию «Нажатие кнопки» в кнопке «Новый читатель».
Макрос1. Открывает запрос337, обновляет форму и записывает в таблицу взятую книгу.
Разработка приложения пользователя
Главная форма «Главная форма», в которой есть 2 вкладки:
Читатель
Книги
На вкладке «Читатель» при помощи поиска выбрать фамилию из списка или если она отсутствует зарегистрироваться, нажав кнопку «Новый читатель».
/>
/>
Также на вкладке «Читатель» есть кнопка «Взять книгу». Когда мы ее нажимаем то появляется форма «Информация1», где галочкой отмечается взятая книга.
/>
На вкладке «Книги» мы можем посмотреть весь ассортимент книг.
/>
Если пользователь хочет добавить в базу новую книгу, то он использует кнопку «Новая книга», после ее нажатия открывается форма «Информация».