Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

отчет курсовая (библиотека)

.docx
Скачиваний:
61
Добавлен:
06.03.2016
Размер:
352.45 Кб
Скачать

Введение

Задание на курсовую работу

Целью курсовой работы является разработка АИС библиотеки, которая позволила бы упростить процесс выдачи книг, контроля срока выдачи книг.

Центром данной АИС является сервер, на котором хранится информация о читателях, книгах, авторах и множество другой информации. Одна из главных задач данной АИС: контроль над корректностью вносимых данных. Предполагается, что данная программа облегчит работу библиотекаря, позволит получать необходимую информацию о книгах и читателях, обеспечит более быстрый поиск книг.

Взаимодействие с пользователями происходит при помощи комплекса приложений, разработка которых также входит в этот проект

Актуальность

Базы данных (БД) составляют в настоящее время основу компьютерного обеспечения информационных процессов, входящих практически во все сферы человеческой деятельности. Действительно, процессы обработки информации имеют общую природу и опираются на описание фрагментов реальности, выраженное в виде совокупности взаимосвязанных данных. Базы данных являются эффективным средством представления структур данных и манипулирования ими. Концепция баз данных предполагает использование интегрированных средств хранения информации, позволяющих обеспечить централизованное управление данными и обслуживание ими многих пользователей. При этом БД должна поддерживаться в среде ЭВМ единым программным обеспечением, называемым системой управления базами данных (СУБД). СУБД вместе с прикладными программами называют банком данных.

Требования

Из всего вышесказанного вытекает ряд основных требований к разрабатываемой системе:

  1. Ведение учёта читателей и книг

  2. Контроль срока выдачи книг читателям

  3. Хранение информации

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

Проектирование базы данных

Описание бизнес-процессов

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

Библиотекарь записывает нового автора, если его нет в базе, записывает название книги, и заполняет всю необходимую информацию.

Добавление новых читателей

Библиотекарь узнает, зарегистрирован ли уже читатель в базе

  • Если да, то записывает книги на карту читателя

  • Если нет, то создает новый читательский билет для клиента

Для этого нужна след. информация : Ф.И.О, дата рождения, номер телефона, факультет, специальность, курс читателя и нажимает на кнопку создать.

Выдача книги

Читатель приходит в библиотеку, смотрит каталог книг, выбирает понравившуюся, говорит библиотекарю: «Горе от ума» автор Грибоедов и показывает свой штрих номер.

По номеру читательского билета выводится профиль клиента, библиотекарь записывает книгу, а так же след информацию : дата, когда нужно вернуть книгу, и нажимает кнопку выдать.

Прием книги

Читатель подходит к библиотекарю с книгами и отдаёт их. По штрих коду книги, БД находит профиля читателя, и списывает с него книгу.

Даталогическая модель

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

В окончательной модели выделено 11 таблиц:

  1. AUTHORS – Авторы

  2. CATALOGUE – Список книг

  3. FACULTY – список факультетов

  4. GENRE – список жанров

  5. GENRE_BOOKS – список книг с жанрами

  6. PUBLISHER – список издательств

  7. READERS – каталог читателей

  8. SPETIALITY – список специальностей

  9. Card – карта читателя (выдача книг)

  10. AUTHORS_BOOK – все книги по авторам

  11. COURS – список курсов

Разработка базы данных

Общее описание

В качестве сервера используется Oracle 10 DataBase XE. Работа с базой данных производилась при помощи программы Toad For Oracle, в ней были созданы все таблицы, процедуры, функции и триггеры. Приложения созданы в среде Visual Studio.

Процедуры

  • eqtRentEnd (eqtid, salesmanid) – завершить ренту проката по номеру снаряжения

CREATE OR REPLACE procedure adduser (name1 in char, bd1 in date, phone1 in integer, fac1 in integer, spec1 in integer, course1 in integer)

is

begin

insert into readers (id_card_readers,surname_name, birthday, phon_number, faculty_id, spetialty_id, course_id) values

(seq_readers.nextval,name1, bd1, phone1, fac1, spec1, course1);

end adduser;

CREATE OR REPLACE procedure endRent (bookid in integer)

is

datetake11 date;

begin

select

date_take into datetake11

from

take_return

where

fact_Ret is null and id_book=bookid;

update take_Return

set fact_ret = sysdate

where id_book=bookid and date_take=datetake11;

end endRent;

CREATE OR REPLACE procedure rentstart (bookid in integer, userid in integer, date11 in date)// рента прокат книги, добавляет запись о том, что выдали книгу в прокат

is

begin

insert into take_return (id_card, date_take, date_Ret, id_book) values (userid, sysdate, date11, bookid);

end;

Функции

  • isBookFree (bookid in integer) – получить список всех свободных книг.

CREATE OR REPLACE function isBookFree (bookid in integer) return integer

is

count11 integer;

count12 integer;

begin

select

count(*) into count12

from

take_return

where

id_book=bookid;

if count12=0 then return 1;

end if;

select

count(*) into count11

from

take_return,

(select

max(date_take) maxtake

from

take_return

where

id_book=bookid) tt1

where

take_Return.date_take=tt1.maxtake and id_book=bookid and fact_ret is not null;

if count11=1 then return 1; else return 0;

end if;

end isBookFree;

/

rentEndDelay (bookid in integer)-

CREATE OR REPLACE function rentEndDelay (bookid in integer) return real

is

dateret11 date;

begin

select

date_ret into dateret11

from

take_return

where

fact_Ret is null and id_book=bookid;

return (sysdate-dateret11)*50;

end rentEndDelay;

Обзоры

В БД имеется обзоры:

Debtors. Выводит список всех не сданных книг.

Free_books. Выводит список всех свободных книг.

Последовательности (счетчики)

Для каждой таблицы создан одноименный счетчик вида seq_имя_таблицы.

Руководство пользователя

Вкладка Readers

Библиотекарь может добавить новых читателей в базу.

Процедура добавления читателя:

  1. Написать Ф.И.О

  2. Заполнить дату рождения

  3. Номер телефона читателя

  4. Заполнить строки : курс, факультет, специальность

  5. Нажать кнопку «Создать»

Так же библиотекарь может посмотреть уже всю готовую информацию о всех читателей во вкладке все читатели

Вкладка Books

В кладке «выдача книг» библиотекарь выдает книги читателю, для этого нужно сделать следующее:

  1. В строку номер пользователя, написать номер читательского билета

  2. Выбрать нужные книги

  3. Выбрать дату «Когда должны вернуть»

  4. И нажать на кнопку выдать.

В кладке «принять книгу» библиотекарь принимает книги , для этого нужно сделать следующее:

  1. Написать id книги

  2. Нажать на кнопку принять

Вкладка Create Books

В кладке «Добавить книгу» библиотекарь добавляет новые книги, для этого нужно сделать следующее:

  1. Написать название книги

  2. Добавить автора

  3. Написать ISBN

Вкладка Analytics

В этой вкладке можно увидеть список популярных книг и частых пользователей.

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

Руководство программиста

При создании проекта использовалась среда Visual Studio 2013 с пакетом .NET Framework 4.5.0. Подключение к базе данных через TableAdapters. Для добавления новых строк в таблицы лучше использовать одноименные процедуры (new…) или добавить счетчик в Insert запрос.

Заключение

Результаты

В данном курсовом проекте была разработана база данных «Библиотека» обеспечивающая выдача книг. Программа полностью автоматизирует труд библиотекаря и организует надежное хранение и обработку данных.

Недостатки и возможное развитие

Нет авторизации по логин – паролю.