Опубликован: 29.05.2012 | Уровень: для всех | Доступ: свободно
Лекция 6:

Реляционный подход к построению инфологической модели

< Лекция 5 || Лекция 6: 12 || Лекция 7 >
Аннотация: В лекции рассматривается реляционная модель данных, дается понятие информационного объекта, простых и составных ключей. Рассказывается, что такое нормализация отношений и как она влияет на создание и работу базы данных.

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

Реляционная модель данных

Реляционная модель есть представление БД в виде совокупности упорядоченных нормализованных отношений.

Для реляционных отношений характерны следующие особенности.

  1. Любой тип записи содержит только простые (по структуре) элементы данных.
  2. Порядок кортежей в таблице несуществен.
  3. Упорядочение значащих атрибутов в кортеже должно соответствовать упорядочению атрибутов в реляционном отношении.
  4. Любое отношение должно содержать один атрибут или более, которые вместе составляют уникальный первичный ключ.
  5. Если между двумя реляционными отношениями существует зависимость, то одно отношение является исходным, второе - подчиненным.
  6. Чтобы между двумя реляционными отношениями существовала зависимость, атрибут, служащие первичным ключом в исходном отношении, должны также присутствовать в подчиненном отношении.

Пример 5.1. Представим БД "Учебный процесс"в виде реляционной модели ( таблица 5.1).

Таблица 5.1.
а) Отношение ГРУППА
Индекс ИГ Название группы НГ Количество ответов КОЛ Проходной балл ПБАЛЛ
1 А1 16 4,3
2 А2 28 4,0
3 А3 18 4,3
б) Отношение СТУДЕНТ
Номер зачетной книжки НЗ ИГ Фамилия И.О. СФИО Год рождения ГР

Понятие реляционный (англ. relation - отношение) связано с разработками известного американского специалиста в области систем баз данных Е. Кодда.

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

Реляционная модель ориентирована на организацию данных в виде двумерных таблиц. Каждая реляционная таблица представляет собой двумерный массив и обладает следующими свойствами:

  • каждый элемент таблицы - один элемент данных;
  • все столбцы в таблице однородные, т.е. все элементы в столбце имеют одинаковый тип (числовой, символьный и т.д.) и длину;
  • каждый столбец имеет уникальное имя;
  • одинаковые строки в таблице отсутствуют;
  • порядок следования строк и столбцов может быть произвольным.

Пример 5.2. Реляционной таблицей можно представить информацию о студентах, обучающихся в вузе ( таблица 5.2).

Таблица 5.2. Пример реляционной таблицы
№ личного дела Фамилия Имя Отчество Дата рождения Группа
16493 Сергеев Петр Михайлович 01.01.76 ИСТ 11
16593 Петрова Анна Владимировна 15.03.75 СК 12
16693 Анохин Андрей Борисович 14.04.76 ИСТ 11

Понятие информационного объекта

Информационный объект - это описание некоторой сущности (реального объекта, явления, процесса, события) в виде совокупности логически связанных реквизитов (информационных элементов). Такими сущностями для информационных объектов могут служить: цех, склад, материал, вуз, студент, сдача экзаменов и т.д.

Информационный объект определенного реквизитного состава и структуры образует класс (тип), которому присваивается уникальное имя (символьное обозначение), например Студент, Сессия, Стипендия.

Информационный объект имеет множество реализации - экземпляров, каждый из которых представлен совокупностью конкретных значений реквизитов и идентифицируете* значением ключа (простого - один реквизит или составного - несколько реквизитов). Остальные реквизиты информационного объекта являются описательными. При этом одни и те же реквизиты в одних информационных объектах могут быть ключевыми, а в других- описательными. Информационный объект может иметь несколько ключей.

Пример 5.3 В таблице 5.2 представлен пример структуры и экземпляров информационного объекта Студент.

В информационном объекте Студент ключом является реквизит Номер (№ личного дела), к описательным реквизитам относятся: Фамилия (Фамилия студента), Имя (Имя студента), Отчество (Отчество студента), Дата (Дата рождения), Группа (№ группы). Если отсутствует реквизит Номер, то для однозначного определения характеристик конкретного студента необходимо использование составного ключа из трех реквизитов: Фамилия + Имя + Отчество.

Таблица 5.2. Пример структуры и экземпляров информационного объекта
Структура Номер Фамилия Имя Отчество Дата Группа
Экземпляры инф.объекта Студент 16493 Сергеев Петр Михайлович 01.01.96 ИСТ 11
16593 Петрова Анна Викторович 15.03.95 СК 12
16693 Анохин Роман Борисович 14.04.96 ИСТ 11

Пример 5.4 На рис. 5.1 изображен пример компактного представления информационного объекта Студент с обозначением имени объекта, ключа и указанием максимально возможного числа экземпляров записи.

Пример компактного представления информационного объекта

Рис. 5.1. Пример компактного представления информационного объекта

Пример 5.5 Пример представления информационного объекта Студент в виде графа на рис. 5.2.

Пример представления информационного объекта в виде графа

Рис. 5.2. Пример представления информационного объекта в виде графа

Нормализация отношений

Понятие нормализации отношений

Одни и те же данные могут группироваться в таблицы (отношения) различными способами, т.е. возможна организация различных наборов отношений взаимосвязанных информационных объектов. Группировка атрибутов в отношениях должна быть рациональной, т.е. минимизирующей дублирование данных и упрощающей процедуры их обработки и обновления.

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

Нормализация отношений - формальный аппарат ограничений на формирование отношений (таблиц), который позволяет устранить дублирование, обеспечивает непротиворечивость хранимых в базе данных, уменьшает трудозатраты на ведение (ввод, корректировку) базы данных. [2]

Е. Коддом выделены три нормальные формы отношений и предложен механизм, позволяющий любое отношение преобразовать к третьей (самой совершенной) нормальной форме.

Первая нормальная форма

Отношение называется нормализованным или приведенным к первой нормальной форме, если все его атрибуты простые (далее неделимы).

Преобразование отношения к первой нормальной форме может привести к увеличению количества реквизитов (полей) отношения и изменению ключа.

Например, отношение Студент = (Номер, Фамилия, Имя, Отчество, Дата, Группа) находится в первой нормальной форме.

Вторая нормальная форма

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

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

Функциональная зависимость реквизитов - зависимость, при которой в экземпляре информационного объекта определенному значению ключевого реквизита соответствует только одно значение описательного реквизита.

Такое определение функциональной зависимости позволяет при анализе всех взаимосвязей реквизитов предметной области выделить самостоятельные информационные объекты.

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

Графическое изображение функциональной зависимости реквизитов

Рис. 5.3. Графическое изображение функциональной зависимости реквизитов

В случае составного ключа вводится понятие функционально полной зависимости.

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

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

Итак, таблица, находящаяся во второй нормальной форме, должна удовлетворять следующим правилам:

  • таблица должна содержать данные об одном типе объектов;
  • каждая таблица должна содержать одно поле или несколько полей, образующих уникальный идентификатор (или первичный ключ) для каждой строки;
  • все поля, не имеющие ключа, должны определяться полным уникальным идентификатором данной таблицы.

Пример 5.7

Отношение Студент = (Номер, Фамилия, Имя, Отчество, Дата, Группа) находится в первой и во второй нормальной форме одновременно, так как описательные реквизиты однозначно определены и функционально зависят от ключа Номер.
Отношение Успеваемость = (Номер, Фамилия, Имя, Отчество, Дисциплина, оценка) находится в первой нормальной форме и имеет составной ключ Номер + Дисциплина. Это отношение не находится во второй нормальной форме, так как атрибуты Фамилия, Имя, Отчество не находятся в полной функциональной зависимости с составным ключом отношения.

Третья нормальная форма

Понятие третьей нормальной формы основывается на понятии нетранзитивной зависимости.

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

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

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

Пример 5.8 Если в состав описательных реквизитов информационного объекта Студент включить фамилию старосты группы (Староста), которая определяется только номером группы, то одна и та же фамилия старосты будет многократно повторяться в разных экземплярах данного информационного объекта. В этом случае наблюдаются затруднения в корректировке фамилии старосты в случае назначения нового старосты, а также неоправданный расход памяти для хранения дублированной информации.

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

Пример 5.9 "Расщепление" информационного объекта, содержащего транзитивную зависимость описательных реквизитов, показано на рис. 5.4. Как видно из рис. 5.4, исходный информационный объект Студент группы представляется в виде совокупности правильно структурированных информационных объектов (Студент и Группа), реквизитный состав которых тождественен исходному объекту.

Отношение Студент = (Номер, Фамилия, Имя, Отчество, Дата, Группа) находится одновременно в первой, второй и третьей нормальной форме.

Расщепление" информационного объекта, содержащего транзитивную зависимость описательных реквизитов

Рис. 5.4. Расщепление" информационного объекта, содержащего транзитивную зависимость описательных реквизитов
< Лекция 5 || Лекция 6: 12 || Лекция 7 >
Марианна Капланова
Марианна Капланова
Наталья Гришко
Наталья Гришко
Асан Султанов
Асан Султанов
Казахстан, Алматы, Международный Университет IT, 2013