
Диаграмма потоков данных - Data Flow Diagramming
Диаграмма бизнес-процессов idef3
Специализированная библиотека предоставляет определённые виды услуг. При первом обращении клиента в библиотеку, его регистрируют как нового читателя, ему выдают читательский билет и для него заводят учётную карточку.
Зарегистрированные читатели имеют право:
бесплатно пользоваться основными видами библиотечно-информационных услуг, предоставляемых библиотекой,
получать во временное пользование книги и другие документы на абонементах библиотеки,
получать полную информацию о составе библиотечного фонда через систему каталогов, картотек библиотеки и другие формы библиотечного информирования.
Для получения литературы читатель обязан предъявить читательский билет. В соответствии с читательским запросом, производится поиск запрашиваемой литературы в библиотечном каталоге, и проверятся её наличие в книжном фонде. При выдаче книги в учётную карточку читателя делается запись, содержащая инвентарный номер книги, библиотечный код, фамилию автора, название, дату выдачи и запланированную дату возврата (обычно книги выдаются на дом сроком на 1 месяц).
При возврате литературы в учётную карточку читателя делается соответствующая отметка о возвращении, и книга становится доступной другим читателям. В случае утери или повреждении книг, других произведений печати и материалов, взятых в фонде библиотеки, читатель обязан вернуть в библиотеку такие же книги и материалы, или заменить их другими книгами и материалами, либо заплатить их полную стоимость.
ER-диаграммы
Данные, характеризующие работу библиотеки с книгами и читателями, можно сгруппировать следующим образом:
книжный фонд (инвентарный номер книги, библиотечный код книги, отметка о выдаче/возвращении);
каталог (библиотечный код книги, автор, название, издательство, год издания, количество страниц, тема, цена);
читатели (номер читательского билета, фамилия, имя, отчество, домашний адрес, домашний телефон, рабочий телефон);
выдача книг (инвентарный номер книги, номер читательского билета, дата выдачи, запланированная дата возврата).
ER-логическая модель данных
Сущности |
Название |
Описание |
Выдача книг |
Содержит информацию о выдаче/возвращении книг. |
Каталог |
Содержит набор библиографических карточек. |
Книжный фонд |
"Книжный фонд" содержит перечень всех книг библиотеки, а так же информацию о том, выдана книга или является доступной. |
Справочник "Тема" |
Содержит список тем, по которым происходит деление книг в библиотеке |
Читатели |
Содержит набор читательских билетов читателей, зарегистрированных в библиотеке |
Атрибуты сущности "Выдача книг" |
Название |
PK |
FK |
Тип данных |
Описание |
Номер записи |
Yes |
No |
INTEGER |
|
Номер читательского билет |
No |
Yes |
INTEGER |
|
Инвентарный номер книги |
No |
Yes |
INTEGER |
|
Дата выдачи |
No |
No |
DATE |
|
Запланированная дата возврата |
No |
No |
DATE |
|
Отметка о возвращении |
No |
No |
BOOLEAN |
Может принимать одно из двух значений: 0 - книга находится у читателя 1 - книга возвращена |
Атрибуты сущности "Каталог" |
Название |
PK |
FK |
Тип данных |
Описание |
Библиотечный код книги |
Yes |
No |
VARCHAR(20) |
Представляет собой номер ISBN (англ. International Standard Book Number, «международный стандартный номер книги») - уникальный номер книжного издания. Номер ISBN содержит 10 цифр и состоит из четырёх полей переменной длины (поля разделены тире): - Страна происхождения или язык издания - Код издательства - Уникальный номер издания - Контрольная цифра (или буква X) |
Автор |
No |
No |
VARCHAR(20) |
|
Название |
No |
No |
VARCHAR(20) |
|
Издательство |
No |
No |
VARCHAR(20) |
|
Год издания |
No |
No |
VARCHAR(20) |
|
Количество страниц |
No |
No |
INTEGER |
|
Тема |
No |
Yes |
VARCHAR(20) |
|
Цена |
No |
No |
MONEY |
|
Атрибуты сущности "Книжный фонд" |
Название |
PK |
FK |
Тип данных |
Описание |
Инвентарный номер книги |
Yes |
No |
INTEGER |
|
Библиотечный код книги |
No |
Yes |
VARCHAR(20) |
Представляет собой номер ISBN (англ. International Standard Book Number, «международный стандартный номер книги») - уникальный номер книжного издания. Номер ISBN содержит 10 цифр и состоит из четырёх полей переменной длины (поля разделены тире): - Страна происхождения или язык издания - Код издательства - Уникальный номер издания - Контрольная цифра (или буква X) |
Отметка о выдаче/возвращении |
No |
No |
BOOLEAN |
Может принимать одно из двух значений: 0 - книга находится в библиотеке 1 - книга выдана читателю |
Атрибуты сущности "Справочник "Тема" |
Название |
PK |
FK |
Тип данных |
Описание |
Тема |
Yes |
No |
VARCHAR(20) |
|
Атрибуты сущности "Читатели" |
Название |
PK |
FK |
Тип данных |
Описание |
Номер читательского билета |
Yes |
No |
INTEGER |
|
Фамилия |
No |
No |
VARCHAR(60) |
|
Имя |
No |
No |
VARCHAR(60) |
|
Отчество |
No |
No |
VARCHAR(60) |
|
Домашний адрес |
No |
No |
VARCHAR(256) |
|
Домашний телефон |
No |
No |
VARCHAR(40) |
|
Рабочий телефон |
No |
No |
VARCHAR(40) |
|
ER-физическая модель данных
Представления |
Название |
Условие выборки |
Описание |
V_Accessible_books |
(Books_stock.Library_ID = Catalogue.Library_ID) and (Books_stock.Given_out = 0) |
Данное представление показывает список доступной литературы |
V_Accessible_books_copy |
Given_out = 0 |
Показывает перечень инвентарных номеров экземпляров доступной литературы |
V_Debtors |
(Books_stock.Library_ID = Catalogue.Library_ID) AND (Books_stock.Inventary_ID = Books_delivery.Inventary_ID) AND (Books_delivery.Reader_passport_ID = Readers.Reader_passport_ID) AND (Books_delivery.Is_return = 0) AND (GETDATE() > Books_delivery.Return_deadline) |
Это представление показывает всех должников библиотеки на данный момент времени, т.е. читателей, взявших в пользование книгу и не вернувших её, хотя срок возврата уже прошёл. |
v_Delivery_info |
(Books_delivery.Reader_passport_ID = Readers.Reader_passport_ID) AND (Books_delivery.Inventary_ID = Books_stock.Inventary_ID) AND (Books_stock.Library_ID = Catalogue.Library_ID) |
Представление показывает информацию о перемещении литературы из книжного фонда к читателям и обратно. Содержит: номер читательского билета читателя, название и автора выданной ему книги, дату выдачи, запланированную дату возврата и отметку о возврате. |
Столбцы "Books_delivery" |
Название |
Тип данных |
Нулевое значение |
Delivery_ID |
int |
IDENTITY |
Reader_passport_ID |
int |
NULL |
Inventary_ID |
int |
NULL |
Delivery_date |
datetime |
NOT NULL |
Return_deadline |
datetime |
NOT NULL |
Is_return |
bit |
NULL |
Столбцы "Books_stock" |
Название |
Тип данных |
Нулевое значение |
Inventary_ID |
int |
IDENTITY |
Library_ID |
varchar(13) |
NOT NULL |
Given_out |
bit |
NULL |
Столбцы "Catalogue" |
Название |
Тип данных |
Нулевое значение |
Library_ID |
varchar(13) |
NOT NULL |
Author |
varchar(256) |
NOT NULL |
Title |
varchar(256) |
NOT NULL |
Publishing_house |
varchar(256) |
NULL |
Publication_date |
varchar(20) |
NULL |
Page_count |
int |
NOT NULL |
Theme |
varchar(60) |
NOT NULL |
Cost |
money |
NULL |
Столбцы "Inf_Theme" |
Название |
Тип данных |
Нулевое значение |
Theme |
varchar(60) |
NOT NULL |
Столбцы "Readers" |
Название |
Тип данных |
Нулевое значение |
Reader_passport_ID |
int |
IDENTITY |
Surname |
varchar(60) |
NOT NULL |
Name |
varchar(60) |
NOT NULL |
Patronymic |
varchar(60) |
NOT NULL |
Home_address |
varchar(256) |
NOT NULL |
Home_phone |
varchar(40) |
NULL |
Work_phone |
varchar(40) |
NULL |
Клиентское приложение
Для организации доступа к базе данных используется клиентское приложение, интерфейс которого содержит следующие формы:
рис. 1 Главная
форма – Книжный фонд
На главной форме расположены две вкладки: Книжный фонд и Читатели. На вкладке Книжный фонд расположены две таблицы: Библиографические карточки и Книжный фонд. Первая содержит список всех зарегистрированных в библиотеке библиографических карточек, а вторая информацию об экземплярах книги, соответствующей текущей выбранной библиографической карточке.
Библиографические карточки могут быть отсортированы как по фамилии автора, так и по тематике (в пределах каждой темы — по фамилии автора).
П
ри
нажатии кнопки Новая карточка
появится форма Новая библиографическая
карточка (рис 2.)
Д
рис. 2 Новая
библиографическая карточка
При нажатии на кнопку Редактировать, появиться форма Редактирование библиографической карточки (рис. 3).
Д
ля
удаления библиографической карточки
необходимо нажать кнопку Удалить
карточку. При это все экземпляры
книги, в ней описанные, будут списаны
из библиотеки.
В приложении реализован поиск среди книг. При нажатии кнопки Поиск откроется форма Поиск книги (рис. 4), флажок Условие поиска указывает, как учитывать введённые данные для поиска. Возможны два варианта:
происходит поиск записей, в которых указанный терм стоит в начале поля для поиска;
п
роисходит поиск записей, в которых указанный терм встречается в любом месте в поле для поиска.
При нажатии кнопки Поиск в таблице Библиографические карточки будут отображена информация о карточках, удовлетворяющих запросу.
Для того чтобы отобразить информацию о всех доступных библиографических карточках, нужно нажать кнопку Показать все.
Для добавления или списания экземпляра книги выбранной библиографической карточки необходимо нажать кнопки Добавить и Списать книгу соответственно.
Д
ля
добавления нового экземпляра книги в
реестр библиотеки можно также использовать
форму Новые поступления (рис. 5),
которая вызывается из главного меню
Вставка -> Новые поступления.
рис. 5 Новые
поступления
Для просмотра списка тематик, по которым идёт деление книг в библиотеке, нужно нажать кнопку Тематический справочник. Появится форма Тематический справочник (рис. 6), с помощью которой можно будет отредактировать названия уже существующих тематик (кнопка Редактировать, соответствующая ей форма - Редактирование темы (рис. 8)) и добавить новые (кнопка Создать, соответствующая её форма – Новая тема (рис. 7)).
Форму Новая тема можно также открыть с помощью главного меню Вставка -> Новая тема.
При удалении тематического раздела из тематического справочника (кнопка Удалить), все книги относящееся к данному разделу будут списаны из библиотеки, а соответствующие им библиографические карточки – удалены.
Д
ля
ведения учёта читателей библиотеки
используется вкладка Читатели (рис.
9) главной формы.
На вкладке Читатели расположены две таблицы: таблица Читательские билеты, содержащая информацию о клиентах библиотеки и таблица Учётная карточка, содержащая информацию о выдачах книг текущему читателю.
Читательские билеты представлены в отсортированном виде: либо по номеру читательского билета, либо по Ф.И.О. читателя (выбор осуществляется с помощью флажка Сортировка).
Д
ля
регистрации нового читателя необходимо
нажать кнопку Добавить (или
использовать главное меню Вставка ->
Новый читатель). После заполнения
формы Новый читатель (рис. 10), и
нажатия кнопки Добавить, в базу
данных будет внесена запись о новом
читателе, которому автоматически
присвоится уникальный номер (номер
читательского билета).
Д
ля
редактирования уже существующего
читательского билета нужно открыть
форму Редактирование информации о
читателе (рис. 11)
Для поиска среди читательских билетов можно использовать форму Поиск читателя (рис. 12), вызываемую нажатием кнопки Поиск.
Условие поиска, как и при поиске книг, может принимать одно из двух значений: Включает или Начинается с. При нажатии кнопки Поиск на форме Поиск читателя в таблице Читательские билеты будут показаны данные, удовлетворяющие запросу.
Для просмотра информации о всех читателях библиотеки нужно нажать кнопку Показать всё.
Д
ля
выписки читателя из библиотеки необходимо
нажать кнопку Удалить. Причём при
удалении читательского билета вся
выданная читателю литература будет
помечена как возвращенная.
П
ри
нажатии на кнопку Выдать литературу
появится форма Выдача литературы
(рис. 13), содержащая информацию о читателе,
список доступной литературы (таблица
Доступная литература) и доступных
экземпляров (таблица Доступные
экземпляры).
Информацию в таблице Доступная литература можно сортировать, используя флажок Сортировка.
Для выдачи книги читателю необходимо выбрать книгу в таблице Доступная литература, указать инвентарный номер в таблице Доступные экземпляры (информация о сделанном выборе отображается в сводке Выбранная книга), указать дату выдачи и планируемую дату возврата. Для внесения записи о выдаче книги в базу данных следует нажать кнопку Выдать.
П
ри
нажатии кнопки Приём литературы на
вкладке Читатели откроется форма
Возвращение литературы (рис. 14), где
в таблице Выданная литература можно
выбрать возвращаемую книгу и, нажав
кнопку Возвратить, пометить её как
возвращённую.
В приложении реализована возможность создания и печати отчётов. Для выбора вида отчёта нужно воспользоваться разделом Отчёты главного меню. Доступны следующие отчеты:
Должники (рис. 15)
Алфавитный каталог
Тематический каталог
В
ыданная литература