Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Весь документ по БД.doc
Скачиваний:
4
Добавлен:
01.07.2025
Размер:
1.79 Mб
Скачать

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 D-номер

Фами-лия

Имя

Отчест-во

Дата рождения

Улица

Дом

Квар-тира

Теле-фон

R2

Шифр_к

Название

Автор

Изда-тельст-во

Жанр

Коли-чество стра-ниц

Нали-чие

Описа-ние

Обзор

R3

Шифр выдачи

ID-номер

Шифр_к

Дата Выдачи

Дата возврата

Фактическая дата возврата

Пени

Рисунок 5 – Схема связей между отношениями