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

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

< Лекция 5 || Лекция 6: 12 || Лекция 7 >

Типы связей. Свойства отношений

Отсутствие кортежей-дубликатов. Из этого свойства вытекает наличие у каждого кортежа первичного ключа. Для каждого отношения, по крайней мере, полный набор его атрибутов является первичным ключом. Однако, при определении первичного ключа должно соблюдаться требование "минимальности", т.е. в него не должны входить те атрибуты, которые можно отбросить без ущерба для основного свойства первичного ключа - однозначно определять кортеж.

Отсутствие упорядоченности кортежей.

Отсутствие упорядоченности атрибутов. Для ссылки на значение атрибута всегда используется имя атрибута.

Атомарность значений атрибутов, т.е. среди значений домена не могут содержаться множества значений (отношения).

Реляционные базы данных состоят из нескольких таблиц, связь между которыми устанавливается с помощью совпадающих полей. Каждая запись в таблицах идентифицирует один объект. Отношение между объектами определяет отношение между таблицами. Существует 4 типа отношений:

  • Отношение "один-к-одному" (1:1) означает, что каждая запись в одной таблице соответствует только одной записи в другой таблице.
  • Отношение "один-ко-многим" (1 :М) означает, что каждой записи в одной таблице соответствует одна или несколько записей в другой таблице.
  • Отношение "многие-к-одному" (М:1) аналогично рассмотренному ранее типу "один-ко-многим". Тип отношения между объектами зависит от вашей точки зрения.
  • Отношение "многие-ко-многим" (М:М). возникает между двумя таблицами в тех случаях, когда каждой запись в одной таблице соответствует 0, 1, 2 и более записей в другой таблице и наоборот.

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

Пример 5.10 Дана совокупность информационных объектов, отражающих учебный процесс в вузе:

СТУДЕНТ (Номер, Фамилия, Имя, Отчество, Пол, Дата рождения, Группа) СЕССИЯ (Номер, Оценка1, Оценка2, ОценкаЗ, Оценка4, Результат) СТИПЕНДИЯ (Результат, Процент) ПРЕПОДАВАТЕЛЬ (Код преподавателя. Фамилия, Имя, Отчество)

Связь один к одному (1:1) предполагает, что в каждый момент времени одному экземпляру информационного объекта А соответствует не более одного экземпляра информационного объекта В и наоборот. Рисунок 5.5 иллюстрирует указанный тип отношения.

Графическое изображение реального отношения 1:1

Рис. 5.5. Графическое изображение реального отношения 1:1

Пример 5.11 Примером связи 1:1 может служить связь между информационными объектами СТУДЕНТ и СЕССИЯ:

СТУДЕНТ <-> СЕССИЯ Каждый студент имеет определенный набор экзаменационных оценок в сессию.

При связи один ко многим (1:М) одному экземпляру информационного объекта А соответствует 0, 1 или более экземпляров объекта В, но каждый экземпляр объекта В связан не более чем с 1 экземпляром объекта А. Графически данное соответствие имеет вид, представленный на рис. 5.6.

Графическое изображение реального отношения 1:М

Рис. 5.6. Графическое изображение реального отношения 1:М

Пример 5.12 Примером связи 1 :М служит связь между информационными объектами СТИПЕНДИЯ и СЕССИЯ:

СТИПЕНДИЯ <-" СЕССИЯ

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

Связь многие ко многим (М:М) предполагает, что в каждый момент времени одному экземпляру информационного объекта А соответствует 0, 1 или более экземпляров объекта В и наоборот. На рис. 5.7 графически представлено указанное соответствие.

Графическое изображение реального отношения М:М

Рис. 5.7. Графическое изображение реального отношения М:М

Пример 5.13 Примером данного отношения служит связь между информационными объектами СТУДЕНТ и ПРЕПОДАВАТЕЛЬ:

СТУДЕНТ "-" ПРЕПОДАВАТЕЛЬ

Один студент обучается у многих преподавателей, один преподаватель обучает многих студентов.

Простые и составные ключи

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

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

Все остальные ключи отношения называются возможными ключами.

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

База данных о подразделениях и сотрудниках предприятия

Рис. 5.8. База данных о подразделениях и сотрудниках предприятия

Например, связь между отношениями ОТДЕЛ и СОТРУДНИК создается путем копирования первичного ключа "Номер_отдела" из первого отношения во второе. Таким образом:

  • для того, чтобы получить список работников данного подразделения, необходимо из таблицы ОТДЕЛ установить значение атрибута "Номер_отдела", соответствующее данному "Наименованию_отдела" выбрать из таблицы СОТРУДНИК все записи, значение атрибута "Номер_отдела" которых равно полученному на предыдущем шаге.
  • для того, чтобы узнать в каком отделе работает сотрудник, нужно выполнить обратную операцию:
    • определяем "Номер_отдела" из таблицы СОТРУДНИК
    • по полученному значению находим запись в таблице ОТДЕЛ.

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

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

Если же между таблицами необходимо организовать связь "многие-ко-многим", то в Access придется создать дополнительную таблицу пересечения, с помощью которой одна связь будет сведена к двум связям типа "один-ко-многим".

Краткие итоги

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

Дано определение нормализации отношений. Нормализация отношений - формальный аппарат ограничений на формирование отношений. Выделены три нормальные формы отношений и предложен механизм, позволяющий любое отношение преобразовать к третьей нормальной форме.

Реляционные базы данных состоят из нескольких таблиц, связь между которыми устанавливается с помощью совпадающих полей. Каждая запись в таблицах идентифицирует один объект. Отношение между объектами определяет отношение между таблицами. Существует 4 типа отношений:

  • Отношение "один-к-одному" (1:1)означает, что каждая запись в одной таблице соответствует только одной записи в другой таблице.
  • Отношение "один-ко-многим" (1 :М)означает, что каждой записи в одной таблице соответствует одна или несколько записей в другой таблице.
  • Отношение "многие-к-одному" (М:1)аналогично рассмотренному ранее типу. Тип отношения между объектами зависит от вашей точки зрения.
  • Отношение "многие-ко-многим" (М:М).возникает между двумя таблицами в тех случаях, когда:

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

Вопросы для самопроверки

  • Назовите характерные особенности реляционных отношений.
  • На что ориентирована реляционная модель?
  • Какими свойствами обладает реляционная таблица?
  • Понятие информационного объекта.
  • Понятие нормализации отношений.
  • Первая нормальная форма.
  • Вторая нормальная форма.
  • Третья нормальная форма.
  • Понятие простого ключа.
  • Понятие составного ключа.
  • Какие типы связей Вы знаете, охарактеризуйте их.
< Лекция 5 || Лекция 6: 12 || Лекция 7 >
Марианна Капланова
Марианна Капланова
Наталья Гришко
Наталья Гришко
Владислав Пиянков
Владислав Пиянков
Россия, Саяногорск, №3
Михаил Кулаков
Михаил Кулаков
Россия, Саяногорск