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

Министерство образования и науки Российской Федерации

Тихоокеанский Государственный Экономический Университет

Экономический институт

Курсовая работа

на тему:

«Библиотека»

Владивосток 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. Проектирование алгоритмов обработки данных

Выбор книги

Книга на руках

Действие в течение года

Регистрация в библиотеке (если еще не зарегистрирован)

Поиск книги в базе

Занесение информации о взятой книги в карточку читателя

Подсчет пени каждого читателя

Добавление новых книг

Регистрация новых читателей

Запрос на выборку данных

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

Таблица - связка

UPDATE [Пеня]

Просчитывается пеня за каждый просроченный день

Таблица - связка


Данный запрос, описанный в 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. Реализация пользовательского интерфейса средствами форм

Технология загрузки базы данных

– В первую очередь заполняются таблицы Автор, Тема, Тип, Издательство, Место.

– Таблица «Информация» заполняется на основе вышеприведенных таблиц.

– Затем заполняются таблицы «Экземпляр», «Улица», эти данные вклячаются в таблицы «Таблица – связка» и «Читатель».

Разработка форм

1) Составная форма

Читатель



Информация


Источник записей: Читатель + Информация

Таблица, на которой строится форма: Информация

Корректируемые данные: Да

Количество записей: Информация

Недостатки: Невозможно корректировать таблицы, отсутствует иерархический просмотр.

2) Вложенная форма с одним уровнем

Главная:

Источник записей: Читатель

Таблица, на которой строится форма: Читатель

Корректируемые данные: Читатель

Количество записей: Читатель

Подчиненная:

Источник записей: Информация

Таблица, на которой строится форма: Информация

Корректируемые данные: Да

Количество записей: сколько книг у читателя

Достоинства: Возможность корректировать таблицу «Читатель», реализуется иерархический просмотр.

Вывод: Выбираем для реализации форму 2, так как она удовлетворяет всем поставленным требованиям.

Определение подсхемы данных

Для удобства пользования желательно заносить информацию о книгах, по каждому читателю имея возможность найти его с помощью поиска.


Читатель



Информация


Основная часть

Подчиненная форма


Общая структура вложенной формы

В соответствие с приведенной подсхемой определим структуру вложенной формы «Читатель». В основной части будут располагаться реквизиты читателя (название читателя: familiya). Подчиненная форма «Информация» будет содержать список книг, которыми пользуются читатели. Связь между формами будет осуществляться по полям код студента.

Таким образом, форму «Читатель» определяют:

    Тип формы: вложенная;

    Источник записей для основной части формы: таблица «Читатель»;

    Включаемая подчиненная форма: «Информация».

Форму «Информацию» определяют:

    Тип формы: подчиненная;

    Источник строк: Информация.

Реквизиты основной и подчиненной формы

В заголовок формы «Читатель» включаем реквизит поле, содержащий имя читателя. С помощью этого поля будет осуществляться поиск записей в форме для каждого конкретного Читателя. В основную часть формы включаем подчиненную форму «Информация», в которую включаем поля, содержащие информацию о взятой книги.

7. Реализация алгоритмов обработки информации

7.1. Реализация алгоритмов средствами макросов

Разработаны следующие макросы:

    Новая книга. Осуществляет открытие формы «Информация» для занесения данных о новой книге. Макрос привязан к событию «Нажатие кнопки» в форме «Информация 2».

    Закрыть форму читатель. Закрывает форму «читатель».

    Открыть новый читатель. Открывает форму «Новый читатель». Привязан к событию «Нажатие кнопки» в кнопке «Новый читатель».

    Макрос1. Открывает запрос337, обновляет форму и записывает в таблицу взятую книгу.

Разработка приложения пользователя

Главная форма «Главная форма», в которой есть 2 вкладки:

    Читатель

    Книги

На вкладке «Читатель» при помощи поиска выбрать фамилию из списка или если она отсутствует зарегистрироваться, нажав кнопку «Новый читатель».

Также на вкладке «Читатель» есть кнопка «Взять книгу». Когда мы ее нажимаем то появляется форма «Информация1», где галочкой отмечается взятая книга.

На вкладке «Книги» мы можем посмотреть весь ассортимент книг.

Если пользователь хочет добавить в базу новую книгу, то он использует кнопку «Новая книга», после ее нажатия открывается форма «Информация».