Министерство образования и науки Российской Федерации
Тихоокеанский Государственный Экономический Университет
Экономический институт
Курсовая работа
на тему:
«Библиотека»
Владивосток 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]! [Главная форма]! [Читатель, книги]. ............