Министерство образования и науки Российской Федерации
Тихоокеанский Государственный Экономический Университет
Экономический институт
Курсовая работа
на тему:
«Библиотека»
Владивосток 2009
Введение
Автоматизированная система «Библиотека»
В библиотеки хранятся несколько видов литературы: книги, газеты и журналы. Каждая книга (газета, журнал) относится к определенному разделу, который подразделяется по темам. У каждой книги (газеты, журнала) есть ряд характеристик: автор, название, издательство, место и пр.
Пользователями библиотеки являются читатели. На каждого читателя ведется формуляр, который содержит информацию о нем (адрес, фамилия, телефон), а также сведения о взятой книге, дате получения и возврата.
В случае задержки книги, начисляется пеня за каждый день просрочки (на руках книга может находиться 10 дней). В системе ведется учет книг, пользователей и финансов.
1. Функциональные возможности системы
Функциональные возможности системы «Библиотека» предоставляют следующие возможности:
¨ Занесение новых книг в фонд библиотеки;
¨ Просмотр информации о каждом записанном читателе;
¨ Оплата пени за ту книгу, сдачу которой читатель просрочил;
¨ Просмотреть информацию обо всех читателях, которые зарегистрированы в библиотеке: Ф.И.О., адрес;
¨ Занесение новых читателей.
2. Построение информационно-логической модели базы данных
Выделение информационных объектов
1) документы и их реквизиты, подлежащие хранению в базе данных
Документ | Наименование реквизита (реальное) | Наименование реквизита в базе данных | Тип реквизита | Связи |
Книги | КодНазваниеАвторИздательствоТемаТипМестоВ наличие | kodnazvankod_avtorkod_izdatkod_temikod_tipkod_mestov_nalichie | КлючевойОписательныйОписательныйОписательныйОписательныйОписательныйОписательныйОписательный | |
Читатели | Код читателяФамилияУлицаДомКвартира | kod_chitatfamiliyaulizadomkvartira | КлючевойОписательныйОписательныйОписательныйОписательный |
2) зависимые реквизиты
Описательные реквизиты | Ключевые реквизиты |
nazvan | kod |
kod_avtor | kod |
kod_izdatel | kod |
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) группировка реквизитов
Имя информационного объекта | Реквизиты | Ключевое поле | Описание |
Информация | kodnazvankod_avtorkod_izdatkod_temikod_tipkod_mestov_nalichie | - | 1¥ |
Автор | kod_avtorfio | - | 1 |
Издательство | kod_izdatnazvan | - | 1 |
Место | kod_mestonazvan | - | 1 |
Раздел | kod_razdnazvan | - | 1 |
Тема | kod_teminazvankod_razd | - | 1 |
Тип | kod_tiptip | - | 1 |
Экземпляр | kod_ekzemplnazvanekzemplkod_temiv_nalichie | - | 1 |
Таблица – связка | kodchitatnazvanekzempldata_viddata_vozpr_dnipenya | - | |
Читатель | kod_chitatfamiliyaulizadomkvartira | - | 1¥ |
Улица | kod_ulizauliza | - | 1 |
Структура информационных объектов базы данных
Автор
Название столбца | Тип | Ключевоеполе |
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 | Числовой | |
penya | Денежный |
Читатель
Название столбца | Тип | Ключевое поле |
kod_chitat | Счетчик | - |
familiya | Текстовый | |
dom | Числовой | |
kvartira | Числовой |
Экземпляр
Название столбца | Тип | Ключевое поле |
kod_ekzempl | Счетчик | - |
nazvan | Числовой | |
kod_temi | Числовой | |
v_nalichie | Логический |
Информация
Название столбца | Тип | Ключевое поле |
kod | Счетчик | - |
nazvan | Текстовый | |
kod_avtor | Числовой | |
kod_mesto | Числовой | |
v_nalichie | Логический |
Связи между информационными объектами
Выбор книги | Книга на руках | Действие в течение года |
Регистрация в библиотеке (если еще не зарегистрирован)Поиск книги в базеЗанесение информации о взятой книги в карточку читателя | Подсчет пени каждого читателя | Добавление новых книгРегистрация новых читателей |
Запрос на выборку данных
1. Пеня – запрос для расчета задолженности читателей по каждой книге. Данные из таблицы – связки должны быть включены в запрос: chitat, nazvan, ekzempl, data_vid, data_voz, pr_dni, penya
Данный запрос, описанный в SQL:
UPDATE [Таблица – связка] SET [Таблица – связка].penya = [pr_dni]*0.9
2. На поиск книги – запрос, необходимый для поиска книги по необходимым параметрам (по автору, издательству, теме).
3. Взять книгу – берется книга и данные добавляются в таблицу «Таблица – связка».
Корректировка данных средствами запросов
1. Взять книгу – берется книга и данные добавляются в таблицу «Таблица – связка».
Данный запрос, описанный в 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]));
2. Просроченные дни – обновляются данные (просроченные дни) в таблице «Таблица – связка».
4. Реализация пользовательского интерфейса средствами форм
Технология загрузки базы данных
– В первую очередь заполняются таблицы Автор, Тема, Тип, Издательство, Место.
– Таблица «Информация» заполняется на основе вышеприведенных таблиц.
– Затем заполняются таблицы «Экземпляр», «Улица», эти данные вклячаются в таблицы «Таблица – связка» и «Читатель».
Разработка форм
1) Составная форма
Источник записей: Читатель + Информация
Таблица, на которой строится форма: Информация
Корректируемые данные: Да
Количество записей: Информация
Недостатки: Невозможно корректировать таблицы, отсутствует иерархический просмотр.