Методические указания к лабораторным работам 1,2 по курсу «Базы данных», страница 3

Рассматривается задача, приведенная в лабораторной работе 1.

Выделим в предметной области простые объекты и их свойства. Это класс объектов Читатели со свойствами: Код читателя, ФИО читателя, Адрес, Телефон и класс объектов Книги со свойствами: Код книги, Раздел, Название, Автор. Код читателя не может измениться с течением времени, поэтому это статическое свойство. ФИО читателя, адрес и телефон могут измениться с течением времени, поэтому это динамические свойства. Адрес читателя состоит из названия улицы, номера дома и номера квартиры, поэтому это еще и составное свойство. Телефон может быть не у всех читателей библиотеки, поэтому это еще и условное свойство. Код книги, раздел, название и автор книги не могут измениться с течением времени, поэтому все эти свойства статические.

Зафиксируем связи между объектами и их свойствами. У каждого из читателей может быть только один код, одна фамилия, имя и отчество, один адрес и один телефон, поэтому все свойства класса объектов Читатели являются единичными. У любой книги может быть один код, одно название раздела, к которому относится книга, один автор и одно название, поэтому все свойства класса объектов Книги также являются единичными. Заметим, что для некоторой части книг, особенно технических, характерно наличие нескольких авторов, поэтому данное свойство можно было зафиксировать как множественное. Мы будем фамилии всех авторов одной книги фиксировать в одном поле, поэтому и определили данное свойство как единичное.

Определим связь между объектами. Т.к. один читатель берет много книг, а одна книга может быть взята многими читателями (естественно, в разное время), то между классом объектов Читатели и классом объектов Книги наблюдается связь М:М. Класс принадлежности обоих объектов является необязательным, т.к. могут быть читатели, не взявшие ни одной книги, например, новые читатели, и могут быть книги, которые никто не брал.

В предметной области можно также выделить два сложных агрегированных объекта, которые можно поставить в соответствие процессам выдачи и возврата книг. Каждый из этих объектов имеет по одному статическому единичному свойству, это Дата выдачи и Дата возврата.

На рис. 2.1 показана ЕR – модель рассматриваемой предметной области.

Осуществим переход от инфологической модели предметной области к даталогической модели базы данных. Даталогическая модель базы данных может иметь следующий вид:

Читатели(Код читателя, ФИО читателя, Адрес, Телефон);

Разделы(Код раздела, Название раздела);

Книги(Код книги, Код раздела, Автор, Название);

Выдача/возврат(Код книги, Дата выдачи, Код читателя, Дата возврата).

 


Рис. 2.1. ЕR – модель

Атрибуты, их тип и размер:

Код читателя           Текстовый (5)

ФИО читателя         Текстовый (50)

Адрес                       Текстовый (50)

Телефон                   Текстовый (10)

Код раздела             Текстовый (5)

Название раздела     Текстовый (30)

Код книги                 Текстовый (7)

Автор                       Текстовый (40)

Название                  Текстовый (50)

Дата выдачи             Дата/время

Дата возврата           Дата/время

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

Функциональные зависимости в отношении Читатели:

Код читателя

ФИО читателя

Адрес

Телефон

В рассматриваемом отношении три возможных ключа: атрибут Код читателя, составной атрибут ФИО читателя, Адрес и составной атрибут ФИО читателя, Телефон. В качестве первичного ключа отношения мы выбрали атрибут Код читателя. Отношение Читатели находится в 1НФ, т.к. все его атрибуты имеют атомарное значение. Данное отношение находится также во 2НФ, т.к. все его не основные атрибуты функционально полно зависят от первичного ключа отношения. Отношение находится в 3НФ, т.к. все его не основные атрибуты не транзитивно зависят от первичного ключа отношения. Отношение не находится в НФБК, т.к. детерминанты отношения Адрес и Телефон не являются возможными ключами отношения.