Министерствообразования и науки Российской Федерации
ТихоокеанскийГосударственный Экономический Университет
Экономический институт
Курсовая работа
на тему:
«Библиотека»
Владивосток 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 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
Структура информационныхобъектов базы данных
Автор
Название столбца
Тип
Ключевоеполе 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 Логический
Связи между информационными объектами
/>3.Проектирование алгоритмов обработки данных
Выбор книги
Книга на руках
Действие в течение года
Регистрация в библиотеке (если еще не зарегистрирован)
Поиск книги в базе
Занесение информации о взятой книги в карточку читателя Подсчет пени каждого читателя
Добавление новых книг
Регистрация новых читателей
Запрос навыборку данных
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) Составная форма
/>
Источникзаписей: Читатель +Информация
Таблица, накоторой строится форма: Информация
Корректируемыеданные: Да
Количествозаписей: Информация
Недостатки:Невозможно корректировать таблицы, отсутствует иерархический просмотр.
2)Вложенная форма с одним уровнем
Главная:
Источник записей:Читатель
Таблица, накоторой строится форма: Читатель
Корректируемыеданные: Читатель
Количествозаписей: Читатель
Подчиненная:
Источникзаписей: Информация
Таблица, накоторой строится форма: Информация
Корректируемыеданные: Да
Количествозаписей: сколько книг у читателя
Достоинства:Возможность корректировать таблицу «Читатель», реализуется иерархическийпросмотр.
Вывод: Выбираем для реализации форму 2, так как она удовлетворяетвсем поставленным требованиям.
Определение подсхемы данных
Дляудобства пользования желательно заносить информациюо книгах, по каждому читателю имеявозможность найти его с помощью поиска.
/> /> /> /> /> /> /> /> /> />
Основная часть
Подчиненная форма
Общаяструктура вложенной формы
Всоответствие с приведенной подсхемой определим структуру вложенной формы«Читатель». В основной части будут располагаться реквизиты читателя (названиечитателя: familiya). Подчиненная форма «Информация» будет содержать список книг,которыми пользуются читатели. Связьмежду формами будет осуществляться по полям код студента.
Такимобразом, форму «Читатель» определяют:
- Тип формы: вложенная;
- Источник записей для основной части формы: таблица «Читатель»;
- Включаемая подчиненная форма: «Информация».
Форму«Информацию» определяют:
- Тип формы: подчиненная;
- Источник строк: Информация.
Реквизитыосновной и подчиненной формы
В заголовокформы «Читатель» включаем реквизит поле, содержащий имя читателя. С помощьюэтого поля будет осуществляться поиск записей в форме для каждого конкретногоЧитателя. В основную часть формы включаем подчиненную форму «Информация», вкоторую включаем поля, содержащие информацию о взятой книги./>/>/>
7. />/>/>/>Реализация алгоритмов обработки информации/>/>/>/>/>7.1. Реализацияалгоритмов средствами макросов
Разработаны следующие макросы:
1. Новая книга. Осуществляет открытие формы «Информация» для занесения данных оновой книге. Макрос привязан к событию «Нажатие кнопки» в форме «Информация 2».
2. Закрыть форму читатель. Закрывает форму «читатель».
3. Открыть новый читатель. Открывает форму «Новый читатель». Привязан к событию «Нажатиекнопки» в кнопке «Новый читатель».
4. Макрос1. Открывает запрос337, обновляет форму и записывает в таблицу взятуюкнигу.
Разработкаприложения пользователя
Главнаяформа «Главная форма», в которой есть 2 вкладки:
Ø Читатель
Ø Книги
На вкладке«Читатель» при помощи поиска выбрать фамилию из списка или если она отсутствуетзарегистрироваться, нажав кнопку «Новый читатель».
/>
/>
Также навкладке «Читатель» есть кнопка «Взять книгу». Когда мы ее нажимаем топоявляется форма «Информация1», где галочкой отмечается взятая книга.
/>
На вкладке «Книги»мы можем посмотреть весь ассортимент книг.
/>
Еслипользователь хочет добавить в базу новую книгу, то он использует кнопку «Новаякнига», после ее нажатия открывается форма «Информация».