- •Введение
- •1 Теоретическая часть
- •1.1 Цель разработки
- •1.2 Характеристики компьютера и среды программирования
- •1.3 Характеристика средств программирования
- •2 Практическая часть
- •2.1 Постановка задачи
- •2.1.1 Описание метода решения
- •2.1.2 Описание структуры входных и выходных данных
- •2.2 Схема алгоритма программного продукта
- •2.3 Описание процесса отладки программного продукта
- •2.4 Результат работы программного продукта
- •2.5 Инструкция для пользователя
- •3 Техника безопасности
- •Заключение
- •Список литературы
2 Практическая часть
2.1 Постановка задачи
2.1.1 Описание метода решения
Проектирование БД «Библиотека» ведется для упрощения работы библиотекаря со всем ассортиментом предложенных книг и учебных пособий, а также для учёта взятых и оставшихся в наличии книг.
Программа должна обеспечивать выполнение следующих функций:
ввод информации о читателях;
ввод информации о книгах;
добавление, удаление и редактирование информации.
Актуальность разработки программы заключается в следующем:
приложение «Библиотека» представляет собой программу для управления базой данных;
программа полностью автоматизирует труд оператора ПЭВМ: автоматически заносит вводимые пользователем данные в таблицы базы данных, изменяет структуру таблиц (добавление/удаление записей);
при использовании программы значительно снижается трудоёмкость ведения базы данных взятых и оставшихся книг.
При проектировании информационной системы будем использовать концепцию функциональных зависимостей.
Процесс разбиения отношения с целью уменьшения вероятности возникновения аномалий называется декомпозицией. Ключевой для осуществления декомпозиции логическим методическим путём является концепция функциональных зависимостей между атрибутами в рассматриваемом отношении.
Функциональная зависимость (ФЗ) определяется следующим образом: если даны два атрибута А и В, то говорят, что В функционально зависит от А, если для каждого значения А существует ровно одно связанное с ним значение В. А и В могут быть составными, то есть они могут представлять собой не единичные группы, состоящие из двух и более атрибутов.
С практической точки зрения смысл данного определения состоит в том, что если В функционально зависит от А, то каждый из картежей, имеющих одно и то же значение А, должен иметь также одно и то же значение. Значит А и В могут изменяться время от времени, но при этом они должны изменяться так, чтобы каждое уникальное значение А имело только одно значение В, связанное с ним.
В конкретной ситуации функциональная зависимость определяется путём детализации свойств всех атрибутов в отношении и выводе заключения о том, как атрибуты соотносятся между собой. Функциональные зависимости могут быть доказаны путём простого просмотра отдельного экземпляра отношений и нахождения двух атрибутов, имеющих те же значения в более чем в одном картеже. Это может служить ключом к тому, в каком направлении следует вести поиск функциональных зависимостей, но не доказательством. Функциональную зависимость необходимо получить исходя из базовых свойств самих атрибутов.
При проектировании базы данных для работников библиотеки понадобятся следующие данные о книгах: Название, Автор, Жанр, Год выпуска, Издательство, Количество страниц, Описание и Шифр книги. Потребуется информация о читателях: ID-номер, Фамилия, Отчество, Дата рождения, Адрес (Улица, Дом, Квартира) и Телефон читателей; Дата выдачи книги, Дата возврата книги и Шифр выдачи.
В результате работы информационной системы должна формироваться учётная карточка по каждой книге. Каждая книга выдаётся на руки читателю сроком на 7 дней. Если по истечению данного срока читатель не возвращает книгу, то ему начисляются пени (за каждый просроченный день начисляется пени в размере 25 рублей).
Для создания, редактирования и работы с таблицами в базе данных используются следующие поля, которые представлены в таблице 1.
Таблица 1 – Определение атрибутов универсального отношения
Имя поля |
Комментарии |
Шифр |
Шифр книги. Является ключевым полем. Тип данных: Текстовый. Поле из таблицы «Книги». |
Название |
Название книги. Тип данных: Текстовый. Поле из таблицы «Книги». |
Автор |
Автор книги. Тип данных: Текстовый. Поле из таблицы «Книги». |
Жанр |
Жанр книги. Тип данных: Текстовый. Поле из таблицы «Книги». |
Год |
Год издания книги. Тип данных: Текстовый. Поле из таблицы «Книги». |
Издательство |
Название издательства книги. Тип данных: Текстовый. Поле из таблицы «Книги». |
Кол-во страниц |
Количество страниц в книге. Тип данных: Текстовый. Поле из таблицы «Книги». |
Описание |
Поле, которое содержит описание содержимого книги. Тип данных: Поле MEMO. Поле из таблицы «Книги». |
Обзор |
Поле содержит в себе изображение обложки книги. Тип данных: Поле объекта OLE. Поле из таблицы «Книги». |
Наличие |
Поле, в котором содержится информация о наличии книги библиотеке. Тип данных: Логический. Поле из таблицы «Книги». |
ID-номер |
Индивидуальный номер читателя. Является ключевым полем. Тип данных: Числовой. Поле из таблицы «Список читателей». |
Фамилия |
Фамилия читателя. Тип данных: Текстовый. Поле из таблицы «Список читателей». |
Имя |
Имя читателя. Тип данных: Текстовый. Поле из таблицы «Список читателей». |
Отчество |
Отчество читателя. Тип данных: Текстовый. Поле из таблицы «Список читателей». |
Дата рождения |
Дата рождения читателя. Тип данных: Дата/Время. Поле из таблицы «Список читателей». |
Улица |
Улица, на которой живёт читатель. Тип данных: Текстовый. Поле из таблицы «Список читателей». |
Дом |
Дом, в котором живёт читатель. Тип данных: Текстовый. Поле из таблицы «Список читателей». |
Квартира |
Квартира, в которой живёт читатель. Тип данных: Числовой. Поле из таблицы «Список читателей». |
Телефон
|
Номер мобильного телефона читателя. Тип данных: Текстовый. Поле из таблицы «Список читателей». |
Дата выдачи |
Дата, когда выдали книгу читателю. Тип данных: Дата/Время. Поле из таблицы «Выдача книг». |
Дата возврата |
Дата, когда должен читатель вернуть взятые книги. Тип данных: Дата/Время. Поле из таблицы «Выдача книг». |
Ш_выдачи |
Шифр выдачи. Является ключевым полем. Тип данных: Счётчик. Поле из таблицы «Выдача книг». |
Определим функциональную зависимость между атрибутами универсального отношения и представим их в таблицах 3, 4 и 5 и рисунках 1, 2, 3 и 4.
Рисунок 1 – Диаграмма функциональных зависимостей отношения R
Переход от универсального отношения к набору НФБК-отношений:
Таблица 2 – Определение возможных ключей отношения R1
Детерминанты |
Возможные ключи |
|
ID-номер |
ID-номер |
|
Фамилия |
||
Имя |
||
Отчество |
||
Дата рождения |
||
Телефон |
||
Улица |
||
Дом |
||
Квартира |
||
Шифр выдачи |
|
|
R1
Рисунок 2 – Диаграмма функциональных зависимостей отношения R1
Таблица 3 – Определение возможных ключей отношения R2
Детерминанты |
Возможные ключи |
Шифр книги |
Шифр книги |
Название |
|
Автор |
|
Жанр |
|
Издательство |
|
Количество страниц |
|
Год издания |
|
Обзор |
|
Описание |
|
Наличие |
R2
Рисунок 3 – Диаграмма функциональных зависимостей отношения R2
Таблица 4 – Определение возможных ключей отношения R3
Детерминанты |
Возможные ключи |
Шифр выдачи |
Шифр выдачи |
ID-номер |
|
Дата выдачи |
|
Дата возврата |
|
Фактическая дата возврата |
|
Пени |
R3
Рисунок 4 – Диаграмма функциональных зависимостей отношения R3
Оценка полученных в НФБК отношений:
R1 «Список читателей» (ID-номер, Фамилия, Имя, Отчество, Дата рождения, Улица, Дом, Квартира, Телефон);
R2 «Книги» (Шифр_к, Название, Автор, Издательство, Жанр, Количество страниц, Наличие, Описание, Обзор);
R3 «Выдача книг» (Шифр выдачи, ID-номер, Дата выдачи, Дата возврата, Фактическая дата возврата, Пени).
R1
I |
Фами-лия |
Имя |
Отчест-во |
Дата рождения |
Улица |
Дом |
Квар-тира |
Теле-фон |
|
|
|
|
|
|
|
|
|
R2
Шифр_к |
Название |
Автор |
Изда-тельст-во |
Жанр |
Коли-чество стра-ниц |
Нали-чие |
Описа-ние |
Обзор |
|
|
|
|
|
|
|
|
|
R3
Шифр выдачи |
ID-номер |
Шифр_к
|
Дата Выдачи |
Дата возврата |
Фактическая дата возврата |
Пени |
|
|
|
|
|
|
|
Рисунок 5 – Схема связей между отношениями

D-номер