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

Название: Автоматизированная система Библиотека
Раздел: Рефераты по информатике
Тип: курсовая работа

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

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

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

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

на тему:

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

Владивосток 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», где галочкой отмечается взятая книга.

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

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